CubeCell Dev-Board HTCC-AB01 from Heltec - Downlink

If the timestamps in the log are accurate, then I think that the RX1 and RX2 receive windows do not always open at the expected time. A downlink in RX1 should be expected 1 second after Tx Done, and if nothing is received in RX1 then RX2 is expected 2 seconds after Tx Done. So, you probably want the log to show RX starting a bit earlier than the expected time, and any timeout happening a bit after the expected time, to allow the device to detect the downlink.

Above, RX1 opens 1.010 seconds after Tx Done, and RX2 2.025 seconds after Tx Done. Both are too late?

Some other occurrences in the log show RX1 opening a bit before the expected time (good), but RX2 still opening too late. If the times in the log would be accurate, then those differences between different uplinks may be weird too?

Assuming there’s not a downlink for every uplink, you’ll need to compare the device’s log to the uplink/downlink you see in TTN Console to the log in the device, to see if RX1 and RX2 could have been okay. (You may want to reduce the number of transmissions to make it a lot easier to compare the two. Also, note the daily limits though not enforced yet.)

You may want to look into adjusting (enlarging) those receive windows, but I don’t know if the device supports that. Or look into whatever code may be messing with the timing.

(Like mentioned above, for DR5/SF7, you’d be expecting RX1. And RX2 is erroneously using DR0/SF12 rather than DR3/SF9.)

This one is even worse…? A tad too late, but also: how long did it even listen for a possible downlink?

Thank you very much for all your tips. Unfortunately I was not able to get a downlink till now. If I find time I will keep on trying.

I had the same problem with the Heltec AB02S and AB02. The downlink worked after I switched from ABP to OTAA mode.

If you’re using EU868, then this difference may be explained by not configuring the ABP device to use SF9BW125 for RX2. Like for LMIC without the required LMIC.dn2Dr = DR_SF9 for ABP in EU868, downlinks in RX1 would still work. So that would also imply that apparently your uplinks were using SF9 or worse, for which TTN would likely often choose RX2. For OTAA, the device will get the proper settings automatically in the Join Accept.

Likewise, if you’re not using EU868, this difference could be explained by erroneously using LMIC.dn2Dr = DR_SF9. One should NOT use that line for non-EU868 ABP devices.

(But if OTAA works then I’d use OTAA anyway.)

1 Like