MLS/160A – System Reference
D o c u m e n t R e v i s i o n 1 . 1
17
•
DATA:
This part has a
variable length
and contains the chunk of the firmware bina-
ry file. Its maximum length is defined by the preceding request datagram.
•
CRC:
CRC8 checksum over all preceding bytes.
After receiving the page datagram the MLS/160A
compares the MAXCL with the ACTCL
. If
both lengths are equal the MLS/160A sends a new request datagram with an adjusted OFF-
SET and the remote station sends a new page datagram with the next chunk of the firm-
ware binary file.
This loop runs until
ACTCL is smaller than MAXCL
which means that the firmware binary
file was transferred completely.
requestHMAC()
In this case the MLS/160A sends a
verification datagram
of 1 byte length with the ASCII
character V (0x56) to the remote station.
Length in Bytes
1
0x56: V
Table 14:
Verification datagram from the MLS/160A
pushHMAC()
The remote station answers with the
SHA256 HMAC
(Keyed-Hash Message Authentication
Code) of the new firmware binary file.
Length in Bytes
1
256
1
H
HMAC
CRC
Table 15:
HMAC datagram from the remote station
•
H:
The ASCII character H (0x48) is the identifier of the HMAC datagram.
•
HMAC:
This part contains the SHA256 HMAC of the new firmware binary file.
•
CRC:
CRC8 checksum over all preceding bytes.
The MLS/160A calculates the SHA256 HMAC of the new firmware (“CALC-HMAC”) and
compares it with the HMAC received from the remote station. The CALC-HMAC must be
identical with the received one in order to be valid.