I’m encountering a USB write timeout while performing an FSKP fuse burn test on my Jetson AGX Orin DevKit.
- Host OS: Ubuntu 22.04 (tested both Desktop and Server editions)
- Device: Jetson AGX Orin DevKit
- L4T version: R36.4 (JetPack 6.x)
- USB autosuspend: Disabled (verified as per Jetson AGX Orin FAQ)
Command used
sudo ./fskp_fuseburn.py \
--board-spec orin-agx-board-spec.txt \
--fusefile /mnt/l4t/JetsonKeys/nvidia_fskp/fuse_config_presecure.xml \
--keyindex 62 \
--key-exp /mnt/l4t/JetsonKeys/nvidia_fskp/FSKP/fskp_ak.bin /mnt/l4t/JetsonKeys/nvidia_fskp/FSKP/fskp_ek.bin \
--fskpcfg /mnt/l4t/JetsonKeys/nvidia_fskp/FSKP/fskp_conf.txt \
--chip 0x23 \
--board /mnt/l4t/Linux_for_Tegra/jetson-agx-orin-devkit.conf \
--outdir ./out_fuseblob \
--test
Observed behavior:
Everything runs smoothly until the tool attempts to download the FSKP blob to the target, where it fails with a USB write timeout:
FSKP execution started 2025-10-27 20:33:01.218076
fskp_fuseburn.py script version 0.2
Parsing input arguments
fskp_fuseburn.py script version 0.2
Parsing input arguments
Setting up default paths
Setup host environment
Creating t234 fuse blob
Generating 13 random string pairs
Generating BR-BCT
Saving platform information to plaform_info.txt
Update iv and der string for br_bct_BR.bct
Generating MB1-BCT
Updating mb1-bct with firmware information
Generating MEM-BCT
Using ramcode 0
Get Signed section of bct
Signing BCT
Updating BCT with signature
Generating SHA2 Hash
Updating BCT with SHA2 Hash
Signing mb1_bct_MB1.bct
Update iv and der string for mb1_bct_MB1_aligned_sigheader.bct
Signing bct_MEM.bct
Update iv and der string for bct_MEM_aligned_sigheader.bct
Signing mb1_t234_prod.bin
Update iv and der string for mb1_t234_prod_aligned_sigheader.bin
Signing psc_bl1_t234_prod.bin
Update iv and der string for psc_bl1_t234_prod_aligned_sigheader.bin
Updating mb2-bct with storage information
Concatenating mb2-bct to mb2 binary
fskp_test.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_mb2_t234.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_mb2_t234_aligned_sigheader.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_tegra234-bpmp-3701-0004-3737-0000.dtb
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_tegra234-bpmp-3701-0004-3737-0000_aligned_sigheader.dtb
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_spe.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_spe_aligned_sigheader.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_mce_flash_o10_cr_prod.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_mce_flash_o10_cr_prod_aligned_sigheader.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_pscfw_t234_prod.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_pscfw_t234_prod_aligned_sigheader.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_fskp_test.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_fskp_test_aligned_sigheader.bin
Encrypting /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_fskp_test_aligned_sigheader.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_fskp_test_aligned_sigheader_encrypt.bin
Signing /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_bpmp_t234-TE990M-A1_prod.bin
Update iv and der string for /mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/out_fuseblob/blob_bpmp_t234-TE990M-A1_prod_aligned_sigheader.bin
WARNING!! Testing Fuses option is selected
do you want to continue testing the fuses (Yes/No) yes
Downloading FSKP blob to target
command sudo /mnt/l4t/Linux_for_Tegra/tools/flashtools/flash/tegrarcm_v2 --chip 0x23 --pollbl --download bct_mem bct_MEM_sigheader.bct --download blob blob.bin failed, exit-code=3 error =
command /mnt/l4t/Linux_for_Tegra/tools/flashtools/flash/tegrarcm_v2 --chip 0x23 --pollbl --download bct_mem bct_MEM_sigheader.bct --download blob blob.bin failed.
BL: version 1.4.0.4-t234-54845784-e89ea9bc last_boot_error: 0
Sending bct_mem
Sending blob
ERROR: might be timeout in USB write.
FSKP execution failed
Traceback (most recent call last):
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/./fskp_fuseburn.py", line 136, in <module>
main(sys.argv)
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/./fskp_fuseburn.py", line 130, in main
raise e
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/./fskp_fuseburn.py", line 125, in main
u.main(commandLineArgs)
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/./fskp_fuseburn.py", line 100, in main
h.send_fskp_blob_to_target_t234()
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/fskp_helper.py", line 748, in send_fskp_blob_to_target_t234
self.run_sudo_cmd(cmd)
File "/mnt/l4t/Linux_for_Tegra/tools/flashtools/fuseburn/fskp_helper.py", line 616, in run_sudo_cmd
raise OSError("command " + cmd + " failed.\n" + output)
OSError: command /mnt/l4t/Linux_for_Tegra/tools/flashtools/flash/tegrarcm_v2 --chip 0x23 --pollbl --download bct_mem bct_MEM_sigheader.bct --download blob blob.bin failed.
BL: version 1.4.0.4-t234-54845784-e89ea9bc last_boot_error: 0
Sending bct_mem
Sending blob
ERROR: might be timeout in USB write.
What I’ve tried
-
Disabled USB autosuspend system-wide via udev and
/sys/bus/usb/devices/*/power/control(confirmed allon) -
Swapped multiple USB-C cables (both data-rated and NVIDIA-supplied)
-
Tested on multiple host machines (Intel x86_64)
-
Tried both USB 3.0 and USB 2.0 ports
-
Verified
tegrarcm_v2works for standard flashing operations (no issue)
Despite these, the timeout occurs consistently at the same stage.
Questions
-
Has anyone encountered this specific USB timeout during
fskp_fuseburn.py? -
Could this be related to the device’s recovery mode stability or host USB controller timing?
-
Are there recommended
tegrarcm_v2parameters or known issues with the FSKP test mode on R36.4?
Any insight or workaround would be appreciated — I’m trying to validate the fuse burn process before finalizing secure boot provisioning.
Thanks in advance!