Try all uplink channels during OTAA for US915 and AU915 #1568
Replies: 8 comments 11 replies
-
I see that this is not really mentioned / documented: selecting subband 0 will replicate this behaviour. With the note that it selects one random channel from each subband until all subbands are exhausted, after which it does another random selection: this means that it is unlikely to cover all 64+8 channels in one go, but it will most definitely cover all subbands. It is a wish for future me to implement a deterministic selection to cover all channels without random selection. That is likely postponed until I can get my hands on a real 64ch gateway :) |
Beta Was this translation helpful? Give feedback.
-
Great to hear that! I had assumed that behavior wasn’t implemented because, in all the examples, the comments mention that for US915 and AU915, we should use subband = 2. That left me unsure whether the full channel-scan behavior was actually supported, and whether the device correctly handled the LinkADRReq with the channel mask. |
Beta Was this translation helpful? Give feedback.
-
By all means, please try it and see how it behaves (you might want to enable DEBUG_PROTOCOL to see more info). It's a feature that isn't used much and I only try my US915 gateway once every few months as law requires me to limit transmissions to just my room only.. ;) |
Beta Was this translation helpful? Give feedback.
-
Absolutely. The question is, is that a useful function as almost all the gateways in the world are 8 channel so trying 64 channels upon deployment gives the device a much longer join time. Most LNS's suggest a sub-set, hence the channel mask.
Which ones are those? And can't they be configured before deployment?
Which ones are those? Using unknown networks has so many downsides - like how often they are available and/or move sub-band (which would render all the devices joined via it offline, so not likely to be a thing). If you are hoping that LW networks are like public WiFi, then that's not the case. But the age old question is the why. What is it you want to achieve? Do you want to run 8 low cost gateways in parallel or 4 expensive gateways in parallel (those that can do 16 channels)? Or really just unwrap a device, register it's credentials on an LNS and then send it out in to the world hoping that the gateway that hears it is has some sort of connection back to the LNS it is registered on? Because if you've registered it on an LNS, like you have to, then you know what channel plans are in use ... |
Beta Was this translation helpful? Give feedback.
-
Not an identified bug or deficit at this stage given that the stack passes all pre-certification tests, so converted to issue. |
Beta Was this translation helpful? Give feedback.
-
If you're developing an off-the-shelf commercial product intended to operate in LoRaWAN regions like AU915 or US915, it's critical that the device can work out-of-the-box with any gateway deployment without requiring prior knowledge of which subband is in use. This is precisely why I believe the device should attempt to join across all subbands. Since the device initially has no information about which subband is active, scanning all available join channels becomes part of the discovery process. Once the join succeeds, the network server provides the operational channel configuration via the LinkADRReq MAC command with the appropriate channel mask. Relying on a fixed subband for a commercial product introduces limitations: either we must provide the end user with a way to configure the subband, or we risk situations where the device is unable to join simply because the user's gateway is listening on a different subband (e.g., subband 3 instead of 2). By allowing the device to scan all subbands during join, we ensure maximum compatibility and eliminate the need for manual configuration, something especially important when targeting large-scale or consumer deployments. |
Beta Was this translation helpful? Give feedback.
-
And finally, the official LoRaWAN Regional Parameters document explicitly requires this behavior. |
Beta Was this translation helpful? Give feedback.
-
I guess you must drive a petrol/diesel/electric with regenerative breaking with a hydrogen fuel cell to cover all eventualities.* About the only time I'd think it may be critical is if I were selling devices to consumers. Which with LW would be a deep dark well of despair that even Dante didn't think of. Pretty much every device comes pre-configured to a common environment for the region but can be re-configured via serial port or BLE. All that said, even I could change the code to scan all the channels if I had the time, so if you want to submit a PR ... OR you could use LoRaMac-node OR you could use SWL2001 - both of which have many codez to implement various schemes of defaults vs practical reality.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
For LoRaWAN regions US915 and AU915, the device should attempt OTAA joins by rotating through all 64 (125 kHz) uplink channels (0–63) using DR0 and all 8 (500 kHz) uplink channels using DR4, as specified in the LoRaWAN Regional Parameters document. This is especially important for devices with no preconfigured subband, or when deploying on networks with unknown or dynamic subband configurations.
According to RP 1.0.2: For rapid network acquisition in mixed gateway channel plan environments, the device SHOULD follow a random channel selection sequence which efficiently probes the octet groups of eight 125 kHz channels followed by probing one 500 kHz channel each pass. Each consecutive pass SHOULD NOT select a channel that was used in a previous pass, until a Join-request is transmitted on every channel, after which the entire process can restart.
After a successful join the device should wait for LinkADRReq MAC commands from the network server to update the channel mask (i.e., reduce active uplink channels to the selected subband or custom mask).
Is that possible with RadioLib?
Beta Was this translation helpful? Give feedback.
All reactions