Enabling USB 3.0 on Jetson TK-1 L4T 21.7

I have Jetson-TK1
I wanted to enable HID and USB3.0.
I use Tegra124_Linux_R21.7.0_armhf.tbz2
and Tegra_Linux_Sample-Root-Filesystem_R21.7.0_armhf.tbz2

I was enable HID sucsessfully, but I can’t to enable USB3.0 because file extlinux.conf in “boot” directory has different from page on https://www.e-consystems.com/Articles/Camera/USB-3-Camera-on-JetsonTK1-kit.asp
My extlinux.conf don’t have second occurrence of usb_port_owner_info=0.

I tried to add the second occurrence of usb_port_owner_info, after that usb was broken.

How I can to enable USB3.0?

I know nothing about your particular board or camera. In general though, often when a kernel parameter is repeated, the last occurrence is the one taken. An example of a parameter which actually has a meaning when used twice is the “console=” entry since there can be more than one terminal with boot messages (almost always the first local console and the serial console). I am not positive, but it seems “usb_port_owner_info” will only use the last value and multiple previous values would be ignored.

On the other hand, device tree is important for some of the USB setup. This would differ on different carrier boards. If a port is not type-B (we’ll ignore type-C since it is not used with any TK1), then the port cannot act as device of any kind, it must be host. The “OTG” (or On The Go) port actually accepts either a type-A or a type-B micro-USB connector…an ID pin shows which type is currently connected, so the requirement of a type-B for becoming a device is still valid. The micro-OTG port on the stock Jetson TK1 is not wired for USB3 and in no case can it ever run at USB3 speeds. For USB3 you would need a custom board.

I don’t know what you mean by enable HID, because HID in its normal meaning is that the host has a USB port and someone has connected a Human Interface Device class…then a generic driver takes over. USB itself actually has no concept of HID other than being packaged with a well-known interface and driver for HID devices. For example, one could remove the HID driver and a keyboard and mouse would still show up under “lsusb”, but they wouldn’t have a driver and would be inert.

The less common context is having a port become a device, and the device the port acts like is a mouse or keyboard (or any HID device). Are you trying to make the port behave as an HID device? If so, then this is a separate topic for which another thread has been asking similar information.

You might want to give specific details of what it is you actually want to do, e.g., if you are attaching a camera a certain way.


This video show that I want to do.(Enabling USB 3.0 type A for Jetson TK1).
In this video is used linux-tegra-l4t-21-1, but I use linux-tegra-l4t-21-7 (https://developer.nvidia.com/linux-tegra-r217).
And in this video user changed already existing second parameter “usb_port_owner_info” and got success.
But in my version of extlinux.conf file I have only one parameter “usb_port_owner_info”.
I tried to add new second parameter “usb_port_owner_info” and set value 2 for it. But after that USB2.0 did’t work and only reflashing Jetson TK1 was recovered USB2.0.
I need HID for using Trigger Mode for cameras.(of default, HID is disabled on jetson TK1)

What do you see from “lsusb -t”? If a root hub shows 480M, the speed is USB2. If a root hub shows 5000M, then the port is already USB3. Devices either not capable of USB3, or devices without sufficient signal quality will themselves show 480M while root hub shows 5000M. That URL is for a very old L4T release, and you shouldn’t need to enable USB3 on the full-sized type-A port (the micro-OTG port is not capable of USB3, it lacks the wiring).

I see next

Jetson TK1 ( https://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html ) has
1 USB 2.0 Port, Micro AB
1 USB 3.0 Port, A

But on default, port USB 3.0 type А is worked as USB 2.0. I need to enable USB 3.0 on Jetson TK1.

Question is close. Thank you, I solve this problem.

Yes, the 480M on root hubs does show USB2. I am curious what solved the issue for you?

After successfully booting the device, edit the file extlinux.conf in /boot and make the following changes on the Jetson device itself.
The parameter usb_port_owner_info=0 should be changed to usb_port_owner_info=2.