Framework 12th gen usb controllers


I have owned my 12th gen framework for a month or two now, and I’m absolutely loving it.
I have a question, though. I would like to hook up 6 PlayStation 3 Eye cameras to it. These cameras have a 640x480 resolution at 60Hz. A USB2.0 controller can only handle 2 cameras at 640x480 60Hz, or 4 at 30Hz. A USB3 controller would be able to handle much more than that.
I understood from another forum post that my laptop has both a USB2 and a USB3 controller that are both attached to each of the expansion slots. Because the cameras are USB2, their signals would be handled exclusively by the USB2.0 controller.
This aligns with my experimental observations: 2 cameras can run full resolution at 60Hz, 4 at 30Hz, and 6 cameras requires me to set them to 320x240.

Is there a way to circumvent this USB “limitation”? Using a USB3 hub doesn’t make this problem go away, because that hub doesn’t do any actual processing/converting to USB3. In a desktop, a solution would be to add a PCIe expansion card. For a laptop, this might be possible by hooking up a PCIe to Thunderbolt device to the laptop (for instance, an eGPU case), and plugging a PCIe USB controller into that. This is rather expensive though, from what I have seen.

Also, besides the USB2 and USB3 capabilities of the Framework 12th gen, there has to be something separate that handles Thunderbolt, right?
Is there perhaps a way to utilize the (now certified) Thunderbolt 4 capabilities of my laptop to handle those 6 USB2 cameras at full 480p resolution and 60Hz? Something like an external USB controller that goes straight to PCIe via a Thunderbolt connection? (I read somewhere that Thunderbolt 4 has access to PCIe)

This is a confusing problem, because the bandwidth is surely there, but the connections just don’t seem to be.

I know this is a very niche problem, any help/ideas would be greatly appreciated.
Kind regards,


Update: I found a TB3 USB hub with 3 USB controllers that might solve my problem. It’s around 200$ though, excluding shipping, so that’s not ideal:

However, these controllers are specifically USB3 controllers, so they might not support USB2 devices? It should be backwards compatible though, right?

Any suggestions are still greatly appreciated. Thanks!
Kind regards,

1 Like

All USB3 sockets are backwards compatible and also support USB2 and older devices. However there’s no guarantee that this will work with the expected speed, maybe they cheaped out and simply used a USB 2 hub on the low speed lanes of the upstream USB-C port to create the USB2 data lanes, which would cause the same problem you’re already seeing with your current setup.

A usb3 port is technically a usb3 port and a usb2 port taped together, the only thing they share is the power pins, the rest is 2 completely separate ports (that is can be used separately if you don’t mind violating spec a little XD).

USB3 hubs often are a usb2 and a usb3 hub in one so the usb2 bandwidth is still limted to one usb2 port worth, there are chips that do usb3 to 2 conversion but they are pretty rare.

While there should be enough usb2 ports from the cpu to get a dedicated one for each expansion slot plus cover the webcam and fingerprint and all that stuff, I can’t guarantee that’s how they layed this out, maybe they did put in a hub for some reason. Maybe someone who actually has one can chine in on that.

One of those fancy 4 port 4 controller pcie cards in a tb enclosure would probably work but would be a pretty expensive way to solve that, getting usb3 cameras instead would probably end up cheaper.

1 Like