[Jetson Orin Nano] ERROR: might be timeout in USB write — initrd flash fails during blob transfer | JetPack 6.2.2 (L4T R36.5.0)
Hi NVIDIA community,
I am working on a custom carrier board based on the Jetson Orin Nano module and I am trying to flash my custom pinmux.
WHAT I DID:
-
I config my custom config based on my board in the default pinmux downloaded from official website.
-
After that i generated dtsi file and i copied pinmux and gpio into BCT folder and gpio into bootloader folder.
-
I changed the dtsi files name exactly same like default one (original one) in the linux tegra file.
-
After that i flashed by using below commands. it gives this errors i am sure this is not USB cable issues.
Flash errorrs.txt (310.9 KB)
-
Check my logs and tell me is this my steps are wrong to flash the custom pinmux by checking my version and everything.
Setup:
- Module: Jetson Orin Nano (Board ID: 3767, SKU: 0003, Revision: H.1)
- Carrier Board: Custom (not NVIDIA devkit)
- JetPack Version: 6.2.2
- L4T Version: R36.5.0
- Host OS: Ubuntu 22.04.5 LTS
- Storage Target: NVMe (nvme0n1p1)
- Host machine: Connected via USB (instance 1-3)
Flash command used:
export TEGRARCM_USB_TIMEOUT=300
sudo ./tools/kernel_flash/l4t_initrd_flash.sh \
--external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_external.xml \
-p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
--showlogs \
--network usb0 \
jetson-orin-nano-devkit internal
What happens:
- Step 1 (Generate flash packages) — Completes successfully
- Step 2 (RCM boot) — Starts successfully, board is detected, BCT/MB1/PSC-BL1 are sent
- Blob generation completes (19 images, ~104 MB)
bct_mem is sent successfully
blob.bin transfer starts but then fails with:
[ 0.3457 ] Sending blob
[ 0.4653 ] ERROR: might be timeout in USB write.
Error: Return value 3
Command tegrarcm_v2 --instance 1-3 --chip 0x23 0 --pollbl \
--download bct_mem mem_rcm_sigheader.bct.encrypt \
--download blob blob.bin
Cleaning up...
What I have already tried:
- Setting
export TEGRARCM_USB_TIMEOUT=300 before running the flash command
- Confirmed the board is detected in Force Recovery Mode via
lsusb (NVIDIA APX)
- USB instance confirmed as
1-3
- Blob size is ~104 MB — possibly too large for the USB transfer?
Questions:
- Is the USB write timeout during blob transfer a known issue with JetPack 6.2.2 on custom carrier boards?
- Is there a recommended way to increase the USB transfer timeout beyond
TEGRARCM_USB_TIMEOUT=300?
- Could the blob size (~104 MB) be causing the timeout, and is there a way to reduce it?
- Is there an alternative flash method recommended for custom carrier boards with NVMe on JetPack 6.2.2?
- My steps are correct or i missed anything to flash custom pinmux pls give me a correct step i am not getting understand the official steps!
Any guidance would be greatly appreciated. Happy to share additional logs if needed.
Thank you!
*** Please note that this reply is generated by LLM automatically ***
Based on the provided context, it appears that you are experiencing issues with flashing a custom pinmux on a Jetson Orin Nano module with a custom carrier board. Here’s a comprehensive analysis of your steps and potential solutions:
Steps Analysis:
- You configured your custom pinmux based on your board using the default pinmux downloaded from the official website.
- You generated a dtsi file and copied the pinmux and gpio into the BCT folder and gpio into the bootloader folder.
- You changed the dtsi file’s name to match the default one in the linux-tegra file.
- You flashed the device using the provided commands, but encountered errors.
Potential Issues:
- USB cable issues: Although you mentioned that you are sure this is not a USB cable issue, it’s essential to ensure that the USB connection is stable and not causing any problems.
- Blob size: The blob size of 104 MB might be too large for the USB transfer, causing a timeout. This is a known issue with JetPack 6.2 on custom carrier boards.
- USB transfer timeout: The USB write timeout during blob transfer might be causing the issue. You can try increasing the USB transfer timeout to resolve this problem.
- Custom pinmux configuration: There might be an issue with your custom pinmux configuration. Double-check your configuration to ensure that it is correct and compatible with your custom carrier board.
Recommended Solutions:
- Increase USB transfer timeout: You can try increasing the USB transfer timeout by adding the
--timeout option to the flash command. For example:
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 --timeout 300 p3509-a02-p3767-0000 internal
This will set the timeout to 300 seconds (5 minutes).
- Reduce blob size: If possible, try reducing the blob size by optimizing your custom pinmux configuration or by using a different flashing method.
- Alternative flash method: You can try using an alternative flash method, such as flashing through the SD card or using a different flashing tool.
- Verify custom pinmux configuration: Double-check your custom pinmux configuration to ensure that it is correct and compatible with your custom carrier board.
Comparison with Official Steps:
The official steps for flashing a custom pinmux on a Jetson Orin Nano module with a custom carrier board are not explicitly provided in the context. However, based on the provided information, it appears that your steps are generally correct. However, you might need to adjust your steps to accommodate the specific requirements of your custom carrier board and JetPack 6.2.
Additional Guidance:
To further troubleshoot the issue, you can try:
- Checking the official NVIDIA documentation for flashing a custom pinmux on a Jetson Orin Nano module with a custom carrier board.
- Verifying that your custom carrier board is compatible with the Jetson Orin Nano module and JetPack 6.2.
- Seeking assistance from the NVIDIA community or a professional developer with experience in flashing custom pinmux configurations on Jetson modules.
By following these steps and recommendations, you should be able to resolve the issues with flashing your custom pinmux on the Jetson Orin Nano module with a custom carrier board.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
Did u checked my steps like what i did becuase if i did anything wrongly then tell me it might be giving issues?
The cable is not a problem i already tried flash with 600sec timeout (Using below command) still its giving the same error. Did u read my full logs and check any other problem causing this issue.
export TEGRARCM_USB_TIMEOUT=600
sudo ./tools/kernel_flash/l4t_initrd_flash.sh \ --external-device nvme0n1p1 \ -c tools/kernel_flash/flash_l4t_external.xml \ -p “-c bootloader/generic/cfg/flash_t234_qspi.xml” \ --showlogs \ --network usb0 \ jetson-orin-nano-devkit internal
Hi,
Please record the serial console log when flashing.
Thanks
Our custom carrier board has serial micro usb port if i connect that usb it is not detecting in ls /dev/ttyUSB* i tried all things like sudo minicom and sudo dmesg | tail -20
I think the flash command i used is wrong because in that command i used internal at the end but i connected NVMe ssd (256GB) with jetson orin nano. So i have to use external nah ?
sudo ./flash.sh
-c bootloader/generic/cfg/flash_t234_qspi.xml
–no-systemimg
jetson-orin-nano-devkit internal
successfully flashed by using this command
whoever facing the usb timeout error. Check the flash command thats the issue