Is there any way to check if my custom ADR lib is working?

Hello

Using this tutorial: ADR plugin creation example - #2 by brocaar
I have created my custom ADR lib, compiled it as separate file, then put into chirpstack server and made change in network-server-config.toml in “adr_plugin=” line.
Chirpstack network server was restarted and…?
How to check that my custom ADR lib was successfully loaded and is in use?

Hello Mariusz,
Hope you are fine. can you please tell me the steps of how you created and added the custom ADR. I am a beginner and m not familiar with go. Your help will be appreciated.

Don’t forget to select the ADR algorithm in the device-profile :slight_smile:

We are using Network Server version EU868 @ 3.9.0.
Is it possible to NOT upgrade it to current version and still be able to see what ADR is running?

All fight is only for one reason: Chirpstack is setting too low TX power for nodes and they loose connection.

ADR plugins were added in v3.12: Changelog - ChirpStack open-source LoRaWAN<sup>®</sup> Network Server.

You can tweak this with the installation_margin setting:

  # LoRaWAN network related settings.
  [network_server.network_settings]
  # Installation margin (dB) used by the ADR engine.
  #
  # A higher number means that the network-server will keep more margin,
  # resulting in a lower data-rate but decreasing the chance that the
  # device gets disconnected because it is unable to reach one of the
  # surrounded gateways.
  installation_margin=10

Hello,

Modifying “installation_margin” is bad solution. We have few specific locations where we have problems with Lora. With high installation_margin Chirpstack is keeping devices at low DR, transmissions are long and are interrupted by other transmissions. We found solution that sending message as fast as possible (at DR5) with high power works very well. We have prepared custom ADR lib and now we are fighting to run it in Chirpstack.

For Lora modules RN2483 Chirpstack tries to set module transmit power in range 0…7 but for 868MHz this module requires range 1…5. Our ADR lib also fixes that problem.