I’m talking to a custom Things Network server installation using an xDot. The data gets through just fine, but I seem to get a false error message on the ACKs. I’m using the latest development version (3.1.0-rc6-3). Here’s the trace output I see after calling dot->send():
[DEBUG] Send with tx timeout 20000
[INFO] Preparing frame
[TRACE] NA: 26000296
[TRACE] NSK: ed89f457d61d429faef01c4fe03b6244
[TRACE] DSK: 85a4d624c77b09c6ebc49f438083ec3a
[TRACE] Adding MIC to frame
[TRACE] Sending 219 bytes
[TRACE] Number of available channels: 8
[DEBUG] Using channel 7 : 903700000
[INFO] Configure radio for TX
[DEBUG] Session pwr: 20 ant: 3 max: 21
[DEBUG] Radio Power index: 20 output: 19 total: 22
[DEBUG] TX PWR: 20 DR: 3 SF: 7 BW: 0 CR: 1 PL: 8 CRC: 1 IQ: 0
[INFO] Configure radio for TX
[DEBUG] Session pwr: 20 ant: 3 max: 21
[DEBUG] Radio Power index: 20 output: 19 total: 22
[DEBUG] TX PWR: 20 DR: 3 SF: 7 BW: 0 CR: 1 PL: 8 CRC: 1 IQ: 0
[INFO] Rx Window 1
[INFO] RxDone 12 bytes RSSI: -93 dB SNR: 57 cB
[TRACE] Payload: 6096020026201000df62839c
[INFO] Packet for 26000296
[TRACE] Check downlink counter 00000010
[TRACE] Ack received
[TRACE] Empty payload
[INFO] Packet Received : Port: 0 FCnt: 00000010 Size: 0 ACK: 1 DUP: 0
[INFO] Packet RSSI: -93 dB SNR: 57 cB
[ERROR] ACK not received
Despite the error message, the missed ACK callback is not called, and there are no retry attempts. (Those things do happen if I turn off the packet forwarder. For some reason the missed ACK callback is called twice after the final retry attempt, once for RX1 and once for RX2.) The return value from dot->send() is -5 (MDOT_TIMEOUT). Am I configuring something wrong, or could this be a bug in the library?
Thanks,
-Adam