Point Grey USB 3.0 camera cannot be detected

Hi,

I am trying to get the Flea3 Point Grey USB 3.0 camera (FL3-U3-13S2M-CS) work on my TX2. The system is flashed with JetPack 3.3. L4T version is R28.2.1.

After plugging it in to the USB port on board, lsusb shows nothing about the camera. dmesg kept showing:

[24588.505491] xhci-tegra 3530000.xhci: exiting ELPG
[24588.534984] xhci-tegra 3530000.xhci: Firmware timestamp: 2017-12-07 10:50:08 UTC, Version: 55.09 release
[24588.548196] xhci-tegra 3530000.xhci: exiting ELPG done
[24590.413972] usb 2-1: Device not responding to setup address.
[24592.270128] usb 2-1: Device not responding to setup address.
[24592.478547] usb 2-1: device not accepting address 94, error -71
[24592.570896] usb usb2-port1: config error
[24592.575213] xhci-tegra 3530000.xhci: entering ELPG
[24592.589085] xhci-tegra 3530000.xhci: entering ELPG done

However, if I bridge the camera and TX2 with a USB 2.0 hub, the camera can be detected with 2.0 interface.

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-tegra/3p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-tegra/4p, 480M
    |__ Port 2: Dev 51, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 52, If 0, Class=Vendor Specific Class, Driver=, 480M
$ dmesg
...
[25028.665045] usb 1-2.4: new high-speed USB device number 52 using xhci-tegra
[25028.787094] usb 1-2.4: New USB device found, idVendor=1e10, idProduct=3007
[25028.794127] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[25028.801807] usb 1-2.4: Product: Flea3 FL3-U3-13S2M
[25028.807158] usb 1-2.4: Manufacturer: Point Grey Research
[25028.812670] usb 1-2.4: SerialNumber: 00C8B1F0
...

According to https://elinux.org/Jetson/Cameras#USB_3.0, my camera should be able to work at 120 FPS. But with FlyCapture testing tool, it could only reach 30 FPS. I suspect it is because the camera was using USB 2.0 driver so I really want to make the USB 3.0 driver work.

I tried to plug in the camera to a desktop with Ubuntu 16.04, the camera could be detected with USB 3.0 driver.
I also tried to use a USB 3.0 hub with external power source, the result was the same as directly plugging the camera to TX2, not being detected.

Did anyone experience similar problem?

Thanks!

Please try https://devtalk.nvidia.com/default/topic/1038413/jetson-tx2/usb-3-0-hub-not-work-on-tx2/post/5276585/#5276585

Since some cameras can consume significant power, is your USB2 HUB powered with external power (self powered), or is it powered by the cable? There are fewer problems with self-powered HUBs which don’t draw power from the host. Reverting from USB3 to USB2 can also imply lower power consumption (a USB3 device is allowed to draw more power than a USB2 device).

Thanks for replying.

I tried changing the firmware and enabling dynamic debug. And then plug the camera to the USB port. The log is here.

[  352.229700] xhci-tegra 3530000.xhci: exiting ELPG
[  352.260038] xhci-tegra 3530000.xhci: Firmware timestamp: 2018-08-16 06:44:38 UTC, Version: 55.09 release
[  352.272501] xhci-tegra 3530000.xhci: // Setting command ring address to 0x80021001
[  352.280957] xhci-tegra 3530000.xhci: xhci_resume: starting port polling.
[  352.287777] xhci-tegra 3530000.xhci: xhci_hub_status_data: stopping port polling.
[  352.295409] xhci-tegra 3530000.xhci: exiting ELPG done
[  352.295466] xhci-tegra 3530000.xhci: Port Status Change Event for port 1
[  352.295486] xhci-tegra 3530000.xhci: resume root hub
[  352.295518] xhci-tegra 3530000.xhci: handle_port_status: starting port polling.
[  352.295713] usb usb2: usb wakeup-resume
[  352.323735] usb usb2: usb auto-resume
[  352.327579] hub 2-0:1.0: hub_resume
[  352.331245] xhci-tegra 3530000.xhci: get port status, actual port 0 status  = 0x21203
[  352.339109] xhci-tegra 3530000.xhci: Get port status returned 0x10203
[  352.346238] usb usb2-port1: status 0203 change 0001
[  352.351681] xhci-tegra 3530000.xhci: clear port connect change, actual port 0 status  = 0x1203
[  352.360706] xhci-tegra 3530000.xhci: get port status, actual port 1 status  = 0x2a0
[  352.368371] xhci-tegra 3530000.xhci: Get port status returned 0x2a0
[  352.374980] xhci-tegra 3530000.xhci: get port status, actual port 2 status  = 0x2a0
[  352.382643] xhci-tegra 3530000.xhci: Get port status returned 0x2a0
[  352.399330] xhci-tegra 3530000.xhci: xhci_hub_status_data: stopping port polling.
[  352.491588] hub 2-0:1.0: state 7 ports 3 chg 0002 evt 0000
[  352.497239] xhci-tegra 3530000.xhci: xhci_hub_status_data: stopping port polling.
[  352.505022] xhci-tegra 3530000.xhci: get port status, actual port 0 status  = 0x1203
[  352.512785] xhci-tegra 3530000.xhci: Get port status returned 0x203
[  352.519431] usb usb2-port1: status 0203, change 0000, 5.0 Gb/s
[  352.525954] xhci-tegra 3530000.xhci: // Ding dong!
[  352.530985] xhci-tegra 3530000.xhci: Slot 1 output ctx = 0x8002f000 (dma)
[  352.538076] xhci-tegra 3530000.xhci: Slot 1 input ctx = 0x80031000 (dma)
[  352.544982] xhci-tegra 3530000.xhci: Set slot id 1 dcbaa entry ffffff800923d008 to 0x8002f000
[  352.553770] xhci-tegra 3530000.xhci: get port status, actual port 0 status  = 0x1203
[  352.561512] xhci-tegra 3530000.xhci: Get port status returned 0x203
[  352.568008] xhci-tegra 3530000.xhci: set port reset, actual port 0 status  = 0x1211
[  352.575707] xhci-tegra 3530000.xhci: Port Status Change Event for port 1
[  352.582406] xhci-tegra 3530000.xhci: handle_port_status: starting port polling.
[  352.643264] xhci-tegra 3530000.xhci: get port status, actual port 0 status  = 0x201203
[  352.651180] xhci-tegra 3530000.xhci: Get port status returned 0x100203
[  352.657848] xhci-tegra 3530000.xhci: clear port reset change, actual port 0 status  = 0x1203
[  352.666520] xhci-tegra 3530000.xhci: clear port warm(BH) reset change, actual port 0 status  = 0x1203
[  352.675863] xhci-tegra 3530000.xhci: clear port link state change, actual port 0 status  = 0x1203
[  352.684983] xhci-tegra 3530000.xhci: clear port connect change, actual port 0 status  = 0x1203
[  352.693632] xhci-tegra 3530000.xhci: get port status, actual port 0 status  = 0x1203
[  352.701364] xhci-tegra 3530000.xhci: Get port status returned 0x203
[  352.763229] xhci-tegra 3530000.xhci: Set root hub portnum to 1
[  352.769143] xhci-tegra 3530000.xhci: Set fake root hub portnum to 1
[  352.775506] xhci-tegra 3530000.xhci: udev->tt =           (null)
[  352.781715] xhci-tegra 3530000.xhci: udev->ttport = 0x0
[  352.787061] xhci-tegra 3530000.xhci: Slot ID 1 Input Context:
[  352.793055] xhci-tegra 3530000.xhci: @ffffff800f61b000 (virt) @80031000 (dma) 0x000000 - drop flags
[  352.802145] xhci-tegra 3530000.xhci: @ffffff800f61b004 (virt) @80031004 (dma) 0x000003 - add flags
[  352.811196] xhci-tegra 3530000.xhci: @ffffff800f61b008 (virt) @80031008 (dma) 0x000000 - rsvd2[0]
[  352.820100] xhci-tegra 3530000.xhci: @ffffff800f61b00c (virt) @8003100c (dma) 0x000000 - rsvd2[1]
[  352.829048] xhci-tegra 3530000.xhci: @ffffff800f61b010 (virt) @80031010 (dma) 0x000000 - rsvd2[2]
[  352.837950] xhci-tegra 3530000.xhci: @ffffff800f61b014 (virt) @80031014 (dma) 0x000000 - rsvd2[3]
[  352.846960] xhci-tegra 3530000.xhci: @ffffff800f61b018 (virt) @80031018 (dma) 0x000000 - rsvd2[4]
[  352.855870] xhci-tegra 3530000.xhci: @ffffff800f61b01c (virt) @8003101c (dma) 0x000000 - rsvd2[5]
[  352.864856] xhci-tegra 3530000.xhci: @ffffff800f61b020 (virt) @80031020 (dma) 0x000000 - rsvd64[0]
[  352.873864] xhci-tegra 3530000.xhci: @ffffff800f61b028 (virt) @80031028 (dma) 0x000000 - rsvd64[1]
[  352.882984] xhci-tegra 3530000.xhci: @ffffff800f61b030 (virt) @80031030 (dma) 0x000000 - rsvd64[2]
[  352.892017] xhci-tegra 3530000.xhci: @ffffff800f61b038 (virt) @80031038 (dma) 0x000000 - rsvd64[3]
[  352.901014] xhci-tegra 3530000.xhci: xhci_hub_status_data: stopping port polling.
[  352.908593] xhci-tegra 3530000.xhci: Slot Context:
[  352.913453] xhci-tegra 3530000.xhci: @ffffff800f61b040 (virt) @80031040 (dma) 0x8400000 - dev_info
[  352.922568] xhci-tegra 3530000.xhci: @ffffff800f61b044 (virt) @80031044 (dma) 0x010000 - dev_info2
[  352.931606] xhci-tegra 3530000.xhci: @ffffff800f61b048 (virt) @80031048 (dma) 0x000000 - tt_info
[  352.940461] xhci-tegra 3530000.xhci: @ffffff800f61b04c (virt) @8003104c (dma) 0x000000 - dev_state
[  352.949463] xhci-tegra 3530000.xhci: @ffffff800f61b050 (virt) @80031050 (dma) 0x000000 - rsvd[0]
[  352.958295] xhci-tegra 3530000.xhci: @ffffff800f61b054 (virt) @80031054 (dma) 0x000000 - rsvd[1]
[  352.967155] xhci-tegra 3530000.xhci: @ffffff800f61b058 (virt) @80031058 (dma) 0x000000 - rsvd[2]
[  352.975999] xhci-tegra 3530000.xhci: @ffffff800f61b05c (virt) @8003105c (dma) 0x000000 - rsvd[3]
[  352.984836] xhci-tegra 3530000.xhci: @ffffff800f61b060 (virt) @80031060 (dma) 0x000000 - rsvd64[0]
[  352.993879] xhci-tegra 3530000.xhci: @ffffff800f61b068 (virt) @80031068 (dma) 0x000000 - rsvd64[1]
[  353.002877] xhci-tegra 3530000.xhci: @ffffff800f61b070 (virt) @80031070 (dma) 0x000000 - rsvd64[2]
[  353.011881] xhci-tegra 3530000.xhci: @ffffff800f61b078 (virt) @80031078 (dma) 0x000000 - rsvd64[3]
[  353.020844] xhci-tegra 3530000.xhci: IN Endpoint 00 Context (ep_index 00):
[  353.027764] xhci-tegra 3530000.xhci: @ffffff800f61b080 (virt) @80031080 (dma) 0x000000 - ep_info
[  353.036554] xhci-tegra 3530000.xhci: @ffffff800f61b084 (virt) @80031084 (dma) 0x2000026 - ep_info2
[  353.045589] xhci-tegra 3530000.xhci: @ffffff800f61b088 (virt) @80031088 (dma) 0x80033001 - deq
[  353.054236] xhci-tegra 3530000.xhci: @ffffff800f61b090 (virt) @80031090 (dma) 0x000000 - tx_info
[  353.063099] xhci-tegra 3530000.xhci: @ffffff800f61b094 (virt) @80031094 (dma) 0x000000 - rsvd[0]
[  353.071920] xhci-tegra 3530000.xhci: @ffffff800f61b098 (virt) @80031098 (dma) 0x000000 - rsvd[1]
[  353.080783] xhci-tegra 3530000.xhci: @ffffff800f61b09c (virt) @8003109c (dma) 0x000000 - rsvd[2]
[  353.089603] xhci-tegra 3530000.xhci: @ffffff800f61b0a0 (virt) @800310a0 (dma) 0x000000 - rsvd64[0]
[  353.098634] xhci-tegra 3530000.xhci: @ffffff800f61b0a8 (virt) @800310a8 (dma) 0x000000 - rsvd64[1]
[  353.107643] xhci-tegra 3530000.xhci: @ffffff800f61b0b0 (virt) @800310b0 (dma) 0x000000 - rsvd64[2]
[  353.116678] xhci-tegra 3530000.xhci: @ffffff800f61b0b8 (virt) @800310b8 (dma) 0x000000 - rsvd64[3]
[  353.125670] xhci-tegra 3530000.xhci: OUT Endpoint 01 Context (ep_index 01):
[  353.132708] xhci-tegra 3530000.xhci: @ffffff800f61b0c0 (virt) @800310c0 (dma) 0x000000 - ep_info
[  353.141527] xhci-tegra 3530000.xhci: @ffffff800f61b0c4 (virt) @800310c4 (dma) 0x000000 - ep_info2
[  353.150478] xhci-tegra 3530000.xhci: @ffffff800f61b0c8 (virt) @800310c8 (dma) 0x000000 - deq
[  353.158964] xhci-tegra 3530000.xhci: @ffffff800f61b0d0 (virt) @800310d0 (dma) 0x000000 - tx_info
[  353.167792] xhci-tegra 3530000.xhci: @ffffff800f61b0d4 (virt) @800310d4 (dma) 0x000000 - rsvd[0]
[  353.176648] xhci-tegra 3530000.xhci: @ffffff800f61b0d8 (virt) @800310d8 (dma) 0x000000 - rsvd[1]
[  353.185469] xhci-tegra 3530000.xhci: @ffffff800f61b0dc (virt) @800310dc (dma) 0x000000 - rsvd[2]
[  353.194326] xhci-tegra 3530000.xhci: @ffffff800f61b0e0 (virt) @800310e0 (dma) 0x000000 - rsvd64[0]
[  353.203320] xhci-tegra 3530000.xhci: @ffffff800f61b0e8 (virt) @800310e8 (dma) 0x000000 - rsvd64[1]
[  353.212352] xhci-tegra 3530000.xhci: @ffffff800f61b0f0 (virt) @800310f0 (dma) 0x000000 - rsvd64[2]
[  353.221347] xhci-tegra 3530000.xhci: @ffffff800f61b0f8 (virt) @800310f8 (dma) 0x000000 - rsvd64[3]
[  353.230377] xhci-tegra 3530000.xhci: IN Endpoint 01 Context (ep_index 02):
[  353.237295] xhci-tegra 3530000.xhci: @ffffff800f61b100 (virt) @80031100 (dma) 0x000000 - ep_info
[  353.246153] xhci-tegra 3530000.xhci: @ffffff800f61b104 (virt) @80031104 (dma) 0x000000 - ep_info2
[  353.255064] xhci-tegra 3530000.xhci: @ffffff800f61b108 (virt) @80031108 (dma) 0x000000 - deq
[  353.263575] xhci-tegra 3530000.xhci: @ffffff800f61b110 (virt) @80031110 (dma) 0x000000 - tx_info
[  353.272395] xhci-tegra 3530000.xhci: @ffffff800f61b114 (virt) @80031114 (dma) 0x000000 - rsvd[0]
[  353.281250] xhci-tegra 3530000.xhci: @ffffff800f61b118 (virt) @80031118 (dma) 0x000000 - rsvd[1]
[  353.290071] xhci-tegra 3530000.xhci: @ffffff800f61b11c (virt) @8003111c (dma) 0x000000 - rsvd[2]
[  353.298940] xhci-tegra 3530000.xhci: @ffffff800f61b120 (virt) @80031120 (dma) 0x000000 - rsvd64[0]
[  353.307935] xhci-tegra 3530000.xhci: @ffffff800f61b128 (virt) @80031128 (dma) 0x000000 - rsvd64[1]
[  353.316965] xhci-tegra 3530000.xhci: @ffffff800f61b130 (virt) @80031130 (dma) 0x000000 - rsvd64[2]
[  353.325963] xhci-tegra 3530000.xhci: @ffffff800f61b138 (virt) @80031138 (dma) 0x000000 - rsvd64[3]
[  353.334998] xhci-tegra 3530000.xhci: // Ding dong!
[  354.987253] usb 2-1: Device not responding to setup address.
[  355.194201] xhci-tegra 3530000.xhci: Slot ID 1 Input Context:
[  355.200092] xhci-tegra 3530000.xhci: @ffffff800f61b000 (virt) @80031000 (dma) 0x000000 - drop flags
[  355.209482] xhci-tegra 3530000.xhci: @ffffff800f61b004 (virt) @80031004 (dma) 0x000003 - add flags
[  355.219089] xhci-tegra 3530000.xhci: @ffffff800f61b008 (virt) @80031008 (dma) 0x000000 - rsvd2[0]
[  355.228239] xhci-tegra 3530000.xhci: @ffffff800f61b00c (virt) @8003100c (dma) 0x000000 - rsvd2[1]
[  355.237448] xhci-tegra 3530000.xhci: @ffffff800f61b010 (virt) @80031010 (dma) 0x000000 - rsvd2[2]
[  355.246619] xhci-tegra 3530000.xhci: @ffffff800f61b014 (virt) @80031014 (dma) 0x000000 - rsvd2[3]
[  355.255747] xhci-tegra 3530000.xhci: @ffffff800f61b018 (virt) @80031018 (dma) 0x000000 - rsvd2[4]
[  355.264867] xhci-tegra 3530000.xhci: @ffffff800f61b01c (virt) @8003101c (dma) 0x000000 - rsvd2[5]
[  355.273900] xhci-tegra 3530000.xhci: @ffffff800f61b020 (virt) @80031020 (dma) 0x000000 - rsvd64[0]
[  355.283470] xhci-tegra 3530000.xhci: @ffffff800f61b028 (virt) @80031028 (dma) 0x000000 - rsvd64[1]
[  355.292666] xhci-tegra 3530000.xhci: @ffffff800f61b030 (virt) @80031030 (dma) 0x000000 - rsvd64[2]
[  355.301972] xhci-tegra 3530000.xhci: @ffffff800f61b038 (virt) @80031038 (dma) 0x000000 - rsvd64[3]
[  355.311061] xhci-tegra 3530000.xhci: Slot Context:
[  355.315999] xhci-tegra 3530000.xhci: @ffffff800f61b040 (virt) @80031040 (dma) 0x8400000 - dev_info
[  355.325146] xhci-tegra 3530000.xhci: @ffffff800f61b044 (virt) @80031044 (dma) 0x010000 - dev_info2
[  355.334366] xhci-tegra 3530000.xhci: @ffffff800f61b048 (virt) @80031048 (dma) 0x000000 - tt_info
[  355.344634] xhci-tegra 3530000.xhci: @ffffff800f61b04c (virt) @8003104c (dma) 0x000000 - dev_state
[  355.353806] xhci-tegra 3530000.xhci: @ffffff800f61b050 (virt) @80031050 (dma) 0x000000 - rsvd[0]
[  355.362761] xhci-tegra 3530000.xhci: @ffffff800f61b054 (virt) @80031054 (dma) 0x000000 - rsvd[1]
[  355.371752] xhci-tegra 3530000.xhci: @ffffff800f61b058 (virt) @80031058 (dma) 0x000000 - rsvd[2]
[  355.380678] xhci-tegra 3530000.xhci: @ffffff800f61b05c (virt) @8003105c (dma) 0x000000 - rsvd[3]
[  355.389618] xhci-tegra 3530000.xhci: @ffffff800f61b060 (virt) @80031060 (dma) 0x000000 - rsvd64[0]
[  355.398696] xhci-tegra 3530000.xhci: @ffffff800f61b068 (virt) @80031068 (dma) 0x000000 - rsvd64[1]
[  355.407772] xhci-tegra 3530000.xhci: @ffffff800f61b070 (virt) @80031070 (dma) 0x000000 - rsvd64[2]
[  355.416837] xhci-tegra 3530000.xhci: @ffffff800f61b078 (virt) @80031078 (dma) 0x000000 - rsvd64[3]
[  355.425930] xhci-tegra 3530000.xhci: IN Endpoint 00 Context (ep_index 00):
[  355.432899] xhci-tegra 3530000.xhci: @ffffff800f61b080 (virt) @80031080 (dma) 0x000000 - ep_info
[  355.441775] xhci-tegra 3530000.xhci: @ffffff800f61b084 (virt) @80031084 (dma) 0x2000026 - ep_info2
[  355.450834] xhci-tegra 3530000.xhci: @ffffff800f61b088 (virt) @80031088 (dma) 0x80033001 - deq
[  355.459523] xhci-tegra 3530000.xhci: @ffffff800f61b090 (virt) @80031090 (dma) 0x000000 - tx_info
[  355.468432] xhci-tegra 3530000.xhci: @ffffff800f61b094 (virt) @80031094 (dma) 0x000000 - rsvd[0]
[  355.479017] xhci-tegra 3530000.xhci: @ffffff800f61b098 (virt) @80031098 (dma) 0x000000 - rsvd[1]
[  355.488063] xhci-tegra 3530000.xhci: @ffffff800f61b09c (virt) @8003109c (dma) 0x000000 - rsvd[2]
[  355.496873] xhci-tegra 3530000.xhci: @ffffff800f61b0a0 (virt) @800310a0 (dma) 0x000000 - rsvd64[0]
[  355.506105] xhci-tegra 3530000.xhci: @ffffff800f61b0a8 (virt) @800310a8 (dma) 0x000000 - rsvd64[1]
[  355.515255] xhci-tegra 3530000.xhci: @ffffff800f61b0b0 (virt) @800310b0 (dma) 0x000000 - rsvd64[2]
[  355.524218] xhci-tegra 3530000.xhci: @ffffff800f61b0b8 (virt) @800310b8 (dma) 0x000000 - rsvd64[3]
[  355.533532] xhci-tegra 3530000.xhci: OUT Endpoint 01 Context (ep_index 01):
[  355.540751] xhci-tegra 3530000.xhci: @ffffff800f61b0c0 (virt) @800310c0 (dma) 0x000000 - ep_info
[  355.549911] xhci-tegra 3530000.xhci: @ffffff800f61b0c4 (virt) @800310c4 (dma) 0x000000 - ep_info2
[  355.558984] xhci-tegra 3530000.xhci: @ffffff800f61b0c8 (virt) @800310c8 (dma) 0x000000 - deq
[  355.567425] xhci-tegra 3530000.xhci: @ffffff800f61b0d0 (virt) @800310d0 (dma) 0x000000 - tx_info
[  355.576260] xhci-tegra 3530000.xhci: @ffffff800f61b0d4 (virt) @800310d4 (dma) 0x000000 - rsvd[0]
[  355.585243] xhci-tegra 3530000.xhci: @ffffff800f61b0d8 (virt) @800310d8 (dma) 0x000000 - rsvd[1]
[  355.594270] xhci-tegra 3530000.xhci: @ffffff800f61b0dc (virt) @800310dc (dma) 0x000000 - rsvd[2]
[  355.603094] xhci-tegra 3530000.xhci: @ffffff800f61b0e0 (virt) @800310e0 (dma) 0x000000 - rsvd64[0]
[  355.612103] xhci-tegra 3530000.xhci: @ffffff800f61b0e8 (virt) @800310e8 (dma) 0x000000 - rsvd64[1]
[  355.621106] xhci-tegra 3530000.xhci: @ffffff800f61b0f0 (virt) @800310f0 (dma) 0x000000 - rsvd64[2]
[  355.630109] xhci-tegra 3530000.xhci: @ffffff800f61b0f8 (virt) @800310f8 (dma) 0x000000 - rsvd64[3]
[  355.639334] xhci-tegra 3530000.xhci: IN Endpoint 01 Context (ep_index 02):
[  355.646512] xhci-tegra 3530000.xhci: @ffffff800f61b100 (virt) @80031100 (dma) 0x000000 - ep_info
[  355.655584] xhci-tegra 3530000.xhci: @ffffff800f61b104 (virt) @80031104 (dma) 0x000000 - ep_info2
[  355.664493] xhci-tegra 3530000.xhci: @ffffff800f61b108 (virt) @80031108 (dma) 0x000000 - deq
[  355.672981] xhci-tegra 3530000.xhci: @ffffff800f61b110 (virt) @80031110 (dma) 0x000000 - tx_info
[  355.681809] xhci-tegra 3530000.xhci: @ffffff800f61b114 (virt) @80031114 (dma) 0x000000 - rsvd[0]
[  355.690650] xhci-tegra 3530000.xhci: @ffffff800f61b118 (virt) @80031118 (dma) 0x000000 - rsvd[1]
[  355.699479] xhci-tegra 3530000.xhci: @ffffff800f61b11c (virt) @8003111c (dma) 0x000000 - rsvd[2]
[  355.708308] xhci-tegra 3530000.xhci: @ffffff800f61b120 (virt) @80031120 (dma) 0x000000 - rsvd64[0]
[  355.717310] xhci-tegra 3530000.xhci: @ffffff800f61b128 (virt) @80031128 (dma) 0x000000 - rsvd64[1]
[  355.726310] xhci-tegra 3530000.xhci: @ffffff800f61b130 (virt) @80031130 (dma) 0x000000 - rsvd64[2]
[  355.735315] xhci-tegra 3530000.xhci: @ffffff800f61b138 (virt) @80031138 (dma) 0x000000 - rsvd64[3]
[  355.744317] xhci-tegra 3530000.xhci: // Ding dong!
[  357.396652] usb 2-1: Device not responding to setup address.
[  357.605238] usb 2-1: device not accepting address 2, error -71

My USB2 HUB does not have external power. It draws power from TX2. And I tried using a USB3 HUB with external power. Keyboard and mouse worked on the USB3 HUB, but the camera still got the same error.

I also tried usbcore.autosuspend=-1, and it didn’t help.

Thanks!

Different USB behavior is expected from slower devices…the USB3 port and HUB simply throttle back to USB1.1 and I think the port routes differently instead of having a single controller understanding all modes (if I recall correctly the PHY basically can send traffic to either the USB3 controller with its driver or to the legacy controller depending on what is detected on plugin). The point of mentioning this is that a USB2 HUB is only testing part of the same path which a USB3 HUB would test even if plugged in to the same connector with the same device on the end point. It would be much easier if a protocol analyzer could be used, but that’s expensive and not particularly practical.

I am curious, since I only read English, whether that URL with the HUB’s information is for an inexpensive HUB, something very cheap and not name brand, or if this is what you would consider an “average” product or better (a manufacturer you can trust versus something unknown)? Do you have any other USB3 HUBs you can test (especially powered)?

I actually tried two self-powered USB3 HUBs. I think they are branded. Here are the links:

https://www.amazon.com/Sabrent-4-Port-Individual-Switches-HB-UM43/dp/B00JX1ZS5O/ref=sr_1_1_sspa?ie=UTF8&qid=1534539898&sr=8-1-spons&keywords=sabrent&psc=1
https://www.amazon.com/SIIG-SuperSpeed-Power-Adapter-Braided/dp/B00YT6M3MY/ref=sr_1_9?ie=UTF8&qid=1534539851&sr=8-9&keywords=siig+usb+hub+3.0

Both HUBs did not help to get the camera detected. I still got the same error message as I plug in the camera directly to TX2 USB port.

Thanks!

I think you got confused with this post… :D
https://devtalk.nvidia.com/default/topic/1038413/jetson-tx2/usb-3-0-hub-not-work-on-tx2/post/5276585/#5276585

That url points to a Chinese seller (yes I can read Chinese). The price is about $5~$12 USD after currency exchange.

Any $10 USB3 HUB might be “USB3 compatible” (it won’t crash and burn), but it isn’t really USB3…or the quality is so terrible it is just for looks. I am very suspicious of those HUBs. Even a USB2 HUB at those prices is suspicious.

The one with the 5V adapter might be ok, but I am suspicious of that as well (powered HUBs in the $20 range are very suspect). The HUBs I know of which are actually of sufficient quality to know they are valid are usually in the $40 USD and up category, though a few are in approximately the $30 USD price range if not powered.

There are many slower devices and devices not needing a perfect HUB to perform well, but if you really want to know whether the HUBs are wasting your time, I think you need to get hold of a USB3 HUB which is of known quality for any real test. It might not be the HUB, but if you picked up one with a high customer rating (with a large number of customers having given feedback), then you’d know it isn’t a HUB issue. The cost of putting a USB3 protocol analyzer on it would be equivalent to the price of a nice car, and other than getting a good HUB I don’t know how else you might test (besides a USB3 protocol analyzer and significant knowledge).

I got the second USB3 HUB (the SIIG one) from Fry’s for $30. Amazon may sell it cheaper. I am afraid that protocol analyzer is beyond my knowledge. Maybe I will cross my fingers and try some more expensive ones for next step. Thanks for helping!

Hi guangyu, please also try r28.1. would like to know if it is specific to r28.2.1

Does R28.1 come with TX2 when I buy it? I got it about a month ago. If so, I remember the camera did not work on it either. Then I did flash it with JetPack 3.3 to upgrade it to R28.2.1.

I can double check with R28.1 again after doing the rest of my tests.

Thanks!

I think it was R27.0.1 the TX2 ships with (don’t know if that ever changes). The R28.1 URL is here:
https://developer.nvidia.com/embedded/linux-tegra-r281

If using JetPack, then JetPack3.1 would have this. The listing of all JetPacks (but not actual download):
https://developer.nvidia.com/embedded/jetpack-archive

Information specifically for JetPack3.1:
https://developer.nvidia.com/embedded/jetpack-3_1

The download for 3.1 is a bit convoluted. This 3.1 URL actually ends up going to the documentation download and searches for 3.1 (login is probably required):
https://developer.nvidia.com/embedded/downloads#?search=JetPack%203.1

Hi DaneLLL, I just tried R28.1 and got the same error message.

Thanks,

Hi guangyu,
We want to reproduce the issue but don’t have the usbcam. Price of the cam is a concern and we need some time to check and evaluate.

So it is also not working with USB3 HUBs you have?
Do you have pcie to usb3 card( such as https://devtalk.nvidia.com/default/topic/1027100 ) for a try?