(0xB0) OTA Upgrade Server Frames

The commands in this section facilitate over the air (OTA) server of the application operating on the Module. These commands have been implemented per the ZigBee HA 1.2 guidelines.

Secondary Headers

In This Space






( PH:0xB0, SH:0x00 ) - OTA Image Notification Command

Overview

The OTA Image Notification Command frame is sent from the Host to the Module.

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID
 0xFFFF means the EUI64 is used.

2..9

EUI64 Address

Target Device EUI64. All 0xFF indicates broadcast

10

Endpoint

0xFF indicates a request on all endpoints.

11

Payload Type

0x00 = Query jitter
0x01 = Query jitter & manufacturer code
0x02 = Query jitter, manufacturer code & image type
0x03 = Query jitter, manufacturer code, image type &
             new file version
0x04-0xFF Reserved

*Manufacturer Code, Payload Type, and File Version fields are omitted or included depending on the value of this field.

i.e 0x00 - all must be omitted, 0x01 - image type and file version are omitted, 0x02 - only file version is omitted

12

Query Jitter


(13,14)

Manufacturer Code

Optional field, it is needed for payload type 0x01-0x03

(15,16)

Image Type

Unused - for backwards compatibility. Set to 0x0000

(17..20)

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

Effect on Receipt

The Module will send an Image Notify ZCL command either broadcast or unicast depending on the received serial frame.

Allowed Context

All Contexts.

Sent By Host/Module

Host.






( PH:0xB0, SH:0x01 ) - OTA Query Next Image Request Command

Overview

The OTA Query Next Image Request frame is sent from the Module to the Host.

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Request OTA Device Node ID

2..9

EUI64 Address

Request OTA Device EUI64

10

Endpoint

Request OTA Device Endpoint

11

Field Control

8-bit Bitmap
Bit 0 : Hardware Version
            0=unavailable
            1=present
Bit 1-7: Reserved

12,13

Manufacturer Code


14,15

Image Type

Unused - for backwards compatibility. Set to 0x0000

16..19

File Version

Optional. Number used here will be echoed back in all subsequent frames for the transaction. For example, this field can be used by the Host to differentiate multiple concurrent updates, or for any other purpose the Host requires.

(20,21)

Hardware Version

Optional. Bit 0 of "Field Control" must equal "1" to use this optional field.

Effect on Receipt

The Host shall send an OTA Query Next Image Response frame in return.

Allowed Context

All Contexts.

Sent By Host/Module

Module.

( PH:0xB0, SH:0x02 ) - OTA Query Next Image Response Command

Overview

The OTA Query Next Image Response frame is sent from the Host to the Module. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally.

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID. 0xFFFF indicates that the EUI64 is used

2..9

EUI64 Address

Target Device EUI64

10

Endpoint

Target Device Endpoint

11

Status

0x00 – Success
0x80 – Malformed Command
0x81 – Unsupported Cluster Command
0x95 – Abort
0x96 – Invalid Image
0x97 – Wait for Data
0x98 – No Image Available
0x99 – Require More Image
0x7E – Not Authorized

12,13

Manufacturer Code


14,15

Image Type

Unused - for backwards compatibility. Set to 0x0000

16..19

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

20..23

Image Size


Effect on Receipt

None

Allowed Context

All Contexts.

Sent By Host/Module

Host.






( PH:0xB0, SH:0x03 ) - OTA Image Block Request Command

Overview

The OTA Image Block Request frame is sent from the Module to the Host. The Module expects to receive an OTA Image Block Response frame in response.

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Request OTA Device Node ID

2..9

EUI64 Address

Request OTA Device EUI64

10

Endpoint

Request OTA Device Endpoint

11

Field Control

8-bit Bitmap
Bit 0 : Request node’s IEEE address
           0=unavailable
           1=present
Bits 1-7 : Reserved

12,13

Manufacturer Code


14,15

Image Type

Unused - for backwards compatibility. Set to 0x0000

16..19

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

20..23

File Offset


24

Maximum Data Size

N < 50

Effect on Receipt

The Host must process and respond to Image Block Request messages until the Module sends a Upgrade End Request

The  Host must set status to MALFORMED_COMMAND (0x80) and return a 0 length data block if the Image Offset is outside the range of the file length.

Allowed Context

All Contexts.

Sent By Host/Module

Module.


( PH:0xB0, SH:0x05 ) - OTA Image Block Response Command

Overview

The OTA Image Block Response frame is sent from the Host to the Module. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally.

There are three possible return values for the OTA Image Block Response: Success, Wait for Data, and Abort. The payload differs for each one.

Payload

For OTA Image Block Response Command on Success

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID. 0xFFFF indicates that the EUI64 is used.

2..9

EUI64 Address

Target Device EUI64.

10

Endpoint

0xFF indicates a request on all endpoints.

11

Status

0x00 = Success

12,13

Manufacturer Code


14,15

Image Type

Unused - for backwards compatibility. Set to 0x0000

16..19

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

20..23

File Offset


24

Data Size

N < 50

25..(24+N)

Data


For OTA Image Block Response Command on Wait for Data

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID. 0xFFFF indicates that the EUI64 is used.

2..9

EUI64 Address

Target Device EUI64.

10

Endpoint

Target Device Endpoint

11

Status

0x97 = Wait for Data

12..15

Current UTC Time

The current UTC time

16..19

Request Time

The UTC time the client should retry the request

20

Checksum LSB

The least significant byte of the 16-bit CS.

21

Checksum MSB

The most significant byte of the 16-bit CS.

For OTA Image Block Response Command on Abort

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID. 0xFFFF indicates that the EUI64 is used

2..9

EUI64 Address

Target Device EUI64

10

Endpoint

Target Device Endpoint

11

Status

0x95 = Abort

Effect on Receipt

None.

Allowed Context

All Contexts.

Sent By Host/Module

Host.






( PH:0xB0, SH:0x06 ) - OTA Upgrade End Request Command

Overview

The Upgrade End Request frame is sent from the Module to the Host.

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Request OTA Device Node ID

2..9

EUI64 Address

Request OTA Device EUI64

10

Endpoint

Request OTA Device Endpoint

11

Status

0x00 – Success
0x95 – Abort
0x96 – Invalid Image
0x99 – Require More Image

12,13

Manufacturer Code


14,15

Image Type

Unused - for backwards compatibility. Set to 0x0000

16..19

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

Effect on Receipt

The Host shall send an Upgrade End Response frame in response.

Allowed Context

All Contexts.

Sent By Host/Module

Module.

( PH:0xB0, SH:0x07 ) - OTA Upgrade End Response Command

Overview

The OTA Upgrade End Response frame is sent from the Host to the Module in response to an OTA Upgrade End Request with success status. The Module relays the frame to the OTA target device. If the target EUI64 is the module’s own EUI64, the module will process it locally,

Payload

Byte Index

Field Name

Notes

0,1

Node ID

Target Device Node ID. 0xFFFF indicates that the EUI64 is used.

2..9

EUI64 Address

Target Device EUI64. All 0xFF indicates broadcast

10

Endpoint

0xFF indicates a request on all endpoints.

11,12

Manufacturer Code


13,14

Image Type

Unused - for backwards compatibility. Set to 0x0000

15..18

File Version

Will contain the value initially set in the Query Next Image Response / OTA Query Next Image Response frames by the Host.

19..22

Current Time


23..26

Upgrade Time


Effect on Receipt

None.

Allowed Context

All Contexts.

Sent By Host/Module

Host.

Legal Notices

Copyright © 2020 MMB Networks, Inc. All rights reserved.
Confidential materials prepared and delivered by MMB Networks for receipt and review only by any partner subject to a valid and enforceable MMB Networks confidentiality agreement. Any receipt, review, or misuse of any of the content exchanged hereunder by any party not a party to this confidential exchange shall be subject to any and all rights available under the law. All rights, title and interest to the materials shall remain with MMB Networks.
Any suggestions provided to MMB Networks with respect to MMB Networks' products or services shall be collectively deemed “Feedback.” You, on behalf of yourself, or if you are providing Feedback on behalf of your employer or another entity, represent and warrant that you have full legal authority to bind such entity to these terms, agree to grant and hereby grant to MMB Networks a nonexclusive, perpetual, irrevocable, royalty free, worldwide license to use and otherwise exploit such Feedback within any MMB Networks products and services.