Orin NX can't detect NVMe storage (SD Express PCIe)

Hi @KevinFFF, this can be reproduced locally on Orin NX with these steps:

  1. Download Nvidia Jetson Linux 36.3.0 and follow the basic setup: Quick Start — NVIDIA Jetson Linux Developer Guide 1 documentation

  2. Put in place the jumper on the forced recovery pins of the Jetson devkit.

  3. Plug in SD Express card into the PCIe M.2 socket

  4. Power on the board

  5. Run flashing command for NVMe
    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 jetson-orin-nano-devkit internal

  6. Observe the failure:
    Error: Could not stat device /dev/nvme0n1 - No such file or directory.

It seems PCIe M.2 socket is necessary for the reproduction, but we don’t have it currently.

Have you tried running the following command to flash the board in Step 5 instead?

$ 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

Hi Kevin,

It seems PCIe M.2 socket is necessary for the reproduction, but we don’t have it currently.

We can ship the M.2 SD Express adapter as shown earlier in the thread: https://global.discourse-cdn.com/nvidia/original/4X/4/4/7/447868fd7494ed29de4dfca44ca94975b27aa67e.jpeg. Please let us know the address. Then you will have everything needed for reproduction.

Have you tried running the following command to flash the board in Step 5 instead?

This command is for flashing eMMC, which Orin NX or Orin Nano don’t have. They also don’t have SDMMC peripheral, so SD card is only possible via SD Express/PCIe (nvme0 device).

@filip.kubicz did you manage to have it work in the end? I’m considering adding SD Express to an Orin NX carrier board design, but the confirmation that at least someone got it to work first would be encouraging.

HI @elektronik-17 , we have it working with a limitation. When you flash Orin with SD Express card, you need to run the flashing step VERY quickly after power on. This way it works. On subsequent boots from SD card, there is no issue.

I would still be happy for Nvidia to fix the problem, since it’s very confusing when someone in our team tries to flash for the first time.

1 Like

Hi @KevinFFF , @WayneWWW , can you please look into reproducing this, and answer if this is a HW issue on Orin NX?

In the past we only had problems during flashing (time-dependent, does not work if you wait in recovery too long).

But now we also start seeing problems on production devices, when they SOMETIMES cannot boot from the SD Express card.
In UEFI, the PCI link is down. But after you reboot, it sometimes works, and device can boot from SD card.

PCIe Controller-1 Link is DOWN

Sorry that the following usage is not valid for the devkit so that we can’t verify/reproduce it locally.

If your issue is specific to few devices, there might be some HW problems.
I would suggest your HW team to check if the connection of SD card on PCIe bus is fine.