Platform: NVIDIA Jetson AGX Orin 64GB Industrial
Carrier Board: AVerMedia D317
JetPack Version: 6.2.2 (L4T R36.5.0)
Host OS: Ubuntu 22.04.5 LTS (native, physical machine, x86_64)
Flash Method: l4t_initrd_flash.sh via customized install.sh
Description:
I am attempting to flash JetPack 6.2.2 to an external NVMe SSD (1TB) connected to the AGX Orin Industrial module mounted on an AVerMedia D317 carrier board. The flashing process consistently fails during the USB blob transfer phase with the following error:
ERROR: might be timeout in USB write.
Error: Return value 3
Command tegrarcm_v2 --instance 1-4 --chip 0x23 0 --pollbl
--download bct_mem mem_rcm_sigheader.bct.encrypt --download blob blob.bin
Additional Observation:
After the timeout error occurs, the device exits recovery mode automatically. It is no longer detectable as NVIDIA Corp. APX via lsusb, and the device must be manually put back into recovery mode before any subsequent flash attempt. This behavior suggests the device is rebooting or resetting upon the USB transfer failure rather than remaining in recovery mode.
Steps to Reproduce:
- Put device into recovery mode
- Run
setup.sh, select D317 board and AGX Orin Industrial module - Modified
install.shto target external NVMe vial4t_initrd_flash.sh:
bash
sudo ./tools/kernel_flash/l4t_initrd_flash.sh \
--external-device nvme0n1p1 \
-c ./tools/kernel_flash/flash_l4t_t234_nvme.xml \
-S 900GiB \
--showlogs \
jetson-agx-orin-d317ao-industrial external
- Flash package generation completes successfully (Step 1)
- Failure occurs at Step 2 during RCM boot blob transfer
- Device exits recovery mode after failure
Blob Size at Failure Point:
blobsize is 124776096 (~124 MB)
What I Have Tried:
- Disabled USB autosuspend (
echo -1 > /sys/module/usbcore/parameters/autosuspend) - Used direct USB connection without any hub
- Tried multiple USB ports on the host machine
- The standard
./install.shtargeting internal storage also fails at ~12% with the same error (blob ~29MB) - Despite the USB timeout error,
lsusbconfirms the device remains listed asNVIDIA Corp. APXmomentarily before exiting recovery mode
Workaround:
Flashing via AVerMedia’s flash_d317_external.sh script (which uses l4t_initrd_flash.sh with flash_l4t_t234_nvme.xml and manually specified sector count) succeeded previously. However, I am unable to reproduce this reliably via install.sh.
Question:
Is there a known issue with large blob transfers over USB on this platform? Is there a way to increase the USB write timeout in tegrarcm_v2 or tegraflash.py, or an alternative flash method that avoids sending large blobs over USB? Additionally, is it expected behavior for the device to exit recovery mode upon a USB transfer failure?