ZED mini can not be detected

Hello!
I am using Jetson TX2 with the carrier board auvedia J140.
The custom firmware from auvedia, JetPack 4.3, is flashed on the jetson, since it provides the USB3.0. (see the description at the end)

I would like to use ZED mini with Jetson. The ZED SDK for Jetson is installed.
But I have trouble to connect the camera. I tried both usb ports, rotated the usb mini port cable (since it seems not to be reversible, see https://support.stereolabs.com/hc/en-us/articles/360010101213-What-do-I-do-if-my-ZED-ZED-Mini-is-not-working-). I also connected the ZED mini to my notebook, to be sure that cable and camera itself is ok. On notebook it works without any issue.

Here is some output:

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 011: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
Bus 001 Device 016: ID 046a:0023 Cherry GmbH CyMotion Master Linux Keyboard G230
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 018: ID 2b03:f681  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

How you can see the 2b03:f681 is detected, but 2b03:f680, video device, is missing.

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 18, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 16, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 3: Dev 16, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M


[  102.094011] usb 1-2: new full-speed USB device number 17 using tegra-xusb
[  102.117433] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
[  102.117458] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  102.117475] usb 1-2: Product: ZED-M Hid Device
[  102.117489] usb 1-2: Manufacturer: STEREOLABS
[  102.117502] usb 1-2: SerialNumber: 10025959
[  102.121699] hid-generic 0003:2B03:F681.0005: hidraw0: USB HID v1.11 Device [STEREOLABS ZED-M Hid Device] on usb-3530000.xhci-2/input0
[  128.607506] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  248.867815] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  289.885050] usb 1-2: USB disconnect, device number 17
[  369.099149] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  489.379956] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  565.357097] usb 1-2: new full-speed USB device number 18 using tegra-xusb
[  565.379695] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
[  565.379701] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  565.379704] usb 1-2: Product: ZED-M Hid Device
[  565.379706] usb 1-2: Manufacturer: STEREOLABS
[  565.379709] usb 1-2: SerialNumber: 10025959
[  565.381452] hid-generic 0003:2B03:F681.0006: hidraw0: USB HID v1.11 Device [STEREOLABS ZED-M Hid Device] on usb-3530000.xhci-2/input0
[  609.552727] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  729.846467] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  850.088829] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[  970.338667] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1090.585221] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1096.782836] eqos 2490000.ether_qos eth0: Link is Down
[ 1100.957735] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 1210.838544] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1331.122226] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1451.328842] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1512.190690] usb 1-2: USB disconnect, device number 18
[ 1526.431450] usb 1-2: new full-speed USB device number 19 using tegra-xusb
[ 1526.454184] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
[ 1526.454189] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1526.454192] usb 1-2: Product: ZED-M Hid Device
[ 1526.454195] usb 1-2: Manufacturer: STEREOLABS
[ 1526.454197] usb 1-2: SerialNumber: 10025959
[ 1526.455914] hid-generic 0003:2B03:F681.0007: hidraw0: USB HID v1.11 Device [STEREOLABS ZED-M Hid Device] on usb-3530000.xhci-2/input0
[ 1566.316978] usb 1-2: USB disconnect, device number 19
[ 1569.555084] usb 1-2: new full-speed USB device number 20 using tegra-xusb
[ 1569.577862] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
[ 1569.577866] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1569.577869] usb 1-2: Product: ZED-M Hid Device
[ 1569.577872] usb 1-2: Manufacturer: STEREOLABS
[ 1569.577874] usb 1-2: SerialNumber: 10025959
[ 1569.579696] hid-generic 0003:2B03:F681.0008: hidraw0: USB HID v1.11 Device [STEREOLABS ZED-M Hid Device] on usb-3530000.xhci-2/input0
[ 1571.568664] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 1691.818149] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.

Thank you a lot in advance!

Here is the data of the firmware:
Source: Firmware – Auvidea
Feb 2020 J140
https://auvidea.eu/download/firmware/J140/J140_4_3.tar.bz2
supports: Jetson TX2 only
– JetPack 4.3 (L4T 32.3.1)
– 1x USB 3.0
– IMU MPU9250 (spidev1.0)
– 2x GbE (native and i210)
– 1x M.2 NVME PCIe x4
– port mapping: config 1

I do not have the mini, but I think this requires USB3 and has no fallback mode to USB2 or slower. Which connector are you using? The connector capable of USB3 on the developer kit is “J19”, about half way between the WiFi jacks and the SD card with the full size type-A connector (next to the micro-USB).

@linuxdev: thank you a lot for your answer!
I am using auvedia J140 carrier board, it has other hardware setup. :) It has two usb ports. I tried both of them.

How I understood from checking the camera on my notebook, the Zed mini registers three devices: one for the camera control and two video devices. Camera Control is listed under usb2.0, because usb3.0 provides back compatibility to usb2.0. Therefore it is connected to both buses, usb2 und usb3. On my notebook under lsusb I see the camera control device under usb2 bus and two video devices under usb3 bus.

I think the problem is in the power control of the usb port. But I don’t know how to solve it.

My thought is that USB control may detach if there is no camera for it to control. Normally all USB3 devices will revert to USB2 if USB3 is not possible, but the 3D cameras tend to not have the ability to revert to USB2 (even if the control is not USB3).

The part which is interesting is that dmesg shows the device being detected, but lsusb does not show the device. If lsusb shows a device, then it is possible for drivers to attach to the device. USB is hot plug, and with a plugin event, drivers will be told about the device, and any driver capable of running the device would install. Even if no driver is installed, then lsusb should still show the device. I’m not sure if anything would show if the USB3 side had signal failure, but the control side was still present.

One suggestion which might help with either power or signal issues: Run the camera through an externally powered USB3 HUB and see if anything changes (even if it is not recommended to use a HUB with a stereo camera in normal circumstances this is useful for debugging). Also, try running this, and disconnecting and reconnecting the camera: “watch -n 1 lsusb -t” (this will run “lsusb -t” once per second and you’ll see updates).

This might be unrelated, but you may also check from host if your camera firmware can be upgraded.

@linuxdev
Thank you for your answer and your ideas!
I tried hub. Sadly it does not work. Not on jetson or my notebook.

I would like to reply to “that dmesg shows the device being detected, but lsusb does not show the device”.
This is not correct. device is detected in dmesg and is shown in lsusb
dmesg shows that it detected camera with ids
[ 102.117433] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
The camera, or better to say its control module, is shown in lsusb
Bus 001 Device 018: ID 2b03:f681
Same ids as in dmesg.
Therefore, the control module of ZED is detected, but not two camera devices.
Here is lsusb, when ZED camera is disconnected:
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 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

Here when ZED is connected:
/: 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 18, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

The bold is the control module of ZED Camera.

For comparison, how it should look like, here is the lsusb from my notebook, when the ZED mini is connected to USB3.

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    **|__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M**
    **|__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M**
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
    **|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M**
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 1: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M
        |__ Port 1: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M
        |__ Port 2: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
        |__ Port 2: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M

The entries with ** are marked the devices of ZED mini. Under Bus 03, which correponds to usb2, there is a control modul, und under bus04 (usb3) there are two cameras.

I tested the ZED camera on my notebook with USB 2.0 port. In this case non of devices is detected, even not control module of ZED. From this I can conclude that the port on Jetson carrier board where I connect the camera is USB 3.0.

Every time when I disconnect or connect the camera, the message nvgpu: 17000000.gp10b railgate_enable_store:297 [INFO] railgate is disabled. appears in dmesg after the camera detection.

[ 8125.485822] usb 1-2: USB disconnect, device number 17
[ 8183.300960] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.
[ 8260.084286] usb 1-2: new full-speed USB device number 18 using tegra-xusb
[ 8260.107027] usb 1-2: New USB device found, idVendor=2b03, idProduct=f681
[ 8260.107032] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8260.107035] usb 1-2: Product: ZED-M Hid Device
[ 8260.107038] usb 1-2: Manufacturer: STEREOLABS
[ 8260.107040] usb 1-2: SerialNumber: 10025959
[ 8260.108742] hid-generic 0003:2B03:F681.000B: hidraw0: USB HID v1.11 Device [STEREOLABS ZED-M Hid Device] on usb-3530000.xhci-2/input0
**[ 8303.531972] nvgpu: 17000000.gp10b             railgate_enable_store:297  [INFO]  railgate is disabled.**

Can it be some issue with power supply of the usb?

@Honey_Patouceul
Thank you for your answer!
I will check it, if I can uprade any software.
But I found similar issue two years ago: ZED not working after boot but replugging it helps on J120 TX2 · Issue #249 · stereolabs/zed-ros-wrapper · GitHub
It was pointed out, that it is problem of power supply in usb port.
It says that it was fixed with JetPack 4.2. But I have the same issue with JetPack 4.3.

Hi,
It looks to be specific to using Auvidea board. Do you observe the same on default developer board?

If it is specific to certain board, we would need the vendor to check and suggest next.

A usbhid (HID, Human Interface Device) is generally any standard mouse/keyboard/joystick, and not video (which would be UVC, USB Video Class):

On your “lsusb -t” tree view I find it a bit confusing that something shows up as usbhid. I suppose this could be some sort of additional function, but a custom control to a camera would literally be “custom” (or something other than a mouse/keyboard). Hardware can have more than one device available on a single cable, but this HID device seems like something other than camera control.

If you have a desktop PC

I am curious about this:

…you mention later that apparently this camera does show up from another computer, so does this mean that the camera works on the other computer unless there is a HUB, and the HUB causes failure? Or do you have two other non-Jetson computers and the camera works on one, but not the other?

When looking at the lsusb tree of the computer which seems to work you’ll see that both the USB3 (5000M) and the USB2 (480M) describe:

In none of these cases does this show up as HID (mouse/keyboard/joystick). I am thinking that even though an HID device shows up on the Jetson as you plug the camera in that this is not really the camera…or else there is an error. Knowing more about the cases where the camera does work (and any case which is not from the Jetson and the camera fails) would be very useful.

@linuxdev and @DaneLLL
Thank you a lot for your time!
I got an answer from vendor. They found the reason for that problem: incorrect specification and incorrect firmware description on their web side. Even if it says USB3 support, the board does not have it, since it implements config1 for lane mapping. :/
@linuxdev you were right from the beginning. Sorry! I could not think, that the vendor could make such a mistake.

But anyway I will reply to your last post.
I tested camera on my notebook under Ubuntu. I tested with direct connection between ZED and notebook, which works, and tested with the connection over hub, which did not work.

When looking at the lsusb tree of the computer which seems to work you’ll see that both the USB3 (5000M) and the USB2 (480M) describe:
The tree shows two devices of class video and one of class hid. All three devices belongs to ZED:
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
|__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M
|__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M

What you see under the Bus 01 in Port 2 is my notebook build-in cam.

Thank you!

Incorrect carrier board and firmware specification on the web side of the vendor.
auvedia J140 TX2 does not support USB3.

1 Like