USB C ports not recognized as USB 3.1

I am using the XAVIER JETSON carrier board and having difficulty getting my external devices to be recognized as USB 3.1 when they interface with the USB-C port.

When I plug in a device, UBUNTU recognizes these ports as USB 2.0 and does not provide full speed communications. When I plug the same devices into the USB A port, the devices are recognized correctly and I am able to get full speed communications.

Any idea why the USB C ports would not be full speed?

Hi,
Please share more information. So the device is with USB A port or USB C port? Or both? Would like to know how you plug in same device into two different types of port.

What is your “lsusb -t” output when connected at each port?

There are 2 ports on the Jetson: USB A and USB C. When I plug my external USB 3.1 device into the USB A port it is recognized as USB 3.1. When I plug my external USB 3.1 device into the USB C port, it is recognized as USB 2.0.

Hi,
So your external USB 3.1 device is in type A, and you use an adapter to connect to Xavier type C port?

Such as the adapter shown in below link:
https://www.amazon.com/dp/B07DNQ9FD9/ref=sspa_dk_detail_1?psc=1&pd_rd_i=B07DNQ9FD9&pd_rd_w=JF9kI&pf_rd_p=10ebaf99-73de-4f5d-a994-e7f5fc52f86f&pd_rd_wg=JvtX6&pf_rd_r=1KSZ5Z4ABFKF8ABA5V38&pd_rd_r=5592401e-2f39-11e9-be29-b3f9c735aeaf

What is your “lsusb -t” output when connected at each port?

With USB C:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 10000M
|__ Port 1: Dev 3, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 3, If 1, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 3, If 2, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 3, If 3, Class=Video, Driver=uvcvideo, 5000M
|__ Port 1: Dev 3, If 4, Class=Video, Driver=uvcvideo, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M

With USB A:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 10000M
|__ Port 4: Dev 11, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 4: Dev 11, If 1, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 4: Dev 11, If 2, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 4: Dev 11, If 3, Class=Video, Driver=uvcvideo, 5000M
|__ Port 4: Dev 11, If 4, Class=Video, Driver=uvcvideo, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M

FYI, “5000M” is USB3 gen. 1 and “10000M” is USB3 gen. 2. The root HUB is the limit for any device connected. USB2 shows as “480M” (480Mb/s).

The interesting thing is that in both cases the electrical timing of the two connectors is the same…both have a root HUB supporting USB3 gen. 2 (10Gb/s), and the device is running at USB3 gen. 1 (5Gb/s). So the issue is that some downstream consumer of the device is failing to use the device at USB3 speeds even though the port is making it possible.

What method are you using to determine the device is treated as USB2?