RAK4270 Returns Error after a few days

Issue:
RAK4270 works right after a power on but it join fails after a few days.
Setup:
RAK4270 + ESP32

Uplink period :
every 15 minutes

Gateway :
RAK7289

Server:
chirpstack

Details:

Hi, I’m suffering the join problem.
I’ve encountered very strange issue. that is, RAK4270 module not joins after a few days.

My ESP32 sends at command following sequence:

at+set_config=device:sleep:0 // WakeUp
at+set_config=device:restart // restart
at+set_config=lora:dev_addr:bc8f0c8b // to decrease DevNonce Error
at+join // join
at+send=lora:1:000000003c8b43a0 // send
at+set_config=device:sleep:0 // sleep

It works perfect when i connect or load power with OK response. but a few days later, It returns ERROR:80 to the command “at+join”.

what more weird is, if i disconnect power and connect it again, it works perfect. and raises ERROR:80 after a few days again…

I’m really curious about what causes this issue.

so i connected two RAK4270s to Raspberry pi and collected logs. it turns out that the RAK4270 doesn’t responce for 10 seconds to the “at+join”. then the problem begins…I don’t know how long it will send ERROR:80 but this is very important problem…


It seems not a problem of gateway / network.

I’m guessing the command provokes the error.

“at+set_config=lora:dev_addr:bc8f0c8”,
“at+set_config=device:restart”

Welcome to RAK forum @JieunLee ,

During the joining error, have you seen any data on the gateway or network server side? Like is it transmitting? Is there a downlink attempt from the network server?

Few questions I have in mind:

  1. What is the LoRaWAN version of your network server? I do not understand the link between device_address and DevNonce related error.
  2. When you wake up, you do not need to join again if you are already connected to the network. Is your 15-min interval also joins every 15 minutes?
  3. What is the version of your RAK4270.
  4. Do you have other RAK4270 modules/boards that behave the same?

Thank you for Reply.

After the RAK4270 occurs ERROR:80, nothing appears in gateway(LoRa Packet Logger) and chirpstack network server.

RAK4270 tries to join but sometimes Gateway/Network Server refuses with error : “DevNonce has already been used”.

if this error happens a lot, the RAK4270 tends to stop working.

from now, RAK4270 always returns ERROR:80 to join command and Gateway does not left any log until i restart the RAK4270 physically(disconnect and connect power)

  1. I’m using Chirpstack V4, like above picture, the LoRaWAN version is 1.0.2 rev.B, Class A.
    currently, my RAK4270 fails to join about once in 10 times. due to “DevNonce has already been used”.

  2. Yes, I did it because it seems no problem.

  3. the version of RAK4270 is 3.0.0.18

  4. I’m using about 30 RAK4270 at my site. they all works same. most of them deads due to already described problem…for your inquiry, i could get insightful inference.


a. maybe this could be a problem related to “DevNonce problem”
b. or, an attempt to join regardless of a state whether the device is connected.
c. i did not matched the DevEUI and appEUI.
d. (additional weird thing) all of RAK4270 sends data with DR5.

may i ask what makes the problem?

Hi @JieunLee ,

I have no KR920 setup to do test at the moment. However, I have some insights that might be of help.

  1. Are you sure on the firmware version? Maybe you mean 3.3.0.18?

  2. Is the DevNonce error already happened immediately when you received the modules? I mean when it was freshly shipped? Or it happened after a while when you already deployed some modules and configured to send 15 min interval?

  3. (Related to #2), DevNonce in LoRaWAN v.1.0.2 are not chronological and randomly generated AFAIK. This is needed in joining process and must not be reused. If your device always rejoining every 15mins, could there be a chance it reuse a DevNonce? This is just a thought. I am not sure. Maybe you can try to create a new application and try to onboard a new RAK4270 module and test if you will have a DevNonce error.

  4. Why do you think DR5 is strange? As I look at the standard, it seems to be a valid DR value.

  5. Same or different values of DevEUI and AppEUI does not matter :+1:

  1. yes, as you said, the firmware version is 3.3.0.18.

  2. i think there’s no correlation DevNonce error and device life. it happened both of them occasionally.

  3. yes that’s really strange thing. all of uplink logic is consist of “sleep”, “join”, “send”. i don’t tried to use “used DevNonce” on purpose. more strange thing is, after a few refuse from gateway with DevNonce Error, then RAK4270 does not even try to send Join Request!

I’d like to tell more clue concerning the question 1, I’m testing two RAK4270s and another isolated RAK7289 gateway. they joins and sends sleeps every one minute by raspberry pi(i wrote the script that sends at command and left log.) it works for a days but they made the same problem.