Hello @vikki ,
I think that, although @JorgeCas's answer is correct, it is missing some information that would have been helpful to me, and I assume, to you as well.
I signed my AHAB container following this guide and deployed it to my SoM using uuu, and got the same output out of ahab_status:
> ahab_status
Lifecycle: 0x00000008, OEM Open
0x0287fad6
IPC = MU APD (0x2)
CMD = ELE_OEM_CNTN_AUTH_REQ (0x87)
IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA)
STA = ELE_SUCCESS_IND (0xD6)
0x0287fad6
IPC = MU APD (0x2)
CMD = ELE_OEM_CNTN_AUTH_REQ (0x87)
IND = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA)
STA = ELE_SUCCESS_IND (0xD6)
I believe that your interpretation of the ELE_BAD_KEY_HASH_FAILURE_IND is correct: the ELE cannot confirm that the Key hash is correct, because the SRKs's SHA256 hash has not been flashed to the fuses yet.
I went on to flash the fuses using nxpele and the .bcf script generated by nxpimage.
((.venv) )$ nxpele -p /dev/ttyUSB0 \
-d uboot_serial \
-f mimx9352 \
-t 1 \
-v \
batch ahab_output/ahab_oem0_srk0_hash_nxpele.bcf
Once this was done, booting the very same AHAB container as previously shows no events:
> ahab_status
Lifecycle: 0x00000008, OEM Open
No Events Found!
>
So I think the following sentence is very slightly incorrect:
If you are getting HAB events before close the device, something was wrong in your process
The correct version would, in my opinion, be:
If you are getting HAB events before close the device, after flashing the fuses something was wrong in your process