[Question] Does USB4 increase the number of available endpoints? - eviltoast

I’m looking to replace my sff J5040 Wyze machine. Its still plenty fast enough, but storage has become an issue with its limited USB endpoint availability of ~50 device limit.

I know that just switching it up to a newer Intel system could give me double the endpoints because of the two XHCI chip setup, but I was thinking that if I’m going to replace it, I’d like to not limit myself.

As such, even though Ryzen is far faster than I need, it does now support USB4. Does anyone know if the switch to USB4 would give the system a larger address range and have more than 127 USB devices or is that limitation still in place and I might as well not waste my money?

  • frazorth@feddit.ukOP
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    3 days ago

    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.

    First Limitation

    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.

    It’s because of this reason that Intel added a second USB Host Controller in the majority of its Core platform chipsets. If you look at the Features page of the 8 Series Chipset ( when partnered with the 4th Gen Intel Core processor), page 39, http://www.intel.com/content/www/us/en/chipsets/8-series-chipset-pch-datasheet.html http://www.intel.com/content/www/us/en/chipsets/8-series-chipset-pch-datasheet.html, it states having “Two EHCI Host Controllers, supporting up to fourteen external USB 2.0 ports”. So, with two Host Controllers, each at 50+ device, you have a potential of connecting up to 100+ USB devices per 4th Gen Core platform system.

    And thats not considering the internal hubs that split back and forward ports.

    • stuner@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      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).

      • frazorth@feddit.ukOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        2 days ago

        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.