Platform: Jetson Orin Nano 8GB Devkit, BOARDID 3767, BOARDSKU 0005, FAB 300, BOARDREV T.1, CHIP_SKU 00:00:00:D5. JetPack 6.2 / L4T R36.4.3. PKC key is ECDSA P-256.
SUMMARY
I burned PublicKeyHash alone in a first operation (successfully). BootSecurityInfo/SecurityMode were never set in that same operation (left at factory-default 0x1e0/0x0). Any subsequent attempt to burn a key-type fuse (SecureBootKey or OemK1) via odmfuse.sh -k <pkc.pem> now fails at the hardware/FSKP level with “Could not write Fuse”, regardless of the fuse value used and regardless of --auth mode.
FIRST FUSE BURN (single operation, all fuses together)
Command: sudo ./odmfuse.sh -X fuse_config.xml -i 0x23 jetson-orin-nano-devkit
Result: process finished without a fatal error on host. Afterward, nv_fuse_read.sh confirmed boot_security_info=0x1e0 (factory default) and security_mode=0x0 — neither was burned. public_key_hash matched the intended value (confirmed burned). SecureBootKey/OemK1 cannot be read back (not exposed by nv_fuse_read.sh), so their state is unknown.
(In hindsight, BootSecurityInfo=0x209 encoded the RSA-3K scheme bit rather than ECDSA-256, and didn’t OR in the factory pre-burned value 0x1e0 — likely why the burn stalled before reaching BootSecurityInfo/SecurityMode.)
SECOND ATTEMPT — incremental (PublicKeyHash already fused)
Command: sudo ./odmfuse.sh -X fuse_config2.xml -i 0x23 -k pkc_priv.pem jetson-orin-nano-devkit
UART log:
I> Task: Burn fuses
I> Index : 1 SecureBootKey size: 32
I> Index : 2 OemK1 size: 32
I> Index : 3 BootSecurityInfo size: 4
I> Index : 4 SecurityMode size: 4
I> Fuse Blob found
I>
I> Burning fuses
I> 1. Start SecureBootKey burn
E> FUSE: Failed to burn fuse addr: 0x2fe.
E> FUSE: Could not write Fuse: 0x66.
E> FUSE: Could not write Fuse: 0x66.
E> FUSE: Failed burn fuses as per fuse info.
E> FSKP: Failed to burn fuses.
C> Task 0x0 failed (err: 0x62170302)
E> Top caller module: FSKP, error module: FUSE, reason: 0x02, aux_info: 0x03
I> Busy Spin
Retried with the exact same SecureBootKey value used in the first attempt (in case of a bit-conflict from a prior partial burn) — identical failure, no “Fuse is already burned with the same value” message.
THIRD TEST — isolating OemK1 alone
Command: sudo ./odmfuse.sh -X fuse_oemk1_only.xml -i 0x23 -k pkc_priv.pem jetson-orin-nano-devkit
UART log:
I> Burning fuses
I> 1. Start OemK1 burn
E> FUSE: Failed to burn fuse addr: 0x316.
E> FUSE: Could not write Fuse: 0x6a.
E> FUSE: Could not write Fuse: 0x6a.
E> FUSE: Failed burn fuses as per fuse info.
E> FSKP: Failed to burn fuses.
C> Task 0x0 failed (err: 0x62170302)
E> Top caller module: FSKP, error module: FUSE, reason: 0x02, aux_info: 0x03
I> Busy Spin
Same error signature (err: 0x62170302, reason: 0x02, aux_info: 0x03) as with SecureBootKey alone, just a different fuse address/type ID. This rules out a value-specific bit conflict.
FOURTH TEST — --auth flag Tried explicitly setting --auth SBKPKC: sudo ./odmfuse.sh -X fuse_oemk1_only.xml -i 0x23 -k pkc_priv.pem -S sbk.key --auth SBKPKC jetson-orin-nano-devkit
Result: Error: wrong “–auth” option is set. The board’s authentication type is: NS. — the tool reports the board’s current authentication type as NS even though PublicKeyHash is already fused (likely because BootSecurityInfo was never set together with PublicKeyHash in the original burn, so no scheme is declared yet).
Retried with --auth NS (matching what the tool detected): sudo ./odmfuse.sh -X fuse_oemk1_only.xml -i 0x23 -k pkc_priv.pem -S sbk.key --auth NS jetson-orin-nano-devkit
Same identical failure as before (Could not write Fuse: 0x6a, err: 0x62170302).
QUESTIONS
1. Does this confirm that key-type fuses (SecureBootKey, OemK1) cannot be added in a follow-up odmfuse.sh operation once PublicKeyHash was burned separately without BootSecurityInfo declaring the scheme at the same time — i.e., is the scheme transition (NS → SBKPKC) only supported within the single original fusing operation?
2. What does err: 0x62170302 (module FUSE, reason 0x02, aux_info 0x03) mean specifically?
3. Is there any supported recovery path for a board already in this intermediate state, short of the fuse being permanently limited to PublicKeyHash-only Secure Boot (no SBK/OemK1/disk encryption)?
Device is a devkit used for testing/learning purposes, so a full re-flash / accepting Secure Boot without SBK+disk encryption is an acceptable fallback if there is truly no recovery path — but confirmation from NVIDIA on whether this is a known FSKP limitation would help decide how to proceed.