Jetson Orin NX 16GB on Holybro Pixhawk Jetson Baseboard. UEFI crashes when any NVMe SSD is in M.2 slot

Hi all, I’ve been trying to set up my board for a few days now, and I’m out of ideas from research on the forums and need any help that one might have to give.

Let me know if there is any further information or logs that I can provide that may assist.

Holybro support have also been contacted for assistance.


Hardware:

  • Jetson Orin NX 16GB (P3767-0000, revision C.1)

  • Holybro Pixhawk Jetson Baseboard

  • JetPack 6.2.2 (L4T R36.5.0)

  • NVMe SSD slot: M.2 Key M on baseboard (separate from WiFi M.2 slot)

Problem:

  • UEFI crashes silently during PCIe/NVMe enumeration. Boot chain completes MB1 → MB2 → BL31 → OP-TEE, then hangs at I/TC: with no UEFI output. Serial console (3.3V UART on Orin Debug port at 115200 baud) shows complete boot through MB2 finished and BL31: v2.8 but nothing from UEFI.

What works:

  • NVMe removed → UEFI boots to interactive shell, HDMI displays BIOS menu

  • QSPI flash with flash.sh --no-systemimg works correctly

  • RCM mode works, module is fully functional

  • All firmware loads and authenticates (SPE, RCE, DCE, BPMP, XUSB, PVA, OP-TEE)

What fails:

  • Any NVMe SSD physically present in M.2 slot → UEFI crash/hang at I/TC:

  • Tested with two completely different NVMe controllers:

    • Samsung PM9B1 PCIe 4.0 512GB (Holybro OEM drive that shipped with the baseboard)

    • WD Black SN850 PCIe 4.0 1TB (known-good retail NVMe)

  • Even a fully zeroed NVMe (dd if=/dev/zero of=/dev/sdb bs=1M count=100) causes the crash — not partition/filesystem related

  • Crash occurs before UEFI can produce any serial output to Combined UART

  • SDK Manager integrated flash also fails — usb0 USB gadget interface never appears after RCM boot (carrier board appears to lack USB device mode / VBUS_DET hardware)

Board configs tested (all crash identically with NVMe present):

  • jetson-orin-nano-devkit (Holybro’s recommended config)

  • p3768-0000-p3767-0000-a0-nvme

Flashing methods tried:

  1. SDK Manager integrated flash — usb0 never appears, timeout after ~13 min

  2. Manual l4t_initrd_flash.sh --network usb0 — same usb0 failure

  3. Split flash: QSPI via flash.sh --no-systemimg + NVMe via --direct on host — QSPI works, UEFI crashes when NVMe is installed

  4. SDK Manager with WD SN850 installed in baseboard — usb0 still never appears, TTL shows RCM boot into MB2 Applet, SDMMC errors (OCR failed, error = 39390706), then Rebooting : reboot-recovery into full RCM boot, but USB gadget never comes up

Key serial observations:

  • During SDK Manager flash, MB2 Applet shows: E> STORAGE: Failed to open SDMMC: 3 — the board has no eMMC but the applet tries to open it

  • MB2 Applet completes fuse reads and BRBCT validation, then issues Rebooting : reboot-recovery

  • After reboot into RCM Boot mode, all firmware loads via USB, but the initrd never creates usb0 on the host

serial-log.txt (33.7 KB)

sdk-manager-log.txt (27.5 KB)


Questions:

  1. Does the Holybro Pixhawk Jetson Baseboard require a custom device tree overlay for PCIe/NVMe? The reference carrier DTB may have PCIe lane mapping or power sequencing that doesn’t match this board.
  2. Is there a known issue with the Orin NX UEFI PCIe driver crashing during NVMe enumeration on custom carrier boards?
  3. Has anyone successfully booted JetPack 6.x from NVMe on this baseboard? The PX4 docs show JetPack 6.0 working — was there a regression in 6.2.2?
  4. Can UEFI PCIe enumeration be disabled via device tree change so we can boot to Linux kernel and debug from there?
  5. The usb0 USB gadget never appears after RCM boot — does this carrier require FUSB301 or VBUS_DET modifications for USB device mode?

This is a 3rd party carrier board, that requires the customized device tree and BSP for it.
Please wait for the support from Holybro support.

Thank you @kayccc I am in contact with their support and am troubleshooting with them.

I’ll report back any findings to help others in the future.