Hello. I am working on ACSiP (a LoRa device) and I am trying to join the network using OTAA. Sometimes, the OTAA join is successful, but sometimes the OTAA fails with the error- ‘Activation failed due to the reuse of DevNonce’. I observed that the network is sending the join accept, but my device is not able to receive it and so it sends the join request again and again with the same DevNonce. Could you please help me solve this issue?
The behavior that you have observed from the device is contrary to the LoRaWAN standard. A device is not to re-use the same devNonce on subsequent Join Requests. The NWK server stores previously used devNonce values for each device and will ignore repeated Join Request attempts that maintain the same devNonce value as a means of protecting against a replay attack.
Please find below an excerpt from the LoRaWAN 1.0.1 specification regarding the devNonce:
DevNonce is a random value. For each end-device, the network server keeps track of a certain number of DevNonce values used by the end-device in the past, and ignores join requests with any of these DevNonce values from that end-device.
Note: This mechanism prevents replay attacks by sending previously recorded join-request messages with the intention of disconnecting the respective end-device from the network.