On Sun, 16 Dec 2018, Marc MERLIN wrote: > Thanks for your reply, and thanks for bearing with me, I'm not actually > that knowledgeable on how things work with multiple USB controllers at > the same time. > > I have a few questions I've outlined. > > Question #1, if I have a random computer that outputs this: > Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > > Does this mean I have both an EHCI and xHCI controller? This indicates the computer has an xHCI controller. It does not indicate there is an EHCI controller. Each xHCI controller shows up in the listing as two root hubs for consecutive buses. > If xHCI supports USB2 also, why would it come with 2? Some xHCI controllers support USB 2 and some don't. > On Sat, Dec 15, 2018 at 09:59:44PM -0500, Alan Stern wrote: > > > I also read that it's difficult to unload the xhci module after it's > > > been loaded because too many things use it. > > > > Unloading it isn't difficult at all (assuming it was built as a module > > in the first place). And even if you can't unload it, you can unbind > > it from the xHCI hardware, which will have much the same effect. > > Understood. It wasn't clear from what I had read. > > > > Someone suggested checking whether there is a way to turn off USB3 in my > > > bios, turning off xhci support altogether. > > > From what you're saying it sounds like it would fix my problem assuming > > > the bios allows this at all. I'll need to check in the office next week. > > > > Depending on what hardware you have on your computer (something you > > have not described so far in this conversation -- you haven't even > > provided the output from "lsusb"), disabling xHCI support might prevent > > all of the USB devices attached to the computer from working. > > Sorry, I pasted an incomplete lsusb, I'll get the full one tomorrow. > > > Second, who says you need a USB-2 only card? What you need is a card > > with an EHCI controller; nothing prevents the card from having an xHCI > > controller too. > > Question #2: > I may be confused, but xHCI supports USB2, correct? Like I said above, some controllers do and some don't. > If so, why would a card provide both a xHCI chip and a EHCI chip if xHCI > can do both? Most likely the controllers you will find on modern PCIe cards _do_ support both USB 2 and USB 3, so those cards don't need to have two controllers. Older cards (and motherboards) might need them, though. > > > > There are still old cards around, and probably there are still cards > > > > being made that don't have xHCI. Regardless, even if a card does have > > > > an xHCI controller, as long as it also has an EHCI controller and you > > > > use only USB 2 cables, you should be okay. > > > > > > That's the thing though, this is exactly what I do. > > > > I don't think so; I strongly suspect your card does _not_ have an EHCI > > controller. > > "this is exactly what I do" == "use only USB 2 cables" > I agree with you that I don't think the card has an EHCI controller. > > > It's not a question of whether you use USB-2 signalling or USB-3 > > signalling; it's a question of whether you use an EHCI controller or an > > xHCI controller. The 32-device limit is inherent in the controller, > > not in the signalling. > > Thanks for confirming. > > > > Right, that I know how to do, but finding a EHCI only PCIe or > > > motherboard is going to be next to impossible. > > > > See above. And don't be such a pessimist: > > https://www.amazon.com/Port-Express-Profile-High-Speed/dp/B002RL8V7E > > I'm not sure how I failed to find this, but I clearly did, thanks for > the link. > > > If all the controllers on the motherboard and on the add-on card are > > xHCI, then disabling xHCI support in the kernel will prevent any of > > your USB devices from working. That isn't what you want. > > Point taken. I think I was thinking about USB ports that were routed to > either a xHCI or an EHCI chip depending on what's plugged into them, but > seems that I didn't quite understand how that worked. It varies. For example, my office computer does exactly what you were thinking: It routes SuperSpeed connections to the xHCI controller and it routes high speed connections (even on the same port!) to one of the EHCI controllers. Alan Stern