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]

 



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?
If xHCI supports USB2 also, why would it come with 2? 

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?
If so, why would a card provide both a xHCI chip and a EHCI chip if xHCI
can do both?

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

Thanks for your reply,
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