Bug Report: JetPack 6.2.2 (L4T 36.5) UEFI Cannot Boot from USB Devices Using UAS Driver

Summary

After upgrading from JetPack 6.2.1 (L4T 36.4.4) to JetPack 6.2.2 (L4T 36.5.0) following the official upgrade instructions, Jetson Orin NX enters an infinite boot loop when booting from USB storage devices that use the UAS (USB Attached SCSI) driver. The same devices work correctly with JetPack 6.2.1. same will occure when installing a new JetPack 6.2.2 file system from Nvidia SDK Manager.

Environment

  • Hardware: Jetson Orin NX 16GB with custom carrier board
  • TNSPEC: 3767-303-0000-D.1-1-1-jetson-orin-nano-devkit-
  • Original Version: JetPack 6.2.1 / L4T 36.4.4 / Kernel 5.15.148-tegra
  • Target Version: JetPack 6.2.2 / L4T 36.5.0 / Kernel 5.15.185-tegra
  • Boot Media: NVMe SSD in JMicron USB enclosure (Vendor ID: 152d, Product ID: a583)

Steps to Reproduce

  **method A**
  1. Install fresh JetPack 6.2.1 on external NVMe SSD via USB enclosure

  2. Boot and verify system works correctly

  3. Follow official upgrade instructions from JetPack 6.2.2/Jetson Linux 36.5 is now live

  4. Complete upgrade (all packages install successfully per dpkg.log)

  5. Reboot

    method B

  6. Install fresh JetPack 6.2.2 on external NVMe SSD via USB enclosure

  7. Reboot

Expected Behavior

System boots successfully with JetPack 6.2.2

Actual Behavior

System enters infinite boot loop:

  1. QSPI loads
  2. UEFI initializes
  3. Attempts to boot from USB disk
  4. System reboots before kernel loads
  5. Repeat

Diagnostic Evidence

1. USB Driver Difference

Tested with two USB devices:

Device USB Controller Driver L4T 36.5 Boot
JMicron NVMe enclosure XHCI uas FAILS
Kingston DataTraveler XHCI usb-storage WORKS

2. JetPack 6.2.1 Behavior

The same JMicron NVMe enclosure boots successfully with JetPack 6.2.1 on multiple Jetson devices.

3. Fresh 36.5 QSPI Behavior

Flashed 36.5 QSPI to another Jetson - same boot loop occurs with the UAS device, while usb-storage devices boot correctly.

4. No Kernel Logs

No boot logs recorded after the upgrade reboot, indicating failure occurs at UEFI stage before kernel mounts rootfs.

5. extlinux.conf Correct

Verified extlinux.conf contains correct kernel, initrd, FDT, and PARTUUID - file is never read because UEFI fails to enumerate the boot device.

USB Device Details

Bus 003 Device 018: ID 152d:a583 JMicron Technology Corp. / JMicron USA Technology Corp. External
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bInterfaceClass         8 Mass Storage
  bInterfaceSubClass      6 SCSI
  bInterfaceProtocol     80 Bulk-Only
  Driver: uas

Root Cause Analysis

The L4T 36.5 UEFI firmware appears unable to properly enumerate or boot from USB mass storage devices that use the UAS (USB Attached SCSI) protocol. This is a regression from L4T 36.4.4 and all known previous versions where the same devices worked correctly.

*** Please note that this reply is generated by LLM automatically ***

The issue described is a boot loop problem on Jetson Orin NX after upgrading from JetPack 6.2.1 (L4T 36.4.4) to JetPack 6.2.2 (L4T 36.5.0). The system enters an infinite boot loop when booting from USB storage devices that use the UAS (USB Attached SCSI) driver.

Comparison with previous versions:

The same issue does not occur with JetPack 6.2.1 (L4T 36.4.4) or previous versions, where the same devices worked correctly. This suggests that the problem is a regression introduced in the L4T 36.5.0 UEFI firmware.

Diagnostic evidence:

  1. USB Driver Difference: The issue is specific to USB devices that use the UAS driver. Devices that use the XHCI driver boot correctly.
  2. JetPack 6.2.1 Behavior: The same JMicron NVMe enclosure boots successfully with JetPack 6.2.1 on multiple Jetson devices.
  3. Fresh 36.5.0 QSPI Behavior: Flashed 36.5.0 QSPI to another Jetson, and the same boot loop occurs with the UAS device, while USB storage devices boot correctly.
  4. No Kernel Logs: No boot logs are recorded after the upgrade reboot, indicating that the failure occurs at the UEFI stage before the kernel mounts the root file system.
  5. extlinux.conf: The extlinux.conf file contains the correct kernel, initrd, FDT, and PARTUUID, but the file is never read because UEFI fails to enumerate the boot device.

Root Cause Analysis:

The L4T 36.5.0 UEFI firmware appears to be unable to properly enumerate or boot from USB mass storage devices that use the UAS protocol. This is a regression from L4T 36.4.4 and all known previous versions, where the same devices worked correctly.

Recommendations:

  1. Downgrade to L4T 36.4.4: If possible, downgrade to L4T 36.4.4, which is known to work correctly with UAS devices.
  2. Use XHCI devices: Use USB devices that use the XHCI driver, which are known to work correctly with L4T 36.5.0.
  3. Report the issue: Report the issue to NVIDIA, providing detailed diagnostic evidence, to help them identify and fix the problem.

Additional information:

  • The issue is specific to Jetson Orin NX and may not affect other Jetson devices.
  • The problem is not related to the kernel or root file system, but rather to the UEFI firmware’s ability to enumerate and boot from UAS devices.
  • The issue may be related to changes in the UEFI firmware or USB driver in L4T 36.5.0.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

There is no update from you for a period, assuming this is not an issue anymore.
Hence, we are closing this topic. If need further support, please open a new one.
Thanks
~0408

Hi,

Some questions to confirm:

  • Is Orin NX using a developer kit or custom board?

Thanks