No more LoRa packet reception after updating firmware
I just ran the update tool on my LoPy's. But now I can't receive anymore LoRa packets.
To be sure that there is no issue with my code (I didn't changed anything anyway) I also tried the LoRa MAC Nano Gateway example code. The Node sends the data, but the Gateway didn't receive anything. Just before the firmware update everything worked fine :(
What can I do?
Thank you :)
Daniel is currently out on a business trip so is quite busy. I will remind him about this issue.
Few days ago I created GitHub issue because I am facing the same problem in my project:
Daniel promised to take a look at it asap, however no solution was provided yet.
I just want to tell you that I downgraded all devices to 1.9.2.b2. Now everything works fine again. I don't know why the 1.10.x doesn't work. Anyway... 1.9.2 is fine :)
Thanks for your help!
Ok so after investigating the example from the docs I also had issues with it. Adding a small delay (50ms) onto the end of the while loop in both scripts seems to fix the issue. The other issue is the fact that the nodes wait indefinitely for an ACK, if they miss it the code gets stuck in that loop since it never resends the packet. I would advise adding in a counter to break out of the loop if the ACK hasn't been seen after too many loops. I will update the code on the docs with these changes.
Thanks for your detailed reply. I will look into this specific example now to see if I can get it working with my LoPy modules. I will get back to you later today.
I use the 1.10.1.b1 on both the devices. To be sure I updated both devices again in the morning comparing the firmware version in the pycom updater.
In the last hours I tried different source codes to search for the problem with the following observation:
- 5.3.1 LoRa-MAC (Raw LoRa): This LoPy Example works fine. I set the frequency to 869500000 Hz for the use of the European frequency bands. I can see on both sides the serial output "Hello".
- 5.3.5 LoPy to LoPy: This example works fine, too. I complemented this example code by serial outputs to be notified on successful reception and set the frequency to 869500000 Hz
- 5.3.4 LoRa Nano Gateway (Raw LoRa): This LoRa example code doesn't work. I just copy and pasted it and set the frequency to 869500000 Hz. The gateway doesn't receive any data. To be more specific. The condition "if (len(recv_pkg) > 2):" seems to be never true...
I don't see any major difference between the example codes above. So why isn't the 5.3.4 code working? It would be great if you can check the 5.3.4 LoRa Nano Gateway example code with your devices.
Some word of how the problems started: I worked with a self written code on my LoPy's. I don't know which firmware they had used but everything was fine. And after updating both LoPy's on 1.10.1.b1 the same code didn't worked anymore. I didn't changed anything. And since this update the 5.3.4 LoRa Nano Gateway has stopped working, too...
Thank you very much for your help!
Can you please verify you are using the same firmware on both devices, and are you setting them to the same frequencies which are appropriate for your region? I tried the raw LoRa lopy to lopy example yesterday with success.