Under what scenario will nodes be enabled with 64 channels

Under normal circumstances, our node enables 8 channels, but it is found that 64 channels are enabled some times. In what scenario will chirpstack issue the MAC command to enable 64 channels.

The following is the configuration of network server:

[postgresql]
dsn="postgres://chirpstack_ns:chirpstack_ns@postgresql/chirpstack_ns?sslmode=disable"

[redis]
url="redis://redis:6379"

[network_server]
net_id="000000"

[network_server.band]
name="AU915"

[network_server.network_settings]
installation_margin=15
rx2_dr=9
enabled_uplink_channels=[0,1,2,3,4,5,6,7]

[network_server.gateway.backend.mqtt]
server="tcp://mosquitto:1883"

[join_server.default]
server="http://chirpstack-application-server:8003"

There are two scenarios in which case devices will use 64 (+8) channels (assuming you have configured a sub-set in the enabled_uplink_channels).

During activation

At join time, the device does not know which sub-band is implemented by the network. Therefore it will perform the join-request on one of the 64 channels (randomized). In case of a LoRaWAN 1.0.3 device, it will receive the channel-mask as part of the join-accept, in which case the device immediately adjusts to the enabled_uplink_channels.

After activation

In case of a LoRaWAN 1.0.2 (or lower) device, it will still have all (64) channels enabled after processing the join-accept. You will see packet-loss during the first uplinks. As soon as the NS received an uplink, it will send a LinkADRReq with the proper channel-mask, after which the device adjusts to the enabled_uplink_channels.

Thank you for your reply,
Node can receive a LinkADRReq with the proper channel-mask. However, this LinkADRReq only includes the first 16 channels (CHANNEL MASK: 00FF), and the remaining 48 channels are still enabled.

Referring LoRaWAN® Regional Parameters 1.0.3 file, LNS should send the LinkADRReq command 5 times (chmaskcntl: 0 ~ 4) to configure all 64 + 8 channels.

Please note that by default, all channels are enabled so no channel-mask is required. If you want to re-configure your device to all channels (after disabling some), then this can also be done using a single LinkADRReq, please see ChMaskCntl 8.

Hello Brocaar,
I hope you are doing well, we have also encountered a similar situation, and sincerely hope you can give us more help :slight_smile:

The node defaults to 64ch registration. After using the open source NS to accept the registration, the enabled channel is:

enabled_uplink_channels=[0,1,2,3,4,5,6,7], but after the node device has been running for a period of time, the uplink fcnt error appears. Continuously, it is finally found that the node device is opened with 64 channels, which is not what we want to see, because our gateway only supports 8 channels, so we will miss a lot of fcnt.

Now our question is: if the node device has been installed in the user’s home, is there still a way for NS to change the channel (8channel) back?

LoRaWAN protocol version: LW 1.0.4
NS version: application-server:3.17
network-server:3.16
gateway-bridge:3.14

Please keep an eye on this topic, as this is probably related: Device losing channel mask / how to resend chMask - #3 by np0.