We are currently encountering a critical issue when flashing our custom board based on Orin Nano using Jetpack 6.2 (Jetson Linux 36.4). The exact same flashing command works perfectly on the official NVIDIA Devkit, but fails on our custom board.
Flashing process starts but gets stuck when trying to communicate with the device.
The flashing tool is unable to continue writing the image.
Logs show that the USB gadget device is not enumerating properly during flash.
🔍 Debug attempts and findings:
We manually mounted the rootfs on the custom board — this did not resume the flash process.
Rebooting the custom board (with or without pressing the recovery button) boots the previous image, instead of continuing the flash.
We tried checking the SSD partitions and /dev entries, and they appear normal on the custom board.
It works when trying with scripts from older BSPs (JP5.1.1)
We are using flash.sh and it works.
📁 Attached logs:
devkit.log: Flashing log on official NVIDIA Devkit (success case)
custom.log: Flashing log on custom board (failure case)
pc.log: Flashing error log on pc.
Please let us know if any further debug information is needed. We’re also happy to share our board schematic or USB wiring details privately if it helps your debugging. custom.log (80.6 KB) devkit.log (121.4 KB) pc.log (254.6 KB)
Thanks a lot for your support!
Best regards,
Zeng Huang
Yes, we have already modified the kernel device tree to match our custom board’s USB configuration.
However, the flashing process still fails on our custom board, while the same command works on the official devkit.
If possible, could you kindly clarify:
Are there other parts of the flashing process that rely on USB-related configuration outside the kernel DTB?
For example, is the bootloader (MB1, MB2, or cboot) also using USB-related settings that must be customized for the custom board?
Or are there any board-specific configurations in cfg or flash.xml that affect USB enumeration during flashing?
We want to ensure that all USB-related configurations are correctly ported to our board to avoid issues with USB enumeration and flashing.
Your issue only happened in the kernel dtb part which usb enumeration (Jetson as usb device0 fails on your host PC. You don’t need to care about anything in bootloader. They all passed.
Could you please help us review this patch and let us know if there’s anything incorrect or missing — especially anything related to USB device mode (gadget mode) that could cause Jetson to fail USB enumeration on the host PC?
We appreciate your support in helping us resolve this issue.
We’ve also attached the orin_nano.txt file, which is converted back from the dtb used during flashing.
This includes all relevant USB kernel device tree configuration for our current setup. orin_nano.txt (316.5 KB)