OTA firmware upgrade process for 802.15.4 Image Block request
Digi XBee3® 802.15.4 RF Module User Guide
174
Frame data fields Offset Example Comments
Data
payload
ZCL
frame
header
Frame control 23 0x09
Transaction
sequence
number
24 0x01
ZCL
payload
Command ID 25 0x02 Query Next Image Response
Status 26 0x00 Success = 0x00
No Image Available = 0x98
Not Authorized = 0x7E
Manufacturer
ID
LSB
27
0x1E
MSB
28
0x10
Image type LSB
29
0x00
MSB
30
0x00
Firmware
version
LSB
31
0x01 Firmware version of the new update file in
Little Endian. In this example, the version is
0x1001
32 0x10
33 0x00
MSB
34
0x00
Image Size LSB
35
0x2E
36 0xF3
37 0x02
MSB
38
0x00
Checksum 39 0xE5
Image Block request
The Client generates Image Block requests to request the server for bytes of the OTA firmware
image. Each image block is 64 byte long. The client also sends the file offset as a way to keep the
synchronization of every block intact.
The Image Block requests are repeated by the client until all the blocks of the image are successfully
obtained. The size of the OTA upgrade image is usually obtained by the client in the Query Next Image
response message and hence it knows the exact number of Image Block requests it needs to send.