0

I am splitting my original question into several questions, at the expense of clarity, because the original question was deleted for being too broad.

I need a large number of USB 2.0 cameras available with low latency on a single host computer. As for why, that's beyond the scope of this simplified question.

See this discussion: 50 USB webcams in a single computer. Is that really possible?

In short, most, if not all USB 3.0 hubs achieve backwards compatibility with USB 2.0 by implementing a sort of shadow USB 2.0 hub that the USB 2.0 devices use instead of the 3.0 hub. This means that all USB 2.0 devices on a 3.0 network employing these hubs are actually sharing a 2.0 controller, and thus, in reality, you can only operate a single USB 2.0 camera on any given USB host controller, 3.0 or otherwise. (The available bandwidth will always be saturated by the first camera on the network)

I would like to somehow have multiple USB 2.0 cameras on a single USB 3.0 controller.

It occurs to me that it might be possible to perform some kind of USB-over-USB. More specifically, USB-2.0-over-USB-3.0. Rather than just connect USB 2.0 devices to a shadow hub, perhaps the hub itself can act as several USB 2.0 host controllers, and somehow buffer/pipe data to the host computer over the USB 3.0 connection taking advantage of 3.0 bandwidth to allow multiple full-bandwidth 2.0 channels. This would, I presume, require special drivers on the host computer to receive this piped data not as a single USB 3.0 device, but as several USB 2.0 devices. But it strikes me as being possible. Prohibitively complex to achieve, maybe, but certainly possible.

I can't find any definitive answers on whether or not a device like this exists. My question, here, is simple, and very focused: Does it exist? If so, what is it called / where can I find it?

SU2SO3
  • 1
  • 2
  • You seem to be focused solely on the input side of this problem while ignoring (a) system I/O, (b) memory, and (c) processing bandwidths. Any or all of these areas are potential bottlenecks after you solve this input problem. What are you going to do with all of this video data once it's received by the system? IOW a reasonable (i.e. cost effective) system has balanced capabilities. Don't go overboard in one area, and ignore throughput limitations in other areas. – sawdust May 29 '22 at 23:18
  • Fair enough -- In my case I am no where near bottlenecked by the processing side of things, but I am very much struggling to have more than 3 or so cameras connected to my system simultaneously (in large part because USB 2.0 cameras are often mutually exclusive with other USB 2.0 devices of ***any*** type). My system is more than capable of handling at least 10 cameras, save for USB 2.0 literally preventing them from being connected and operating simultaneously. If I could reach even that, it would be an achievement. – SU2SO3 May 29 '22 at 23:24
  • The answers to the question you link basically show that what you're after isn't possible. – Loren Pechtel May 30 '22 at 00:37
  • Creating a virtual USB host isn't necessary since the USB standard is backward compatible. – Ramhound May 30 '22 at 03:29
  • @Ramhound My concern is not backward compatibility, my concern is that the way backward compatibility is usually implemented implies that only a single high-bandwidth USB 2.0 device can be used per USB 3.0 host. I am wondering if there exist hubs that allow multiple high-bandwidth USB 2.0 devices per single USB 3.0 host by creating virtual USB 2.0 hosts at the hub – SU2SO3 May 30 '22 at 16:22
  • @LorenPechtel No answer in the linked question actually disproves the possibility. At best they are arguments against ***feasibility***, which is a key distinction that gives rise to the necessity of my question. I truly doubt that there is a USB 3.0 hub that can instance virtual 2.0 hosts, because it does seem prohibitively complex to be profitable. But I'm hoping there is an expert out there who can conclusively say: "No, it doesn't exist", rather than "I'm pretty sure it doesn't exist" – SU2SO3 May 30 '22 at 16:27
  • @SU2SO3 - Your conclusion that a single high-bandwidth device can be used per USB 2.0 device can saturate the bandwidth of a 3.0 host is incorrect. There is no way that could be possible. I will again state that, virtual 2.0 host isn't necessary, and thus wouldn't be even made by a the USB standards committee. It's not a thing... – Ramhound May 30 '22 at 16:31
  • @Ramhound My "conclusion" is not incorrect. You misunderstand it. USB 2.0 devices do not saturate the USB 3.0 host. They flat out do not use the USB 3.0 host. Every USB 3.0 host comes with a built-in USB 2.0 host, which all USB 2.0 devices connected to the 3.0 host use instead of the 3.0 host. So, essentially, USB 3.0 hosts have the same bandwidth as a USB 2.0 host when used with USB 2.0 devices, easily saturated by a single USB 2.0 device. Virtual hosts is an idea to circumvent this. This is a problem I have directly experienced with two cameras on a USB 3.0 hub. It is real. – SU2SO3 May 30 '22 at 16:35
  • Oh, I see what you're looking for--yeah, *virtual* ports would be possible but I can't imagine anyone considering it worth doing. Just use 3.0 devices. – Loren Pechtel May 31 '22 at 01:13

0 Answers0