Orin AGX developer kit USB Device Issue

Hello everyone,

I am currently using the NVIDIA JETSON AGX ORIN developer kit, and have been troubled by USB issues for a long time. I have several USB TTY devices (FT232BL, CH341, PL2303) or USB ACM devices (Ublox f9p, teensy 4.1), and the COM ports of these devices become invalid after opening them one to three times, rendering them unable to be read from or written to unless the devices are unplugged or reset. This problem persists from JP5.0 to the current 5.1.1, and I have not seen any relevant messages in dmesg. Could you please advise me on how to deal with this issue? If more information is needed, please let me know. Thank you.

dmesg:

[  871.226312] usb 1-4.4: new full-speed USB device number 17 using tegra-xusb
[  871.333671] usb 1-4.4: New USB device found, idVendor=067b, idProduct=2303, bcdDevice= 3.00
[  871.333683] usb 1-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  871.333687] usb 1-4.4: Product: USB-Serial Controller
[  871.333691] usb 1-4.4: Manufacturer: Prolific Technology Inc.
[  871.336067] pl2303 1-4.4:1.0: pl2303 converter detected
[  871.351551] usb 1-4.4: pl2303 converter now attached to ttyUSB0
[ 1290.330887] pl2303 ttyUSB0: pl2303_set_control_lines - failed: -19
[ 1290.337340] pl2303 ttyUSB0: error sending break = -19
[ 1290.342829] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 1290.342864] pl2303 1-4.4:1.0: device disconnected
[ 1302.071158] usb 1-4.4: new full-speed USB device number 18 using tegra-xusb
[ 1317.458990] usb 1-4.4: device descriptor read/64, error -110
[ 1333.282838] usb 1-4.4: device descriptor read/64, error -110
[ 1333.478792] usb 1-4.4: new full-speed USB device number 19 using tegra-xusb
[ 1351.226676] usb 1-4.3: new full-speed USB device number 20 using tegra-xusb
[ 1351.333284] usb 1-4.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[ 1351.333288] usb 1-4.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1351.333290] usb 1-4.3: Product: USB Serial
[ 1351.335371] ch341 1-4.3:1.0: ch341-uart converter detected
[ 1351.342506] usb 1-4.3: ch341-uart converter now attached to ttyUSB0
[ 1398.106089] usb 1-4.3: USB disconnect, device number 20
[ 1398.106713] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 1398.106758] ch341 1-4.3:1.0: device disconnected
[ 1502.607577] usb 1-4.3: new full-speed USB device number 26 using tegra-xusb
[ 1502.691397] usb 1-4.3: device descriptor read/64, error -32
[ 1502.883419] usb 1-4.3: device descriptor read/64, error -32
[ 1503.079380] usb 1-4.3: new full-speed USB device number 27 using tegra-xusb
[ 1503.190799] usb 1-4.3: New USB device found, idVendor=1546, idProduct=01a9, bcdDevice= 1.00
[ 1503.190808] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1503.190813] usb 1-4.3: Product: u-blox GNSS receiver
[ 1503.190816] usb 1-4.3: Manufacturer: u-blox AG - www.u-blox.com
[ 1503.193133] cdc_acm 1-4.3:1.0: ttyACM0: USB ACM device

udevadm info:

orin@orin:~$ udevadm info --name=/dev/ttyUSB0 --attribute-walk

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/3610000.xhci/usb1/1-4/1-4.4/1-4.4:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.4/1-4.4:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="pl2303"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.4/1-4.4:1.0':
    KERNELS=="1-4.4:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="pl2303"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bNumEndpoints}=="03"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{authorized}=="1"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceProtocol}=="00"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.4':
    KERNELS=="1-4.4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bmAttributes}=="80"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{tx_lanes}=="1"
    ATTRS{manufacturer}=="Prolific Technology Inc."
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{rx_lanes}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{ltm_capable}=="no"
    ATTRS{maxchild}=="0"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{urbnum}=="324"
    ATTRS{devnum}=="17"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{idProduct}=="2303"
    ATTRS{bDeviceClass}=="00"
    ATTRS{quirks}=="0x0"
    ATTRS{speed}=="12"
    ATTRS{devpath}=="4.4"
    ATTRS{product}=="USB-Serial Controller"
    ATTRS{version}==" 1.10"
    ATTRS{bcdDevice}=="0300"
    ATTRS{idVendor}=="067b"
    ATTRS{devspec}=="(null)"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{configuration}==""
    ATTRS{authorized}=="1"
    ATTRS{busnum}=="1"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4':
    KERNELS=="1-4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{urbnum}=="261"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bDeviceClass}=="09"
    ATTRS{authorized}=="1"
    ATTRS{tx_lanes}=="1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{idProduct}=="5420"
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="4"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{maxchild}=="4"
    ATTRS{devspec}=="(null)"
    ATTRS{busnum}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bDeviceProtocol}=="02"
    ATTRS{bcdDevice}=="0140"
    ATTRS{rx_lanes}=="1"
    ATTRS{speed}=="480"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{product}=="4-Port USB 2.0 Hub"
    ATTRS{configuration}==""
    ATTRS{idVendor}=="0bda"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Generic"
    ATTRS{removable}=="unknown"
    ATTRS{version}==" 2.10"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{quirks}=="0x0"

  looking at parent device '/devices/platform/3610000.xhci/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{busnum}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{quirks}=="0x0"
    ATTRS{maxchild}=="4"
    ATTRS{manufacturer}=="Linux 5.10.104-tegra xhci-hcd"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{devnum}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{serial}=="3610000.xhci"
    ATTRS{rx_lanes}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{idProduct}=="0002"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{tx_lanes}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bmAttributes}=="e0"
    ATTRS{configuration}==""
    ATTRS{bDeviceClass}=="09"
    ATTRS{bcdDevice}=="0510"
    ATTRS{authorized_default}=="1"
    ATTRS{idVendor}=="1d6b"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{urbnum}=="36"
    ATTRS{devpath}=="0"
    ATTRS{speed}=="480"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{authorized}=="1"
    ATTRS{bMaxPacketSize0}=="64"

  looking at parent device '/devices/platform/3610000.xhci':
    KERNELS=="3610000.xhci"
    SUBSYSTEMS=="platform"
    DRIVERS=="tegra-xusb"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""
orin@orin:~$ udevadm info --name=/dev/ttyUSB0 --attribute-walk

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3/1-4.3:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3/1-4.3:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="ch341-uart"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3/1-4.3:1.0':
    KERNELS=="1-4.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="ch341"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{authorized}=="1"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceSubClass}=="01"
    ATTRS{bNumEndpoints}=="03"
    ATTRS{bInterfaceProtocol}=="02"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3':
    KERNELS=="1-4.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{quirks}=="0x0"
    ATTRS{bcdDevice}=="0264"
    ATTRS{speed}=="12"
    ATTRS{maxchild}=="0"
    ATTRS{ltm_capable}=="no"
    ATTRS{rx_lanes}=="1"
    ATTRS{devspec}=="(null)"
    ATTRS{removable}=="unknown"
    ATTRS{authorized}=="1"
    ATTRS{configuration}==""
    ATTRS{bMaxPower}=="98mA"
    ATTRS{bMaxPacketSize0}=="8"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{product}=="USB Serial"
    ATTRS{busnum}=="1"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{idProduct}=="7523"
    ATTRS{bmAttributes}=="80"
    ATTRS{version}==" 1.10"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{urbnum}=="15"
    ATTRS{devpath}=="4.3"
    ATTRS{devnum}=="20"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bDeviceClass}=="ff"
    ATTRS{idVendor}=="1a86"
    ATTRS{tx_lanes}=="1"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4':
    KERNELS=="1-4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{product}=="4-Port USB 2.0 Hub"
    ATTRS{bcdDevice}=="0140"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="02"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{tx_lanes}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{devpath}=="4"
    ATTRS{manufacturer}=="Generic"
    ATTRS{busnum}=="1"
    ATTRS{urbnum}=="354"
    ATTRS{devnum}=="3"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{idProduct}=="5420"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{configuration}==""
    ATTRS{ltm_capable}=="no"
    ATTRS{speed}=="480"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{devspec}=="(null)"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{rx_lanes}=="1"
    ATTRS{idVendor}=="0bda"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{version}==" 2.10"
    ATTRS{removable}=="unknown"
    ATTRS{authorized}=="1"
    ATTRS{bNumConfigurations}=="1"

  looking at parent device '/devices/platform/3610000.xhci/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{manufacturer}=="Linux 5.10.104-tegra xhci-hcd"
    ATTRS{tx_lanes}=="1"
    ATTRS{busnum}=="1"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{devpath}=="0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{speed}=="480"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{bcdDevice}=="0510"
    ATTRS{rx_lanes}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{removable}=="unknown"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bmAttributes}=="e0"
    ATTRS{devnum}=="1"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{ltm_capable}=="no"
    ATTRS{urbnum}=="36"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{configuration}==""
    ATTRS{idProduct}=="0002"
    ATTRS{serial}=="3610000.xhci"
    ATTRS{idVendor}=="1d6b"

  looking at parent device '/devices/platform/3610000.xhci':
    KERNELS=="3610000.xhci"
    SUBSYSTEMS=="platform"
    DRIVERS=="tegra-xusb"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

orin@orin:~$ udevadm info --name=/dev/ttyACM0 --attribute-walk

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3/1-4.3:1.0/tty/ttyACM0':
    KERNEL=="ttyACM0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3/1-4.3:1.0':
    KERNELS=="1-4.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cdc_acm"
    ATTRS{bInterfaceClass}=="02"
    ATTRS{bInterfaceSubClass}=="02"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bmCapabilities}=="2"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{authorized}=="1"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{bAlternateSetting}==" 0"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4/1-4.3':
    KERNELS=="1-4.3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{maxchild}=="0"
    ATTRS{bmAttributes}=="c0"
    ATTRS{bcdDevice}=="0100"
    ATTRS{configuration}==""
    ATTRS{devnum}=="27"
    ATTRS{idVendor}=="1546"
    ATTRS{manufacturer}=="u-blox AG - www.u-blox.com"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{devpath}=="4.3"
    ATTRS{tx_lanes}=="1"
    ATTRS{product}=="u-blox GNSS receiver"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{devspec}=="(null)"
    ATTRS{ltm_capable}=="no"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bDeviceClass}=="02"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{authorized}=="1"
    ATTRS{bNumInterfaces}==" 2"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="1"
    ATTRS{urbnum}=="125"
    ATTRS{removable}=="unknown"
    ATTRS{version}==" 1.10"
    ATTRS{quirks}=="0x0"
    ATTRS{rx_lanes}=="1"
    ATTRS{idProduct}=="01a9"

  looking at parent device '/devices/platform/3610000.xhci/usb1/1-4':
    KERNELS=="1-4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{quirks}=="0x0"
    ATTRS{speed}=="480"
    ATTRS{devnum}=="3"
    ATTRS{product}=="4-Port USB 2.0 Hub"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bmAttributes}=="e0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{rx_lanes}=="1"
    ATTRS{devpath}=="4"
    ATTRS{tx_lanes}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{maxchild}=="4"
    ATTRS{idProduct}=="5420"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{configuration}==""
    ATTRS{authorized}=="1"
    ATTRS{bcdDevice}=="0140"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{busnum}=="1"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bDeviceProtocol}=="02"
    ATTRS{ltm_capable}=="no"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{idVendor}=="0bda"
    ATTRS{version}==" 2.10"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{devspec}=="(null)"
    ATTRS{manufacturer}=="Generic"
    ATTRS{urbnum}=="559"

  looking at parent device '/devices/platform/3610000.xhci/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{manufacturer}=="Linux 5.10.104-tegra xhci-hcd"
    ATTRS{removable}=="unknown"
    ATTRS{tx_lanes}=="1"
    ATTRS{devpath}=="0"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceClass}=="09"
    ATTRS{speed}=="480"
    ATTRS{ltm_capable}=="no"
    ATTRS{maxchild}=="4"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bcdDevice}=="0510"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{authorized_default}=="1"
    ATTRS{urbnum}=="36"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{authorized}=="1"
    ATTRS{configuration}==""
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{version}==" 2.00"
    ATTRS{idVendor}=="1d6b"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{idProduct}=="0002"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="3610000.xhci"

  looking at parent device '/devices/platform/3610000.xhci':
    KERNELS=="3610000.xhci"
    SUBSYSTEMS=="platform"
    DRIVERS=="tegra-xusb"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks

No, we have not solved the problem. We don’t know what other methods to try or how to identify the cause of the issue. This problem has been bothering us for a long time. Please help us. Thank you.

Hi nvrc,

Could you help to verify on R35.3.1 with the overlay package for AGX Orin?
Jetson Linux 35.3.1 | NVIDIA Developer

Please also provide the serial console log after boot up for further check.

Sorry for the late reply. We will try this solution as soon as possible. Thank you for suggesting this method.

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