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.