USB ports not functioning in JP6.0

Have been scratching my head with this on and off since around 6.0GA, but after flashing initially 6.0 and now rev2 yesterday, none of the USB type A ports work. Additionally the flashing port device mode systemd service fails to start. Device is an AGX Orin 32GB dev kit, host is Ubuntu 22.04 and flashing is done with SDK Manager.

Plugging in to them does power things like keyboard lock indicator lights (generally ALL three), but no keyboard or storage device works on them and there is no dmesg output for plugging a device in. Relugging host PC into the type-c port (which should do something right, but the device mode systemd service fails on boot of course) now after setup causes no dmesg output on AGX, but the host attempts a port power cycle, then cannot enable the USB port.

Everything works perfectly in JP5, before flashing 6.0 and if I flash JP5 back now. The microusb for serial console does work since before rev2 I used it for manual config. Flashing obviously does mostly work, except for the last step connecting to 192.168.55.1 SDK manager cannot find a connection, and the system is perfectly functional (apart from jetson-containers not liking a missing /dev/bus/usb) with displayport output.

Below are the first logs I thought of to grab

lartza@agx-orin:~$ lsusb
lartza@agx-orin:~$
lartza@agx-orin:~$ sudo dmesg | grep usb
[    0.152204] usbcore: registered new interface driver usbfs
[    0.152226] usbcore: registered new interface driver hub
[    0.152244] usbcore: registered new device driver usb
[    0.280059] usbcore: registered new interface driver usb-storage
[    4.731965] usbcore: registered new interface driver usbhid
[    4.731971] usbhid: USB HID core driver
[    4.802593] usbcore: registered new interface driver snd-usb-audio
lartza@agx-orin:~$ journalctl -b -p 3
Nov 21 22:57:17 agx-orin kernel: tegra-i2c c240000.i2c: un-recovered arbitration lost
Nov 21 22:57:17 agx-orin kernel: ucsi_ccg 1-0008: i2c_transfer failed -5
Nov 21 22:57:17 agx-orin kernel: ucsi_ccg 1-0008: ucsi_ccg_init failed - -5
Nov 21 22:57:17 agx-orin kernel: tegra-i2c c240000.i2c: un-recovered arbitration lost
Nov 21 22:57:17 agx-orin kernel: ina3221 1-0040: Unable to reset device
Nov 21 22:57:17 agx-orin kernel: tegra-i2c c240000.i2c: un-recovered arbitration lost
Nov 21 22:57:17 agx-orin kernel: ina3221 1-0041: Unable to reset device
Aug 14 11:23:11 agx-orin systemd[1]: Failed to start Configure USB flashing port for device mode.

Are you using a custom board?

Actually the log seems not from a devkit…

P3730 945-13730-0000-000 and any modifications did come to mind but I even asked a coworker and was told “if a cube it’s an official dev kit”

Please share full dmesg of jetpack6. Do not parse or grep anything. Just attach full log.

If possible, could you flash the board back to jetpack5 again and also share full dmesg?

I can only tell the next steps with above information collected.

It took a while but here are both dmesgs from 5 and 6. Jetpack 6 had zram and GUI boot disabled after install, which will cause slight differences in the dmesg unrelated to USB functioning or not

dmesg5.txt (69.2 KB)
dmesg6.txt (54.3 KB)

It looks like type C controller is working fine on rel-35 but failed on rel-36.

rel-36

[    6.668032] tegra-i2c c240000.i2c: un-recovered arbitration lost
[    6.668038] ucsi_ccg 1-0008: i2c_transfer failed -5
[    6.668041] ucsi_ccg 1-0008: ucsi_ccg_init failed - -5
[    6.668044] ucsi_ccg: probe of 1-0008 failed with error -5

rel-35

[   12.775587] OF: graph: no port node found in /i2c@c240000/ucsi_ccg@8/connector@0
[   12.783776] ucsi_ccg 1-0008: Port-0: no role switch found

Although the “no role switch found” on rel-35 is a little weird, it didn’t give any error log.

I wonder the carrier board information here. Could you share the result of

sudo i2cdump -f -y 0 0x56?

As this info is in the carrier board eeprom, it does not matter which software release you are using.

This one is better sharing as a screenshot for readiness.

Here’s i2cdump from rel-35

Hi,

Thanks for sharing.

Could you also share me the result of module eeprom too?

sudo i2cdump -y 0 0x50

Will do some further check and update to you.

Do you have other jetson module or carrier board on your side that can cross check?

For example, if every module has such problem on rel-36.

I don’t unfortunately and most boards I know of are likely still running 35 or a different OS.

I can try asking someone I just thought of on Monday since I can’t remember if we’ve talked about this USB issue.

Thank you for your assistance so far.

Could you also test if every function on the type C board of your board is working fine on rel-35?

For example, the device mode and host mode on type C port.

SDK Manager’s USB connection to 192.168.55.1 for component install works in 35 and I can see the L4T-README from my laptop, unlike with 36.

Additionally talking to an Android phone (file transfer) and reading a USB stick works through the type C port.

1 Like