Hello all,
I’m using the latest version of Chirpstack, version 4.0.0.rc2, and while using it with a Class-A end-device, I observed something different.
Process of events:
- Class-A end-device joined the network and sent the first uplink.
- I queued multiple downlinks, with the same data, both manually and using python api’s.
- First downlink goes to the sensor, sensor reads and it and formulates a response uplink.
- Second uplink(Response) is received by the network and shows the data properly.
- Second downlink(which has already been queued into the downlink) is sent to the sensor and Application server receives a TxACK from the gateway.
- But sensor is rejecting the second downlink because the downlink frame counter has not been incremented.
Application server also follows the same and does not increment the downlink, it stays at 1.
Please see the following screenshots for the same in the Application server.
I have managed to narrow it down to tx_ack.rs file:
But I’m confused as to why mac_version is required for frame increment function. Any pointer to this would be helpful.