SLUUA65E april 2014 – june 2023 BQ28Z610
This is a read/write command that changes the Unseal and Full Access keys. To read the keys, send the SecurityKeys() command to either the AltManufacturerAccess() 0x00 or 0x3E, followed by a read from AltManufacturerAccess().
To change the keys, the write operations must be sent through AltManufacturerAccess() 0x3E with the SecurityKeys() followed by the keys. Each parameter entry must be sent in Little Endian.
Example:
Changing the Unseal key to 0x0123, 0x4567 and the Full Access key to 0x89AB, 0xCDEF:
Byte0: Unseal Key LSB
Byte1: Unseal Key MSB
Byte2: Full Access Key LSB
Byte3: Full Access Key MSB
Write block: command through AltManufacturerAccess() starting address 0x3E, data block (hex) = [35 00 23 01 67 45 AB 89 EF CD].
Starting address 0x60, data block(hex) = [0A 0C] (checksum followed by length)
Checksum = 0x0A = ~(0x35 + 0x00 + 0x23 + 0x01 + 0x67 + 0x45 + 0xAB + 0x89 + 0xEF + 0xCD). The checksum is the 8-bit sum of the MSB and LSB of the command plus the (command length) bytes in the buffer. The final sum is the bitwise inversion of the result.