Hello all, and thank you in advance for your attention.
I have just set up my local Chirpstack LoRa network, and found that I am not able to understand or resolve this problem: the web app does not show downlink traffic; the queue generated messages do never get sent to my device; the MQTT generated downlink messages get queued but are not forwarded to my device. The device can join and, if using confirmed uplinks, gets the first ack but then no more. Apart from these (join accept and first ack to confirmed uplink message) the device does not receive anything. Uplink traffic is received by the application without problems.
I am working with a TTGO LoRa board, programed using the ttn-esp32 library for the Espressif IDF. The same program on the device, with the same GW (Sandbox Electronics LoRaGo PORT) connected to The Things Network, is working perfectly.
Any hint would be very welcome.
Just to add more info, I have tested a 3rd party device and firmware, with exactly the same results. No downlink message registerded, but the join accept and the first ack arrive to the device. Nothing else.
The link above points to the device and program I have used. It works fine with The Things Network, but the downlink traffic fails in ChirpStack.
I have been debugging my device and I am pretty sure that the problem is related to sequence numbers. The end device firmware does not accept downlink messages as valid as the sequence numbers in them are not the expected ones.
I wonder if this behaviour is related to the absence of downlink messages in the LoRaWAN frames lists, both Gateway and device, on the Chirpstack web app. If this is the case, it may be related to some misconfigration of my environment. If not, I really don’t know how to go on with ChirpStack.
Thank you, shaper, for your reply. Yes, the appSKey is set, I can see it both in the chirpstark device activation screen and in the debug info of my application.
As I have been working on the issue I can provide more information:
I have tested three devices up to now, one using ttn-esp32 library, other using the arduino-lmic library by mcci-catena and other with LoRAWAn software developped by Seeed studio. To the same results.
I have tested my own chirpstack installation and Semtech’s public LoRa Development Portal, to the same results.
In every case, I only get the first downlink:
I (41126) lmic: 2548060 (40768 ms) - scan_mac_cmds_link_adr: datum=0x5, opmode=888)
I (41166) lmic: 2549699 (40795 ms) - piggyback mac message: opmode=800
These two debug strings from the ttn_esp32 library (based on arduino-lmic) are related to this downlink
I have traced the library and the problem is related to sequence numbers. I am still working on it so I can provide more details if required. And of course, I will very much welcome any solution.
I get downlinks, but they are not accepted by the end device:
I (55335) lmic: 3436420 (54982 ms) - decodeFrame: Retransmit confimed discarded: datum=0x60, opmode=888)
When I said “I only get the first downlink” I should have said the device only accepts as correct the first downlink.