Uplink channel selection in OTAA

Hello everyone,
I am fairly new to this technology. I have some confusions

  1. Under OTAA, how does the end device select the channel on which it can send data?
  2. The LoRaWAN specifications say that the join_accept message can contain an optional CF list which contains the available channels. Is there a criterion by which the end device selects the channel from the list or does it selects randomly?
  3. What does channel hopping mean? Does the end device reconfigure the uplink channel after a specific interval or does the channel stays the same for the entire operation of the end device?

I couldn’t find answers to these. Any kind of help will be appreciated. Thanks

  1. Random from the list of channels.
  2. Randomly
  3. Each transmission uses a new randomly selected channel.
1 Like

Thanks so much for clearing my doubt.
Correct me if I am wrong regarding the CF_list:
If we don’t use CF_list then the end device can use the whole range of region specific channel frequencies to randomly choose from but if we use CF_list we can limit the frequencies.


That depends on the region. For some regions the initial list is a subset of the available channels. For other regions the initial list contains more channels.
Example of the first would be EU868 with just 3 default channels. US915 with default 64 channels would be an example of the second.

Awesome, that answers my questions regarding the channel selection. Really appreciate your time and help.

One more question popped up in my mind.
Can we force few of the end devices to transmit on just one specific channel?

That depends on the software used on a node. However if you do the device is not LoRaWAN compliant as the specification explicitly states a random channel should be used for the next transmission. Choosing the same channel for every transmission fails the random requirement.