LoRa Server Repeated publish Mac Command to channel-reconfiguration

Hi, Dear brocaar, I’m enabled --enable-uplink-channels flag for LoRa Server.

When the node disabled the ADR feature, LoRa Server will Repeated published Mac-Block of LinkADRReq to change node’s uplink channels, these Mac-blcok was been placed at FRMPayload. I think it’s very terrible, because Server will Repeated published these Mac-Block of LinkADRReq until the node response, but node disabled the ADR feature, means the node doesn’t response for LinkADRReq.

this is my Screenshots of LoRa Server

Please note that the LinkADRReq is used for two purposes:

  1. For ADR (data-rate and TX Power)
  2. For channel-reconfiguration

In case your node has adr: false, LoRa Server won’t change the data-rate and / or TX Power, but it will still do the channel-reconfiguration to make sure the device uses the same channel-plan as the network. I think this is in line with the LoRaWAN specification.

1 Like

emm, I agree with you.

But it is always futile to do the channel-reconfiguration when the node disabled adr. It will spent a lot of node’s power to received useless mac command always.

So why not throw a warning or Error to Manager if the node disabled adr, channel-reconfiguration failed?

These Mac-commands are definitely not useless. E.g. by default on the US band the node must enable 72 channels, where in fact only 8 or 9 channels are used. Even when ADR is turned of, you want to signal to the device that it only must activate these 8 or 9 channels. I believe the same applies for your region.

In the above screenshot, the network-server tries to only activate channel 24-31, as your node will by default have channels 0 - 96 activated. The problem is that your device does not ACK this channel-reconfiguration. Could you find out at the side of your node why this is the case?

1 Like

Nope, My means that if the node disabled adr, than LinkADRReq’s command are useless for this node.

And second in my opinion, node must initialization all channels on region band specification, E.g. on the CN_470_510 band the node must initialization 96 channels. But they don’t must activated(enable) all channels. therefore our node only activated(enable) channel 24-31 used to uplink.

In the above screenshot, my device does not ACK channel-reconfiguration, because i disabled the adr on the device. this is my testing, because LoRa Server repeated publish mac to channel-reconfiguration only if the node disabled adr.

I’m not sure it that is in line with the specification, to reject all LinkADRReq mac-commands. From the LoRaWAN Regional Parameters (for the US band, but the meganism is generic):


What I do agree with you is that the LinkADRReq is confusing in the sense that it is actually performing two operations. Controlling the data-rate and TX Power and re-configuring the channels.

I don’t see a reason why a device should reject these channel-configurations when ADR is turned off. The device should not know which channels to use, I see this as a responsibility of the network to signal to the device once activated. This makes the device portable to any network.

Yes, you’re right, I 'm very agree with you. I’m also not sure it that is in line with the specification, to reject all LinkADRReq mac-commands. But we known node has the right to disabled adr when it’s not at static status. Because

This is inevitable that device reject all LinkADRReq mac-command when the device disabled adr.

So I also agree with you is that why used the LinkADRReq command to re-configuring the channels.