Document

TS006-1.0.0 Firmware Management Protocol

Issue link: https://read.uberflip.com/i/1464685

Contents of this Issue

Navigation

Page 7 of 13

LoRaWAN ® Firmware Management Protocol Specification TS006-1.0.0 ©2022 LoRa Alliance ® Page 8 of 14 The authors reserve the right to change specifications without notice. RebootTime encodes the time at which the reboot SHALL take place: 189 • A value > 0 but < 0xFFFFFFFF encodes the point in time for the reboot. It is 190 expressed in seconds since GPS epoch, i.e., Sunday January the 6th 1980 at 191 midnight, (refer to the LoRaWAN Link Layer Specification [TS001] DeviceTimeReq 192 MAC command). 193 • A value of 0x00000000 instructs the end-device to reboot as soon as possible. 194 • A value of 0xFFFFFFFF instructs the end-device to cancel a currently programmed 195 reboot. 196 197 The end-device SHALL only store a single programmed reboot event, meaning that any 198 received valid DevRebootTimeReq or DevRebootCountdownReq command overwrites a 199 previously received reboot command. 200 201 The behavior of the end-device upon reception of a DevRebootTimeReq command is as 202 follows: 203 • If the RebootTime field has a value of 0x00000000, the end-device SHALL reboot 204 as soon as possible. 205 • If the RebootTime field has a value > 0 but < 0xFFFFFFFF, the behavior is as 206 follows: 207 1. If the end-device knows the current time and if: 208 ▪ The value of the RebootTime field indicates a time in the future, the 209 end-device SHALL reboot at that time. 210 ▪ The value of the RebootTime field indicates a time in the past, the 211 end-device SHALL report an error using the DevRebootTimeAns 212 command with a value for RebootTime of 0x00000000. 213 2. If the end-device does not know the current time but is capable of measuring 214 duration and is activated on a LoRaWAN 1.0.3 or later compatible Network 215 Server, the end-device MAY request the current time from the Network 216 Server – using the DeviceTimeReq command (refer to the LoRaWAN Link 217 Layer Specification [TS001] DeviceTimeReq MAC command) – and proceed 218 as in case (1). 219 3. In all other cases, the end-device SHALL report an error using the 220 DevRebootTimeAns command with a value for RebootTime of 221 0x00000000. 222 • If the RebootTime field has a value of 0xFFFFFFFF, the end-device SHALL cancel 223 a currently programmed reboot and SHALL acknowledge using the 224 DevRebootTimeAns command with a value for RebootTime of 0xFFFFFFFF. 225 • If a valid reboot time is set and a valid firmware upgrade image is present at the end- 226 device, that image SHALL be installed at reboot. 227 228 If the end-device reboots following a DevRebootTimeReq command with a RebootTime 229 value of 0x00000000, it SHALL NOT answer with a DevRebootTimeAns command. 230 231 In all other cases, the end-device SHALL sends a DevRebootTimeAns command back with 232 the following payload: 233 Size (octets) 4 Field RebootTime Table 5: DevRebootTimeAns 234

Articles in this issue

view archives of Document - TS006-1.0.0 Firmware Management Protocol