Fundamentally, the customer is correct. You will never be able to achieve 127 actual USB devices attached to a Host Controller (i.e. Intel system). As the customer pointed out, each USB device (USB key, keyboard, mouse, etc.) is typically counted as two endpoints (two logical USB units), and each USB hub, multiplier, or repeater is counted as another 4+ endpoints. So, it comes to about 50+ devices per each Host Controller.
With these systems it was only 25 devices total (unless you use hubs), so they introduced two controllers to allow 100+ endpoints.
This seems to be a limitation of Intel host controllers. The USB 2.0 specification (including 12 Mbps Full Speed) allows for up to 127 devices. Each of those devices can have up to 16 IN and 16 OUT endpoints, c.f. https://www.usbmadesimple.co.uk/ums_3.htm Depending on how you count, that would be a maximum of 2k to 4k endpoints in total. I guess Intel thought it wasn’t worthwhile supporting that many endpoints.
Some quick searching turned up this post that claims that USB3 controllers often support up to 254 endpoints (in total). https://www.cambrionix.com/a-quick-guide-to-usb-endpoint-limitations/ Other posters have also said that AMD appears to have higher limits. You could also consider adding more USB root hubs to your system (with PCIe cards).
Yep, completely agree that its an Intel limitation.
I didn’t see that about USB3 (my Intel system provides USB 3, and still has the 50 endpoint/25 device limit), I’ll take a look, however it sounds like AMD is just generally better.
It’ll be a shame to lose Quick Sync, but it’ll probably be worth it.
However this reiterates my thoughts about USB4, since it is a Thunderbolt derivative, and as mentioned in your link Thunderbolt doesn’t have these same limitations.
A quick Google does not produce any results showing an increased device limit.
I’m curious, what are you doing to reach 127 device endpoints, especially on a thin client?
I’m not. Intel does not let you get that high.
https://community.intel.com/t5/Embedded-Intel-Core-Processors/Hardware-limitations-on-USB-endpoints-XHCI/td-p/264556
From Intel.
With these systems it was only 25 devices total (unless you use hubs), so they introduced two controllers to allow 100+ endpoints.
And thats not considering the internal hubs that split back and forward ports.
This seems to be a limitation of Intel host controllers. The USB 2.0 specification (including 12 Mbps Full Speed) allows for up to 127 devices. Each of those devices can have up to 16 IN and 16 OUT endpoints, c.f. https://www.usbmadesimple.co.uk/ums_3.htm Depending on how you count, that would be a maximum of 2k to 4k endpoints in total. I guess Intel thought it wasn’t worthwhile supporting that many endpoints.
Some quick searching turned up this post that claims that USB3 controllers often support up to 254 endpoints (in total). https://www.cambrionix.com/a-quick-guide-to-usb-endpoint-limitations/ Other posters have also said that AMD appears to have higher limits. You could also consider adding more USB root hubs to your system (with PCIe cards).
Yep, completely agree that its an Intel limitation.
I didn’t see that about USB3 (my Intel system provides USB 3, and still has the 50 endpoint/25 device limit), I’ll take a look, however it sounds like AMD is just generally better.
It’ll be a shame to lose Quick Sync, but it’ll probably be worth it.
However this reiterates my thoughts about USB4, since it is a Thunderbolt derivative, and as mentioned in your link Thunderbolt doesn’t have these same limitations.