Orin Nano Fails on waiting for target to boot

I am running Jetson Linux 36.3 and have followed the steps detailed here.

$ tar xf ${L4T_RELEASE_PACKAGE}
$ sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh

Put the device into force recovery mode and then ran this command.

$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device mmcblk0p1 \
  -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit internal

Here is the serial log that was generated from this flashing process.

seriallog.txt (82.6 KB)

Note 1: I have gotten the Orin Nano to boot several times previously, but now reverting back to other SD cards that have worked in the past/the SD card image from the getting started page, no longer work.

Note 2: I also noticed that my Ubuntu host machine always appears to recognize the Orin Nano in recovery mode. Even when it is powered on without the header connecting force recovery to ground. lsusb still shows Bus <bbb> Device <ddd>: ID 0955: 7523 Nvidia Corp.

What are the versions of the other components (Linux, L4T, JetPack, UEFI)?

Hi richardcusolito1,

Are you using the devkit or custom board for Orin Nano?

It seems wrong to me. Please specify --external-device nvme0n1p1 instead if you connect external NVMe SSD.

You can also use the SDK Manager to flash the board if you are using the devkit.

Sorry I forgot to mention I am using the Orin Nano devkit. I am flashing an sd card right above the 21 pin header.

Linux: 5.15.136
Jetson Linux: 36.3
JetPack: 6.0
UEFI: 36.3.0-gcid-36191598

Do you connect other boot-device like NVMe on your devkit?

For the devkit, could you try using SDK Manager to flash the board?

No, the only boot device connected on my devkit is the sd card.

When I try and flash with the sdkmanager I get this error log.

sdkflashlog.txt (86.2 KB)

What is the exact error log on sdkm side?

They are paired logs. You should share both of them at same time.

Sorry here is the other part of that pair.

SDKM_logs_JetPack_6.0_(rev._2)_Linux_for_Jetson_Orin_Nano_modules_2024-08-14_09-43-55.zip (302.0 KB)

The error log is more like failure in USB detection part.

Could you flip back your devkit and take photo of it?

Let me know if this is what you were looking for.

Could you try to flash nvme drive or usb drive instead of sdcard at this moment?

If this related to usb detection, then none of them should be able to get flashed. Just a quick test.

Unfortunately I don’t have either on hand right now but I can get one.

Is there anything else to try/do in the meantime?

Do you have any Jetpack 5 release BSP on your host that can flash it?

I know you want to use Jetpack6. Just to use Jetpack5 to make sure this usb cable and this board can get flashed correctly.

Here is the results for when I try and flash using the sdkmanager to a USB drive

ttlflashlog_usb.txt (86.8 KB)

sdkflashlog_usb.zip (477.9 KB)

USB detection is still dead.

What is the result of this node from your serial console when you got stuck there?

cat /sys/class/usb_role/usb2-0-role-switch/role

I don’t think I understand. When the flash fails, on my host machine the /sys/class/usb_role/ directory is empty. I’m assuming you want me to check that node through the uart interface but I didn’t think I could because it says there is no job control.

Please let me know how to send commands through minicom if that is what you want me to do.

Yes, I need you to run this in UART console…

I don’t know what makes you think “you cannot send command through minicom” in that situation. It is initrd bash interface. No need to care about no job control thing…

Please be aware that you are not the first one using this method to debug issues…

Even typing enter will give you response in that console… unless your minicom setup is wrong.

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
bash-5.1#    #your minicom will work here

Sorry I will get this working. I am able to type into the console and see my result if I turn on the local echo but nothing gets returned.

cat /sys/class/usb_role/usb2-0-role-switch/role

returns

device