[CLOSED]TimeReq not working anymore in 1.2.0 (?)

Hi,
I’ve updated the arduino board package from version 1.0.0 to the latest 1.2.0 and now I cannot get the time from my ChirpStack.io box anymore…

did some debug and every time I get the time message back I can see in LoRaWAN_APP.c that the time is not updated in Mlme_Confirm(…)

Specifically I do see the “MLME_DEVICE_TIME” switch case but then the loramac status is 1 (instead of 0) and there is no time update.

I’m not sure what can be the issue … I did not change anything on the ChirpStack.io gateway and the time message is sent as before …

any idea on how to debug this? is the TimeReq still working in 1.2.0?

If I revert back to board package 1.0.0 everything works fine.

thanks

btw: I tried also the reference example LoRaWan_TimeReq (which works just fine with board package v.1.0.0) but I have the same behavior …

joins over OTA with no problem, but then there is no call to the time update function due to the Mlme status being not OK.

anyone who can run the example to double check for me please?
:slight_smile:

thanks a lot

Ok, so after digging into details I think I’ve found the issue which is actually a bug in board package version 1.2.0 (as released in Jan 11, 2021)

But… the good news is that this issue was fixed on feb 23 by the commit:

by adding this fix to the library everything works fine.

===
While I was making my head around this bug I realized that there is an Arduino board package version 1.2.0 on Jan 11 and a “virtual” 1.2.1 the day after which fixes AT commands.

But … the 1.2.1 did not make it into the arduino manifest, is this expected??

===
And this brings me to the most important question:

How do you guys work with the Arduino IDE while pulling from master/git ??

The folder structure is a little different from what goes into the hardware/CubrCell folder an I cannot simply make a symlink and do a “git pull” from the main repo…

I really would like to understand what is the proper workflow so that I can get all the fixes without searching for it and manually patch my Arduino core libs.

thanks a lot for your help in advance!!

and I just realized that just patching the LoRaMac_ClassB file is not enough.

now I get the time … but once I apply the EPOCH to the sytime the date I get from timeUTC=now() is all wrong … I suppose I need to pull the WHOLE commit (78 files !!! not a quick patch)

to any gentlemen on the forum, please give me some directions in how to work out of the git repo mainline using Arduino IDE because I’m a little stuck on this … I do need an accurate time on my sensor (and it was working just fine with the old 1.0.0 … )

thanks a lot

sorry to post again on this … but It seems to me that with arduino board package v.1.2.0 we cannot process ACK anymore.

when I send a “confirmed” series of messages to my ChirpStack.io gateway I see that we do not get ACK in reply and if I look to the log console I see the error that FCN did not increment correclty.

is this still related to the same long (78 files) commit in github mainline?

because if that is the case It seems to me that we need a new board package for arduino to at least pack these basic functions…

note that I’m using “known working examples”, I just updated in Arduino from release 1.0.0 to 1.2.0 and all sort of problems came up when using CONFIRMED messages and TimeReq features.

please help … I’m completely lost now, almost ready to revert back to 1.0.0
:frowning:

thanks

Hi last update on this issue.

I did install (as in RTM) everything from github (removed the library 1.2.0 from arduino) and now the system time is correct but it seems that the ADR feature is broken since the TimeReq example does not work properly.

I will close this ticket and open a specific one.