Switching device class on the fly

Hello,
while developing a device that rarely needs to change to class b or c for a while, I need to tell the Application Server or Network Server that the device has changed modes. Is there a Mac command or something similar to change the mode directly from the device? If not, I found the possibility to change the mode through the API of the application. But the messages are sent in the old mode until the device rejoins again. Is it necessary to rejoin the device for it to take effect?
Another option would be class b and only sync with the beacon when necessary. But I could not get the class b mode to work. It seems that the gateway is not sending beacons. If every gateway has to be configured to send beacons, class b is less useful than it could be.

The answer can be found in the LoRaWAN specifications available at from the LoRa Alliance website (https://lora-alliance.org/). Look in the Resource Hub. That said, I will try to “shortcut” the answer here for the latest version of the LoRaWAN L2 specification, namely: 1.0.4.

For class B, there is a bit (called ClassB) in the FHDR field of every Data uplink frame that informs the network server the end-device is operating in class B mode. So on The Things Network, configure your end-device to be a class B end-device, and when the end-device “switches to class B mode,” it will set ClassB, thus informing the network server that the end-device is ready to receive class B downlinks. At that point, you can send class B downlinks.

Note: I know this works (on The Things Network) because I have tested it, but as you pointed out, the problem is getting yourself a beacon-capable gateway (i.e., one with GPS receiver). You’ll probably have to obtain (purchase) one of your own.

For class C, under LoRaWAN 1.0.4, there is no way for the end-device to notify the network server that it is “now operating in class C mode.” So switching from class C to class B and back is not feasible. A class C end-device needs to be configured (on The Things Network) as such, and should then operate as such pretty much all of the time. (And after Joining, such an end-device should send an uplink frame to inform the network server that it’s ready to receive class C downlinks.

FYI: The “next” version of the LoRaWAN specification will make it possible for an end-device to notify the network server that it is now operating in class C mode, but that version has not been published (released) yet.

Hope this helps a little, and anyone who reads this should please feel free to correct my mistakes.

2 Likes

Thank you.

FYI: The “next” version of the LoRaWAN specification will make it possible for an end-device to notify the network server that it is now operating in class C mode, but that version has not been published (released) yet.

That is good to know. I was wondering if I missed something in the specification or if it really isn’t a feature yet.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.