Re: getting around "Max number of devices this xHCI host supports is 32" limit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



TL;DR: can I reasonably turn off xhci support on the linux side?
https://superuser.com/questions/731751/not-enough-host-controller-resources-for-new-device-state
seems to say no
"The xchi module always ended up loaded, even if blacklisted, presumably
to handle internal hardware. Didn't investigate this much, however."

On Sat, Dec 15, 2018 at 02:32:50PM -0500, Alan Stern wrote:
> For EHCI the number of endpoints doesn't matter.  Your problem is that
> everything is going through an xHCI controller, either on your computer
> or on the PCIe card, even though you're using USB 2 cables.  You want 
> things to be connected to an EHCI controller.

Aaah, I see.
I also read that it's difficult to unload the xhci module after it's
been loaded because too many things use it. 
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.

> Probably.  If you have a PCI card with an EHCI controller, try plugging 
> all your devices into that card via a USB 2 cable (and a hub, 
> obviously).
 
I did that. Actually I have this
https://www.amazon.com/gp/product/B00FPIMICA/ref=oh_aui_search_detailpage?ie=UTF8&psc=1
The labelling on the front plate is weird:
https://images-na.ssl-images-amazon.com/images/I/71LSAwbx3gL._SL1300_.jpg

I'm not sure why ports are "grouped" together, but they're all labelled
as USB3, which obviously is bad. 
Also, this reminded me that I actually have a PCIe slot, so finding a
USB2 only card in PCIe form factor is going to be unobtanium :(

> 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 do not use a
single USB3 cable. I use USB2 extension cords to connect to the USB3
hub, ensuring that USB3 signalling cannot get through, and I still hit
the limit.

> You can check the output from "lsusb" to make certain.  xHCI
> controllers create two successive buses, where bus N device 001 is
> marked "Linux Foundation 2.0 root hub" and bus (N+1) device 001 is
> marked "Linux Foundation 3.0 root hub".  EHCI controllers create only 
> one bus.

Right, that I know how to do, but finding a EHCI only PCIe or
motherboard is going to be next to impossible.

Sounds like somehow I need to turn off USB3 support altogether in the
bios maybe the linux driver.
Is there a way to disable xhci support for a specific driver, with the
obvious issue that onboard devices on the MB likely use it if I
recompile a kernel with xhci support missing?

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
                                      .... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/                       | PGP 7F55D5F27AAF9D08



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux