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.

Thanks

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.

3 posts were split to a new topic: How is the channel for a downlink/join accept determined?

Thank you. This makes sense.

Does this mean that the initial channel for RX1 is predetermined for the join-request (regional specs) and always the same? And gateways always transmit/receive on all channels?

Hi~
Do you find the code that end devices select the random channels?

Thanks.

That code is part of the LoRaWAN stack. And as there are many implementations you need to look for it in the stack you are using. Make sure there is a decent random function implemented on the hardware or channel usage won’t be random.

Thanks.

This topic was automatically closed after 18 hours. New replies are no longer allowed.