LMIC keeps sending after it receives an ack... The first time


I have implemented this wonderfull library and it works great! Except for some weird behaviour.
When i send a confirmed uplink it will not receive an ack until it has sent 7 times and has reached SF10. This only happens the first time i send though. When i send my packet a second time immediatly after it works on SF7.
I’m super close to the gateway and can see in the log it’s responding with an ack every time an uplink is sent.

The output of the library looks like this:

12:26:28.191 -> EV_TXSTART
12:26:28.191 -> Packet queued
12:26:34.513 -> EV_TXSTART
12:26:40.792 -> EV_TXSTART
12:26:52.377 -> EV_TXSTART
12:27:03.958 -> EV_TXSTART
12:27:25.034 -> EV_TXSTART
12:27:46.128 -> EV_TXSTART
12:27:47.845 -> EV_TXCOMPLETE
12:27:47.845 -> Received ack
12:27:47.845 -> Packet queued   << Second packet works after one try
12:28:28.272 -> EV_TXSTART
12:28:29.968 -> EV_TXCOMPLETE
12:28:30.006 -> Received ack

It looks to me like something is not properly initialized before the first packet is sent.
I get this exact behaviour when i use the ABP example.

Anyone have any idea what might cause this?

Thank you!


It’s probably getting parameters in the first downlink (as a mac message) that makes things work. Maybe a list of additional channels, or a modification to the default downlink datarate. (PS: Always useful to know what region and network you are using.)