How to debug downlink messages

I’m using lora end devices I haven’t programmed myself.
I’m successfully receiving uplink messages from the device. But I’m unable to get the device to receive and react to downlink messages. Also ADR is seemingly not working.

The manufacturer has stated that only RX1 will work with this device. That shouldn’t be the problem I assume?

My question basically: What are the possibilities to debug downlink? Starting with more detailed logging of downlink behavior beyond the device application data page on the ttn console? I can see here only the payload I sent, but no metadata whatsoever.

Any help appreciated.

Well, it indicates it’s not really LoRaWAN-compliant? Not a good start, I’d say. Also, for EU868 TTN might very well use RX2 when your node uses a low data rate (like probable for SF10 and above for EU868); I don’t know for the other regions.

To get you started:

  • If the node uses OTAA, then you know that downlinks work as otherwise the OTAA Join Accept would not have been received. And then your node has also received the correct network settings.

  • If it uses ABP, then the node needs to know about TTN’s frequency plan; https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html

  • Clicking on an item in TTN Console might reveal more details:

    • If the uplink was received by multiple gateways, then TTN might select someone else’s gateway for the downlink (and the OTAA Join Accept).

    • If the uplink was (erroneously) received on multiple frequencies, then TTN might use the wrong one for the downlink. Increase the distance between your node and gateway.

    • The node’s Data page won’t tell you which gateway has been commanded to send the downlink.

    • If you have access to the gateway in TTN Console, then make sure to look at its Traffic page as well.

  • You can use MQTT to get details about a downlink:

  • ADR needs to be enabled by the node; if you have access to the gateway’s traffic, then pasting an uplink into an online LoRaWAN decoder can tell you if the node wants ADR to start with. But even if enabled, TTN might not send ADR downlinks soon. In TTN Console, the trace part of the entries in a gateway’s Traffic page might show details about ADR, and so do the MQTT downlink events.

  • Make sure you use a port between 1 and 223. (Port 0 is reserved for MAC commands.)

  • If this is about a single-channel test gateway then just get a proper gateway.

2 Likes

Many thanks for this very informative answer. Much appreciated!

I’m going to try to flash the device with a different firmware that should enable RX2 again… we shall see.