cancel
Showing results for 
Search instead for 
Did you mean: 

LoRa Wio E5 ADR Not Working for Join Attempts

user_01
Associate II

I’m working with the LoRa Wio E5 module, using this repository Seeed-LoRa-E5 by danak6jq

I’ve encountered an issue where ADR works perfectly for normal data transmission after joining the network, but it seems to have no effect during the join process.

  • The join attempts always use the data rate (DR) set by the macro LORAWAN_DEFAULT_DATA_RATE in the file LoRaWAN/App/lora_app.h

  • From my understanding, if ADR is enabled (LORAWAN_ADR_STATE set to LORAMAC_HANDLER_ADR_ON), this macro shouldn’t even be used, yet the join process seems to ignore ADR and always sticks to the default DR.

Additionally, I noticed that to reflect changes made to the LORAWAN_ADR_STATE macro in lora_app.h, I had to manually modify the AdrEnable member inside the LmhpComplianceParams_t structure, which is located in:

Middlewares/Third_Party/LoRaWAN/LmHandler/LmHandler.c

static LmhpComplianceParams_t LmhpComplianceParams =
{
    .AdrEnabled = LORAMAC_HANDLER_ADR_ON,  // Had to change this manually
    .DutyCycleEnabled = true,
    .StopPeripherals = NULL,
    .StartPeripherals = NULL,
};

This makes me wonder if the ADR state set in lora_app.h isn’t being propagated correctly.

Is there a way to make ADR control the data rate during the join process as well, or is the join process intentionally fixed at the default DR? Any guidance would be greatly appreciated!

Thanks in advance.

 

0 REPLIES 0