Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  •  Sylvain Prost (Unlicensed) TODO
  •  https://thethingsindustries.atlassian.net/projects/TTS/queues/custom/1/TTS-85

If the device wakes up from deep-sleep every 15 minutes does a join, it is indeed not strange that this happens. Every join must use a unique random 2-byte nonce, so if a device joins very often, it will eventually become more and more difficult to randomly select a nonce that has not been used before.

Instead, you should program your device such that it joins once (for example, triggered by a press-and-hold "reset") and stores the session parameters (with a `mac save` if your device has a RN2483 module). After this, you don't have to re-join every time the device wakes up, which will prevent your device from running out of unique join nonces.

In the meantime, you could try changing the AppKey in the console, and then change it back to the old value. This will clear the list of used nonces, and should allow your device to join again.

First of all, this is not how LoRaWAN devices should operate.

Second, I see about 93 used app and dev nonces now. Is this consistent with how many there should be based on the retry count? I'm looking at device 00000817.

Are you wiping the whole end device state? I.e. could the device be refusing the join accept based on a used app nonce?

Also, do you see the gateway emitting the join accept in the first place?

Finally, can you confirm that RX2 DR is 5 (SF12) and Eric, can you confirm that this is 5 on this private network as well? Otherwise the success rate may be related to the RX1/RX2 decision

Problem

Device send a join request but it is never accepted or randomly fails.

Solution

Two reasons:

...

Problem

Device sends a join request but it is never accepted or randomly fails.

Reasons

  1. Incorrect credentials and keys
  2. Downlink issue
  3. There is a slow connection from the server to the gateway, as a result the join accept message is sent too late (this can happen when a gateway uses 3G as a backhaul)
  4. Overused App nonce. App nonces are unique identifiers used during the join request and , if the the device perform join request too oftenperforms too many join requests, it will eventually run out of nonces. If your device join joins the network with a high frequency, you need to review your device join policy as it is not LoRaWAN compliant. For example, should the device be in deep sleep during between each message it doesn't have to rejoin once it can do the join request once and wakes up as it can store the network keys ("mac save" for RN2438 module). 

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@144ab
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "join" , "join-request" ) and type = "page" and space = "TKB"
labelsjoin join-request

...