Issue:
LoRaWAN Node will not receive downlink message from AWS-IoT
Setup:
Gateway Rak7258
Node Rak4631
Use basic arduino app LoRaWAN_OTAA_ABP.ino
LoRaWAN Server:
AWS-IoT
Details:
Gateway is able to connect and authenticate with AWS-IoT
Node is present in AWS-IoT, and appers in the aws-iot list as a LPWAN-device.
Node is able to send telemetry messages to AWS-IoT.
We can view Node’s uplink messages in both AWS-IoT, and Gateway logs.
When I go to AWS-IoT LPWAN device Traffic tab (in AWS-IoT), I can click a button to “Queue a Downlink Message”. I fill in the FPort as “2”, the message as “QTEK”(which is base64 message-“A1” encoded as Base64), and chose the Acknowledge checkbox.
I can see the message listed in the queue summary on the AWS-IoT “Traffic” screen, but it NEVER is sent to my Node, although the Node continues to successfully send its telemetry into AWS-IoT.
My Node operates in Class-A, is situated right next to my Gateway.
Is there some additional setting I need to make, in order to enable the Node to receive? I have not made any changes to the lorawan_rx_handler() callback.
There is no additional setting required to receive downlinks.
I tested with your message, same and different fPort and it works.
But I do not have access to an AWS-IoT LNS. I can only test with Chirpstack and TTN.
This is from the “unchanged” example code (just adjusted DevEUI, AppKey and LoRaWAN region):
Thank you Beegee. Your response adds a lot of confidence that my Node is coded correctly.
AWS LNS logs? No. Amazon is totally silent. My message remains untouched in the Downlink message queue. Amazon documentation states that the AWS LNS should automatically attempt to send the next downlink message from the Queue, as soon as it receives the next message from my Node.
QUESTION I have a theory. I could be possible that AWS-IoT is working properly, and attempting to send, but due to network latency the Node’s Class-A 1.0-sec Receive-window has already expired when this downlink message eventually propagates through these latencies??
Is there a way to extend the Node’s Receive Window from 1.0-sec to maybe 3-sec?
UPDATE–
Gateqay logs? Yes, I just noticed data coming from AWS-IoT. (Sample below). I remind you that my Node is placed within a meter of my Gateway. For some reason, the Node is missing these downlink messages.
I don’t recommend changing the RX window timings. It is very rare that this is required.
And on the node side, there are two RX windows, one of them should receive the packet.
Can you place the node farther away from the gateway. Only 1 m distance can lead to an over-saturation on the node antenna, which can lead to a damaged packet that is ignored.