USB problem with AGX Orin when upgrading from 5.1 to 6.2

We have a custom carrier board which works perfectly with Jetson AGX Orin industrial and JetPack 5.1.3 (L4T 35.5.0). L4T sources need minimal modifications in 35.5.0 for our carrier board (see diff.txt).
However when upgrading to JetPack 6.2.1 (L4T 36.4.4) USB simply doesn’t work. We don’t see attached USB devices on either of the USB ports. dmesg (attached) shows no USB errors.

What am I missing?

dmesg.5.15.148-no-usb.txt (56.8 KB)

diff.txt (3.3 KB)

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

Based on the provided context, it appears that you have a custom carrier board that works with Jetson AGX Orin Industrial and JetPack 5.1.3 (L4T 35.50). However, when you upgrade to JetPack 6.2.1 (L4T 36.44), USB functionality is not working.

To troubleshoot this issue, let’s compare the configurations and settings between the two JetPack versions.

  1. USB Configuration: In the provided difftxt file, there are minimal modifications made to the L4T sources for your custom carrier board in JetPack 5.1.3. However, when upgrading to JetPack 6.2.1, it’s possible that the USB configuration has changed.

Check the flash_l4t_t234_nvme.xml file in the tools/kernel_flash directory for any differences in USB configuration between the two JetPack versions. Specifically, look for any changes in the usb section, such as usb_port, usb_speed, or usb_power.

  1. Device Tree: The device tree is responsible for defining the hardware components and their connections on the carrier board. Check the tegra234-p3737-0000.dts file (or the equivalent file for your custom carrier board) for any changes in the USB device tree nodes between the two JetPack versions.

  2. Kernel Configuration: The kernel configuration might have changed between the two JetPack versions, affecting USB functionality. Check the config file in the arch/arm64/configs directory for any differences in USB-related kernel configuration options.

  3. UEFI Firmware: The UEFI firmware might have changed between the two JetPack versions, affecting USB functionality. Check the flash.sh script for any differences in UEFI firmware flashing between the two JetPack versions.

  4. dmesg Output: The provided dmesg output does not show any USB errors, which suggests that the USB controller is not being initialized or recognized by the kernel. Check the kernel logs for any messages related to USB initialization or errors.

To resolve the issue, you can try the following:

  1. Revert to the previous USB configuration: If you have made changes to the USB configuration in the flash_l4t_t234_nvme.xml file, try reverting to the previous configuration to see if it resolves the issue.
  2. Update the device tree: If you have made changes to the device tree, try updating it to match the changes in the new JetPack version.
  3. Recompile the kernel: If you have made changes to the kernel configuration, try recompiling the kernel with the new configuration options.
  4. Reflash the UEFI firmware: If you have made changes to the UEFI firmware, try reflashing it with the new firmware version.

If none of these steps resolve the issue, please provide more information about your custom carrier board and the modifications you made to the L4T sources, and I’ll be happy to help you further.

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

Your problem here is that custom board does not work with default dts.

Good luck makes your escape from that problem on Jetpack5 but now Jetpack6 has strict checking so your case won’t work anymore.

You need to follow developer guide to modify device tree to fit your board design.

Thanks, that helped. So basically this was an RTFM-issue on my side. The default devicetree changed a lot between JP5 and JP6. I basically needed to strip it down to JP5 level.