Store/Restore Join Credentials

My LoRaWAN sensor device powers down completely, except for the hardware RTC, after each data transmission. The RTC interrupt pin controls the PMIC enable pin so that when there is an RTC alarm match, the PMIC is enabled and my device powers up, collects and transmits data and then clears the RTC interrupt to disable the PMIC. It works well. However, it needs to join the network every time it powers up.

My design includes an EEPROM and I would like to store the necessary join information and restore that info on powerup so that I can send my data without first joining. I have other checks in mind for when to rejoin the network. Is it sufficient to store/restore only the Network Session Key and the Application Session Key to accomplish this?


1 Like

I think it is possible.

Please note that if on each uplink you don’t increment the frame-counters, that ChirpStack will reject the uplinks because if validates if frame-counters have been incremented.

As well, the context between the device and the network-server might get out of sync. For example if ChirpStack re-configures the device from RX1Delay 1 sec to 3 secs and you don’t store this as well, then the device might revert back to 1 sec, but ChirpStack will send downlinks with a 3 secs delay, thus the device will never be able to receive any downlinks.

1 Like