USB3.0 recognition at boot?

With a See3CAM camera connected at boot up it is recognized as a USB2.0 device.

It must be re-attached to be recognized as a USB3.0 device.

Is there a simple way to reset the usb subsystem on the Jetson (in rc.local), or better yet a mechanism so that the Jetson recognizes attached USB3.0 devices at boot-up?

What version of L4T are you using? Should be visible via:

head -n 1 /etc/nv_tegra_release

What is the output of:

lsusb | egrep -i hub

If you have flashed did you update ODMDATA for USB3?

ubuntu@jetson:~$ head -n 1 /etc/nv_tegra_release
# R21 (release), REVISION: 2.0, GCID: 4814984, BOARD: ardbeg, EABI: hard, DATE: Mon Dec  1 22:48:21 UTC 2014
ubuntu@jetson:~$ lsusb | grep -i hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ubuntu@jetson:~$ lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/2p, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/6p, 480M
    |__ Port 3: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

unplug camera >> replug camera, then

ubuntu@jetson:~$ lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
ubuntu@jetson:~$ lsusb
Bus 003 Device 002: ID 2560:c152  
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 001 Device 004: ID 1307:0168 Transcend Information, Inc. 
Bus 001 Device 003: ID 046d:c00c Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ubuntu@jetson:~$

My Jetson came with R19.3 pre-installed. I’ve installed from the JetPackTK1-1.0, and reflashed after setting ODMDATA=0x6209C000.

I will now be rolling back to R19.3 (and hope to keep the rest of JetPack installed), as I am also hitting the nvapv firmware bug mentioned in this thread → portaudio causes kernel crash in L4T_R21.1 and L4T_R21.2 - Jetson TK1 - NVIDIA Developer Forums

For LT4 21.x, to enable USB 3.0 you have to edit /boot/extlinux/extlinux.conf

ODMData is used by the LT4 19.3 fastboot boot loader.

The forum post discussing this:

https://devtalk.nvidia.com/default/topic/787495/-solved-l4t-21-1-enable-usb-3-0-/

Here’s a blog post about it:

Yes. Like this.

ubuntu@jetson:~$ sudo cat /media/ubuntu/372b76bf-84a3-45d6-95f2-15f27d08da07/boot/extlinux/extlinux.conf 
[sudo] password for ubuntu: 
TIMEOUT 30
DEFAULT primary

MENU TITLE Jetson-TK1 USB boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/zImage
      FDT /boot/tegra124-jetson_tk1-pm375-000-c00-00.dtb
      APPEND console=ttyS0,115200n8 console=tty1 no_console_suspend=1 lp0_vec=2064@0xf46ff000 mem=2015M@2048M memtype=255 ddr_die=2048M@2048M section=256M pmuboard=0x0177:0x0000:0x02:0x43:0x00 tsec=32M@3913M otf_key=c75e5bb91eb3bd947560357b64422f85 usbcore.old_scheme_first=1 core_edp_mv=1150 core_edp_ma=4000 tegraid=40.1.1.0.0 debug_uartport=lsport,3 power_supply=Adapter audio_codec=rt5640 modem_id=0 android.kerneltype=normal fbcon=map:1 commchip_id=0 usb_port_owner_info=2 lane_owner_info=6 emc_max_dvfs=0 touch_id=0@0 board_info=0x0177:0x0000:0x02:0x43:0x00 root=/dev/sda1 rw rootwait
ubuntu@jetson:~$

I made both changes, 'cause I’m a belt and suspenders kinda guy. Also, I suspect the OMDATA value is copied into the BCT(?) partition at flash and is providing a hint to the firmware.

.

Interesting, and your /boot/extlinux/extlinux.conf file on the Jetson has the

usb_port_owner_info=2

in it? Does lsusb report back that you have a 3.0 hub?

Yes, as seen upthread.

The curious issue is that a SuperSpeed camera attached to the USB3.0 hub is detected as a USB2.0 device at boot-up.

I am now falling back to R19.3 to resolve the nvapv firmware bug, and will see how it goes from there.

Since my rootfs is on SATA/SSD it could be that some library is not available. Problably should have mentioned that.

.

The same behavior is seen with R19.3/fastboot.

For the sake of completeness.

root@tegra-ubuntu:~# head -1 /etc/nv_tegra_release 
# R19 (release), REVISION: 3.0, GCID: 4143443, BOARD: ardbeg, EABI: hard, DATE: Wed Jun 18 18:34:47 UTC 2014
root@tegra-ubuntu:~# lsusb
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 2560:c152  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 001 Device 004: ID 1307:0168 Transcend Information, Inc. 
Bus 001 Device 003: ID 046d:c00c Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@tegra-ubuntu:~# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/2p, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/6p, 480M
    |__ Port 3: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
root@tegra-ubuntu:~#

unplug && replug camera

root@tegra-ubuntu:~# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/2p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xhci/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-ehci/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
root@tegra-ubuntu:~#

Hmmm…

Hello,R
I am facing same issue.
Is there any update n this issue?

Regards,
Rahul Shah

You will need to describe more details. Do you have a USB device which isn’t even seen? If you check “dmesg | tail -n 40” prior to connecting the device, and then again after connecting you will be able to see the messages specific to plugging in the particular device. Post that information (you can preserve formatting if you mouse highlight it and then click the “code” icon in the upper right…looks like “</>”).

Also, with the device connected, post the following information:

cat /proc/cmdline
lsusb -t

Is it correct that this is the development board from NVIDIA and not a third party board?