TX2 JetPack4.2, After reboot TX2 can't recogonize USB3.0 Camera, but USB3.0 UDisk can be recogonized...

Dear Sir,

TX2 using JetPack4.2 with two USB3.0 (USB_SS0 and USB_SS1).

When plug-in one USB3.0 Camera and one USB3.0 UDisk, both USB3.0 work fine, but after reboot TX2, there is only USB3.0 UDisk works fine and USB3.0 Camera gone away.
When plug-in two USB3.0 UDisks, both USB3.0 work fine, after reboot TX2, both USB3.0 UDisks work fine.

Can anyone give me any advice?

PS:
USB3.0 Camera: STEREOLABS ZED-M

After reboot TX2 (USB3.0 Camera and USB3.0 UDisk plug-in)
nvidia@tw-nvidia:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2b03:f681  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nvidia@tw-nvidia:~$ lsusb -t
nvidia@tw-nvidia:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/3p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
    |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
After reboot TX2 (USB3.0 Camera and USB3.0 UDisk plug-in), then re-plug USB3.0 Camera
nvidia@tw-nvidia:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/3p, 5000M
    |__ Port 1: Dev 3, If 0, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 3, If 1, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
    |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

tx2.jetpack4.2.USB3.0.bootup.dmesg.log (58.4 KB)
TX2.JetPack4.2.Linux_for_Tegra.rar (50.3 KB)

Could you explain what is the usecase for the log? I see you upload two logs but are duplicated.

In your log, I see below device is up. Could you share what is this device? A mouse or keyboard from STEREOLABS or just your camera?

Also, the USB disk is not there in your log. Is this a correct log?

[   11.231296] usb 1-3: new full-speed USB device number 2 using tegra-xusb
[   11.254084] usb 1-3: New USB device found, idVendor=2b03, idProduct=f681
[   11.254089] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   11.254092] usb 1-3: Product: ZED-M Hid Device
[   11.254095] usb 1-3: Manufacturer: STEREOLABS
[   11.254097] usb 1-3: SerialNumber: 10027594

It sounds like a bandwidth issue. Could you try below setting to enable more debug log?

echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control
echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control
echo 8 > /proc/sys/kernel/printk
dmesg

Dear WayneWWW,

  1. Log and DTB files duplicated, just ignore
  2. STEREOLABS ZED-M is a Stereo Camera (USB3.0 Interface) , includes one Hid Device(2.0) and one UVC Device(3.0)
    https://www.stereolabs.com/zed/
  3. usecase :
    Step1. plug-in STEREOLABS ZED-M and reboot TX2, after bootup, the USB3.0 is gone, there is just a Hid Device(2.0) , and UVC not work
nvidia@tw-nvidia:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/3p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
    |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

Step2. plug-out and re-plug-in STEREOLABS ZED-M, the UVC(USB3.0) and Hid Device(USB2.0) both showup and the UVC works fine

nvidia@tw-nvidia:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/3p, 5000M
    |__ Port 1: Dev 3, If 0, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 1: Dev 3, If 1, Class=Video, Driver=uvcvideo, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
    |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
  1. more debug log is attached
echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control
echo 'module xhci_hcd +p' > /sys/kernel/debug/dynamic_debug/control
echo 8 > /proc/sys/kernel/printk
dmesg

enable.usb.debug.dmesg.0626.log (60.7 KB)

Hi Dennis,

So usb disk is not needed for reproducing issue?

Dear WayneWWW,

Yes, without USB3.0 UDisk, the problem is still there.

Dear WayneWWW,

BTW, I flash to JetPack3.3 there is no such problem, I attached the bootup dmesg log here.

[    8.969949] usb 1-3: new full-speed USB device number 2 using xhci-tegra
[    9.014404] usb 2-1: new SuperSpeed USB device number 2 using xhci-tegra
[    9.047414] usb 2-1: New USB device found, idVendor=0951, idProduct=1666
[    9.056777] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    9.066643] usb 2-1: Product: DataTraveler 3.0
[    9.073731] usb 2-1: Manufacturer: Kingston
[    9.073733] usb 2-1: SerialNumber: 08606E6B643FB230771921C1
[    9.074437] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6
[    9.077047] usb-storage 2-1:1.0: USB Mass Storage device detected
[    9.078514] scsi host2: usb-storage 2-1:1.0
[    9.108432] usb 1-3: New USB device found, idVendor=2b03, idProduct=f681
[    9.108435] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    9.108437] usb 1-3: Product: ZED-M Hid Device
[    9.108439] usb 1-3: Manufacturer: STEREOLABS
[    9.108440] usb 1-3: SerialNumber: 10027594
[    9.190423] usb 2-3: new SuperSpeed USB device number 3 using xhci-tegra
[    9.214965] usb 2-3: New USB device found, idVendor=2b03, idProduct=f682
[    9.224031] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    9.233400] usb 2-3: Product: ZED-M
[    9.239101] usb 2-3: Manufacturer: Technologies, Inc.

tx2.jetpack3.3.ZED M Camera.dmesg.log (64.3 KB)

Thanks for sharing. We will check.

Also, since only one camera can reproduce issue, could you reproduce issue on devkit?

Dear WayneWWW,

The devkit has only one USB3.0, it’s okay, I just verified here.
Our carrier board has use two USB3.0 ports(USB_SS0 and USBSS1), both as USB3.0 are fine(two USB3.0 UDisk work fine), but after reboot this USB3.0 Stereo Camera failed.

Hi Dennis,

Okay, then we are back to your custom carrier board. Does this issue happen on both ports? or only specific one?

Which configuration are you using? Config #6?

Dear WayneWWW,

Yes, the specific one USB3.0 has this issue(USB_SS1), my configuration seems Config#3 (ODMDATA = 0x7090000).

Do I need upload the whole dts file here?

Thanks for your reponse.

Yes, please share the dts.

Dear WayneWWW,

Okay, please refer the upload dts files.
hardware.rar (10.3 KB)

Hi Leetop,

For the pci@1,0, please set nvidia,num-lanes=<2>. We already updated the wiki page for this issue months ago.

https://elinux.org/Jetson/TX2_USB

Dear WayneWWW,

I modified pci@1,0, but the problem is still there, any other advise ?

pcie-controller@10003000 {
                status = "okay";
                pci@1,0 {
                        nvidia,num-lanes = <2>;
                        status = "okay";
                };
                pci@2,0 {
                        nvidia,num-lanes = <1>;
                        status = "disabled";
                };
                pci@3,0 {
                        nvidia,num-lanes = <1>;
                        status = "disabled";
                };
        };

usb3.0dmesg.0627_1200.log (57.9 KB)

Hi Dennis,

Is this related to only to ZED cam? I mean if you put other usb camera for test, would you reproduce issue on that port too?

Dear WayneWWW,

  1. using JetPack3.3 ZED Cam using both USB3.0 ports works fine

  2. using JetPack4.2 ZED Cam USB_SS0 works fine, USB_SS1 is failed(after reboot).

  3. using JetPack4.2 RealSense Cam USB3.0 still has this problem, not only ZED Cam.

  4. using JetPack4.2 after bootup and hot plug ZED and Realsense USB3.0 Port works fine

HI Dennis,

Besides Realsense and ZED-M (I guess it should be ZED-mini, right?), do you have any other kind of usb camera? Is there any simple webcam?

Actually, we resolve similar issue for ZED-M months ago. I would like to see if we can narrow down this issue.

Dear WayneWWW,

Yes, you are right, it’s ZED-M(ZED Mini), other kind of usb camera, most of them are USB2.0 UVC devices, such Logitech, Xiaomi etc.(they work fine).

Can you give me the soltion of ZED-M months ago?

Hi Dennis,

I just checked the notice it seems already inside rel-32.1 driver(if you are using jetpack4.2), so maybe it is not the cause.

Could you also share your schematic?

Dear WayneWWW,

Sure, please refer to the upload pdf file(schematic) .