Jetson Orin Nano USB Problem

Hello,

On our own carrier card, we get the following usb error on the Jetson Orin Nano 4GB module.

test@test:~$ sudo dmesg | grep usb
[    1.517573] usbcore: registered new interface driver usbfs
[    1.523071] usbcore: registered new interface driver hub
[    1.528395] usbcore: registered new device driver usb
[    4.291797] usbcore: registered new interface driver r8152
[    4.297430] usbcore: registered new interface driver asix
[    4.302990] usbcore: registered new interface driver ax88179_178a
[    4.309248] usbcore: registered new interface driver cdc_ether
[    4.315247] usbcore: registered new interface driver net1080
[    4.321054] usbcore: registered new interface driver cdc_subset
[    4.327136] usbcore: registered new interface driver zaurus
[    4.332874] usbcore: registered new interface driver cdc_ncm
[    4.338691] usbcore: registered new interface driver aqc111
[    4.361227] tegra-xusb 3610000.xhci: Adding to iommu group 0
[    4.367629] usbcore: registered new interface driver uas
[    4.373110] usbcore: registered new interface driver usb-storage
[    4.391345] usbcore: registered new interface driver xpad
[    5.586954] usbcore: registered new interface driver usbhid
[    5.592698] usbhid: USB HID core driver
[    5.954437] usbcore: registered new interface driver snd-usb-audio
[    6.994614] tegra-xusb 3610000.xhci: Firmware timestamp: 2023-02-10 03:48:10 UTC, Version: 80.05 release
[    7.004360] tegra-xusb 3610000.xhci: xHCI Host Controller
[    7.009974] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 1
[    7.018651] tegra-xusb 3610000.xhci: hcc params 0x0180ff05 hci version 0x120 quirks 0x0000000000050810
[    7.028269] tegra-xusb 3610000.xhci: irq 218, io mem 0x03610000
[    7.034722] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    7.043231] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.050659] usb usb1: Product: xHCI Host Controller
[    7.055662] usb usb1: Manufacturer: Linux 5.10.120 xhci-hcd
[    7.061386] usb usb1: SerialNumber: 3610000.xhci
[    7.075205] tegra-xusb 3610000.xhci: xHCI Host Controller
[    7.080765] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 2
[    7.088556] tegra-xusb 3610000.xhci: Host supports USB 3.1 Enhanced SuperSpeed
[    7.096069] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[    7.104573] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.112003] usb usb2: Product: xHCI Host Controller
[   7.117007] usb usb2: Manufacturer: Linux 5.10.120 xhci-hcd
[    7.122727] usb usb2: SerialNumber: 3610000.xhci
[    9.645215] tegra-xusb 3610000.xhci: entering ELPG done
[   13.520950] fusb301 1-0025: failed to read device id, err : 0xffffff87
[   13.527834] fusb301 1-0025: fusb301 not support
[   13.537671] fusb301: probe of 1-0025 failed with error -22
[   14.803865] usb0: HOST MAC 96:d0:59:4b:d8:fe
[   14.803867] usb0: MAC 96:d0:59:4b:d8:ff
[   14.815613] l4tbr0: port 2(usb0) entered blocking state
[   14.815630] l4tbr0: port 2(usb0) entered disabled state
[   14.815760] device usb0 entered promiscuous mode

But it gives the following error in our own configuration file.

#Orin Nano 4GB-DRAM (P3767-0004) PROD MODULE

source “${LDK_DIR}/p3767.conf.common”;

DEFAULT_EMC_FUSE=“0”;
PINMUX_CONFIG=“custom-pinmux.dtsi”;
PMC_CONFIG=“custom-padvoltage-default.dtsi”;
BPFDTB_FILE=“tegra234-bpmp-3767-0004-3509-a02.dtb”;
DTB_FILE=“tegra234-p3767-0004-p3768-0000-a0.dtb”;
TBCDTB_FILE=“${DTB_FILE}”;
EMMC_CFG=“flash_t234_qspi_sd.xml”;

It gives fusb301 error. There is no USB-C driver on my card, It is connected directly to the USB hub. It used to see when you plugged in a mouse, but now it doesn’t.

I was not having any problems with Orin NX 16GB, but it malfunctioned. I am having problems with Orin nano 4GB, I think the difference is in the configuration files.

Or, I was using the r35.2.1 version and now I am using the r35.4.1 version. Could this be the cause of the problem?

Thanks.

If you don’t have fusb301 on your board, then you need to disable it from your device tree.

Hello,

I changed the board configuration to suit the Xviewer NX module as follows.

BPFDTB_FILE=“tegra234-bpmp-3767-0004-3509-a02.dtb”;
DTB_FILE=“tegra234-p3767-0004-p3509-a02.dtb”;

It doesn’t give fusb301 error now. I’m just using USB0.

My goal is to use it as a Programmer when the Device is in Recovery Mode and to use it in OTG mode when the Device is in Normal mode.

For OTG Mode, I supply 5V externally to the devices.

In this way, I used Orin NX for a long time and there was no problem.

I using Jetson Orin Nano Now.
Now I can see the LT4 files when I connect it to the PC as if it is running in device mode.

But when I connect a mouse via OTG, it doesn’t work.

Thanks.

Hi,

I really don’t know what are you talking about here.

For example, what is Xviewer NX? There is no such thing in NVIDIA. What is the reason to modify dtb for that?

Also, the actual way here is you should read this document to modify your device tree to match your board design.

https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=universal#porting-the-universal-serial-bus

I don’t know you or your board. It won’t be possible to just say something like “oh you missed something so usb0 cannot work”. Everything is case by case.

Hello,

Sorry I made a spelling mistake, the correct word should be “Xavier NX”.

When I had the screen problem, you said that the P3509 code was for the Xavier NX carrier card.
(Jetson Orin Nano Display Problem)

Based on this, I changed the DTB_FILE path to P3509.

I think there is no USB-C controller on the P3509 board, so it no longer gives the fusb301 error.

Configuration used:

BPFDTB_FILE=“tegra234-bpmp-3767-0004-3509-a02.dtb”;
DTB_FILE=“tegra234-p3767-0004-p3509-a02.dtb”;

Used Pinmux:

custom-board-gpio-default.dtsi.txt (3.5 KB)
custom-board-padvoltage-default.dtsi.txt (2.4 KB)
custom-board-pinmux.dtsi.txt (65.8 KB)

I share the hardware diagram below.

I can flash the device in Recovery mode on the carrier card without any problems.

When I connect the device to the PC with the USB-A Male cable, the “L4T-Readme” driver appears as shown below.

But when I connect a USB Mouse to the USB-A Female Socket, it does not work.

Thanks.

Thanks.

Hi,

I am not sure about your question here.
Are you trying to do something on NV devkit p3509 or you are working on your custom board?

Please be aware that, if you are working on custom board, just tell us you are working on custom board. No need to mention p3509. Mentioning p3509 is just like a noise to us.
We have heard lots of user talking about “my board is same as devkit”. But most cases turn out they are not same as devkit at all.

Also, are you sure you are asking the same thing that matches your diagram?

For example, your diagram looks like a micro usb port but your last scenario is a USB Mouse to the USB-A Female Socket.
Why a micro usb port becomes a USB-A female socket?

Hello,

I’m sorry I didn’t write clearly enough. I think I was misunderstood.

Yes, we are developing a special carrier card. The diagram is exactly as above.
(Inspired by Figure 7-1. USB Micro B USB Device and Recovery Connection Example.)

Please don’t mind the shape of the usb socket. We only use USB 2.0 connection.

What we want to do is to flash only while in Recovery mode and to operate hardware using connections such as Mouse and Keyboard while Linux is running.

I would be glad if your could help.

Thanks.

HI @ugurortac ,

The cause of the problem could be related to USB SerDes Lane Assignment. Please check the necessary device tree changes and corroborate that you custom carrier board fulfils what is specified there.

Embedded SW Engineer at RidgeRun Contact us: support@ridgerun.com Developers wiki: https://developer.ridgerun.com/ Website: www.ridgerun.com

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.