Hello,
We’re troubleshooting a persistent downlink problem in a remote deployment. Uplinks (JoinRequest) are received reliably, but downlinks (JoinAccept) appear to be scheduled/sent by the gateway and network server, yet many end devices never receive them and remain stuck in a join loop.
Setup
- Region: AU915, Class A, OTAA
- Gateway: RAK7289v2 (ChirpStack Gateway OS 4.9.0)
- Network Server: ChirpStack LNS running in Docker
- End devices: Dragino PS-LB-NA
Deployment includes a “border gateway” plus a two 1-hop relay gateways, but we also reproduced the issue in non-mesh mode.
Symptoms / impact
- ~70 of 151 devices affected (Remainder are working flawlessly).
- Devices repeatedly transmit JoinRequest; gateway/LNS processes them, but devices never complete OTAA.
- Rebooting gateway/services doesn’t resolve it.
One problematic device showed no incoming downlinks on serial while on-site; later it successfully joined when tested around 100m away from teh oringla location.
What we’ve checked / tried
Signal strength doesn’t explain it: failing devices include some with relatively strong RSSI/SNR.
Duplicate uplinks / dedup hypothesis tested: we suspected JoinRequests being heard by two gateways and JoinAccept being sent by the “wrong” one. We turned mesh/relay off overnight (border gateway only) and the issue persisted, so this seems unlikely.
TX path sanity check: the relay gateway receives an extremely strong signal (≈-30 dBm @ 4km (almost too strong)) from the border gateway, suggesting the border gateway can transmit (at least in that link).
Gateway logs show downlink scheduling/acks: gateway receives downlink commands and returns ACK items like “OK/IGNORED” (and sometimes “COLLISION_PACKET/OK”), and the concentrator logs show “Scheduled packet for TX”.
Open questions
Are there known RAK7289v2 / SX1302 failure modes where downlinks can be “scheduled” but not actually transmitted or are transmitted with poor signal?
Could this be timing/clock drift (progressively worsening over time), GPS/PPS issues, or an AU915 RX1/RX2 / channel-mask mismatch that only affects downlinks/joins on some devices?
We can share gateway logs and JoinRequest/JoinAccept examples if helpful.
Thank you so much for your help :-)