I am working on a project where I need to burn MAC addresses and HAB Keys for secure boot to various IMX6 and IMX8 boards using a python script. Fuse burn process works. I want to automate Fuse data verification. But for unknown reason my manual attempt to verify the fuse using uuu utility below does not work.
Load U-Boot Image over OTG port via of the PCBA with NXP IMX6DP using uuu commands below to verify MAC Address.
uuu SDPS: boot -f u-boot-dtb.imx
uuu FB: ucmd bdinfo
uuu FB: ucmd printenv
uuu FB: ucmd setenv fastboot_buffer 0x12000000
uuu FB: download -f system.itb
uuu FB: ucmd iminfo 0x12000000
uuu FB: ucmd fuse read 4 2
Here is the response I receive which does not include the fuse read back mete data that I can parse :
cp-user@system76-pc:~/Downloads/Images/uuu-flash-provision-2021.02.41-pbc$ uuu FB: acmd fuse read 4 2
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.77-0-g66bf3cc
Success 0 Failure 0
1:34 1/ 1 [ ] FB: acmd fuse read 4 2
Okay
cp-user@system76-pc:~/Downloads/Images/uuu-flash-provision-2021.02.41-pbc$ uuu FB: ucmd fuse read 4 2
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.77-0-g66bf3cc
Success 0 Failure 1
1:34 1/ 1 [ ] FB: ucmd fuse read 4 2
Error:
However fuse read command works fine if I interrupt the Linux boot process and execute the command below IN u-boot shell:
=> version
U-Boot 2018.03 (Jun 30 2021 - 21:57:32 +0000)
arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103
GNU ld (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 2.35.1.20201028
=> fuse read 4 2
Reading bank 4:
Word 0x00000002: b1ff0007
There should be workaround way to do this using uuu utility with one liner U-BOOT script that I am currently searching for, but want to check if anyone has any input?
Thanks