How many USB cameras are supported in Jetson XAVIER NX

Hi,
I am trying to connect 12 USB 3.0 cameras through external 3.0 hub. The video node is detecting for 6 cameras only. That is from video0 to video5. But while checking through lsusb command, I can see that all 12 cameras are listed there.

Is there any limitation for number of video devices in NX. Can anyone guide me to connect 12 USB 3.0 Camera.

Thanks in advance

I can’t answer the limit, but if the camera itself is USB3, then likely you can only use one camera on one USB3 root hub due to bandwidth limitations. A single camera could consume the entire bandwidth.

On the other hand, just because a camera is “USB3 compatible”, it does not mean it runs as USB3. Many USB devices say “USB3 compatible” because they don’t want you to not buy their slower product thinking it won’t work on USB3. Such “compatible” phrasing also tends to imply the device actually runs at such speeds without actually having to say so. So there is a question as to whether the camera must run as USB3 (typically for higher framerates and resolutions), or if it can fall back to USB2 while connected to a USB3 root HUB.

Then there is the issue of USB3.1 gen. 1 versus USB3.1 gen. 2 wording. Originally the first USB3 was just “USB3”, and supports 5Gbps bandwidth. Later, a faster bandwidth of 10Gbps was introduced. What was previously 5Gbps USB3 became known as USB3.1 generation 1. The 10Gbps is USB3.1 generation 2. If your camera is “USB3”, and actually runs at those speeds, then this would tend to imply USB3.1 gen. 1, and theoretically two of those cameras could run on a USB3.1 generation 2 root HUB (due to overhead it is actually a bit more complicated).

Cameras which have a slow enough frame rate, in combination with a low enough resolution, would run in USB2 mode. This is only 480Mbps. If you ignore overhead, then you could probably get up to 10 of those running on a true USB3 (or USB3.1 gen. 1) port (again, overhead would mean this probably actually fails prior to getting 10 working). Or twice that number on a USB3.1 generation 2 port.

As an experiment, view your USB devices with the “tree view”:
lsusb -t

Everywhere you see a “root hub”, note at the end of the line it will show one of these depending on the mode it runs at:

  • 480M (USB2)
  • 5000M (USB3 or USB3.1 gen. 1)
  • 10000M (USB3.1 gen. 2)

Note that your devices (the cameras) will also have a speed rating showing. If they are showing as 480M, then you can have far more than if you see 5000M.

I don’t want all the cameras to stream simultaneously. I am going to stream one camera at a time in 4k at 4 FPS only. But is there any limitation in number of camera that can be connect. I have already connected 12 USB cameras but while listing in lsusb -t, there are only 6 cameras in 5000M speed. I need to connect 12 cameras in USB 3.0 but the streaming will be for one camera at a time. So there will be no limitation in bandwidth since only one camera is going to be streaming at a time. The only limitation I am facing is maximum number of cameras that can be connected to NX kit.

There are USB limits to the number of “endpoints”, by standard. Any given device probably has more than one endpoint. An example would be a headset might have a microphone endpoint, speaker endpoint, and a push-to-talk button endpoint. I’m thinking that by standard the limit is around 128, but some chipsets (e.g., Intel motherboards for PCs) actually support fewer, e.g., 96. I do not know what the Jetsons support, but it isn’t going to be over the USB standard, so at most the limit would be something around 128 endpoints.

To illustrate, if you run the command to see a tree view of USB devices, then you should see endpoints (use “lsusb -t”). Note that a given port can list more than one device. Possibly 12 cameras, having more than one endpoint, would exceed the maximum even if there are just 12 physical USB cables. You might view what the output is for “lsusb -t” when just one camera is plugged in.

Anyone know the max number of endpoints on an NX? I’m actually curious about that myself.

Hi,

When I am trying to connect my USB 3.0 camera to the Jetson XAVIER NX,there is no response from the Jetson XAVIER NX. There are 4 USB ports of my carrier board. I try each of the USB hub, but there is still no response. Then I try to connect my USB3.0 flash drive to the Jetson XAVIER NX. There is still no response from the Jetson AXVIER NX. Can anyone guide me to enable the USB 3.0 hub of the Jetson XAVIER NX?

nvidia@nvidia:~$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 10000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 3: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
nvidia@nvidia:~$

Please start a new thread since this is actually a different topic (though it is related). When you create your new thread, add to it this information:

  • Monitor “dmesg --follow”, and show what happens if you plug the camera into each port one at a time.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.