The LinkADRReq payload enables unexpected uplink channels


#22

Yes, If you set ENABLE_UPLINK_CHANNELS=0-7,The LoRa Server will send block of maccommands to disable all channels first. And second, LoRa Server send block of maccommands to enable the channels that your select, channels 0-7.

So make sure your sub-band 1 which is channels:0-7. And then make sure your flag ENABLE_UPLINK_CHANNELS are correct. If correct the LoRa server should result in something like this in the logs:

INFO[0000] disabling all channels
INFO[0000] enabling channel block first_channel=0 last_channel=7

And I’m sorry, my english is not good, I worry about are not very good in communicating with you, So this is for your reference only.


#23

Thanks, that makes sense. Although since this is a global configuration setting, it means I am limited to a single uplink channel configuration right? For example, if I wanted to add a second gateway on sub-band 2, this would only be possible with a second network server.


#24

The ENABLE_UPLINK_CHANNELS acts as configuration for your devices, not for your gateways. So when you would have two gateways one listening on 0-7 the other 8-15 you would set this value to 0-15. Note that after changing this configuration, LoRa Server will directly re-configure your devices from 0-7 to 0-15 on the first possible receive-window :slight_smile:


#25

Ok, but let’s say I have one gateway which only has devices on sub-band 1 and another gateway in a different location which only has devices on sub-band 2. In this case 0-15 would not be ideal since any given device can only use the 8 channels available on the gateway.


#26

Yes, in that case you need to setup two LoRa Server instances (as you have practically two different networks with different channel plans). Note that these still can be managed from a single LoRa App Server instance.


#27

This seems like something that could be assigned through the device profile. Would that be possible? Thanks for the information and keep up the great work!


#28

Actually I believe the service or device profile has a channel mask field. The behavior (and format) however is not documented in the backend interfaces specification…


#29

in my .toml:
enabled_uplink_channels=[6,7,8,9,10,11,12,13,32,33,34,35,36,37,38,39,88,89,90,91,92,93,94,95]

but code:
we20190516164045
so,
chMask[c%16] = true,
when c=10,[c%16]==4,
when c=36,[c%16]==4,

chMaskCntl = c / 16
when c=10,chMaskCntl==0,
when c=36,chMaskCntl==2,

Will cover? There is an error?