ADR algorithm and configuration

Yes, that is the default ADR algorithm which is implemented.

Also there is an API documentation?

If you mean the ADR plugin feature, have a look at:

and

2 Likes

Hello,

I have a question about ADR.

I have like a dozen OTAA devices hanging on my gateway on a remote rural area. All of them are at dr5 as instructed by the network server. Some of them are loosing uplink data from time-to-time. I have changed the link_margin from 10 to 12dB and re-started the network server to decrease data loss. Unfortunatelly nothing changed in a couple of hours (data is sent uplink every 15 minutes). Then I changed the maximum data-rate in the service profile from dr5 to dr4. This time I have not re-started the network server. How long should I wait until the network server instructs the end devices to change uplink data-rate from dr5 to dr4? Or should I re-start the network server? Or nothing will happen until the devices do a join again?

Hello,

Some update.
After 3 days of operation, all the devices are now at datarate 0. Honestly I don’t understand why because they were perfectly working at datarate 5 and datarate 4 as well. Does anyone undestand why the ADR machine is instructing the devices to go to datarate 0 (consuming more battery), when communication is fine at datarate 5 and 4 as well?

Are you sure this isn’t because of the ADR backoff algorithm at the device-side? ChirpStack will never lower the data-rate of the device (at least not lower than the max DR set in the service-profile).

Hello Orne,

You are absolutelly right, it is the device that lowered the data-rate. Apparently I run into a problem I already solved a couple of years ago… If I understand well, due to the latency of the mobile Internet connection, the gateway is not able to respond in time to the request coming from the device. Which results in the lowering of the data-rate.

Nowadays I am using a Kerlink Wirnet with your gateway-bridge on it and the connection is made through a private APN. Still, it is a very slow connection.

In that case, you could increase the rx1_delay setting in the NS config so that you have a bit more roundtrip margin (e.g. set it to 3 instead of 1 second).

Thanks for your reply. I am already at 7(!) seconds, at 1-6 seconds downlink didn’t really work.

Hi, wouldn’t it be a good feature to have a round trip time per gateway and getting a warning or error in the logs (and/or error event) when the downlink window was missed?

Hi, @brocaar and guys/girls :slight_smile:
Can someone give me real life numbers for setting the DataRate according the received RSSI/SNR?
There is a Table 13 in SX1272 datasheet:
SpreadingFactor | LoRa Demodulator SNR
7 | -7.5 dB
8 | -10 dB
9 | -12.5 dB
10 | -15 dB
11 | -17.5 dB
12 | -20 dB
But I can not find such a table for the RSSI.

Update:
After some research I found that most providers of network servers use the default Semtech ADR algorithm, which uses the SNR only and do not take the RSSI.
Example: Adaptive Data Rate | The Things Network