On Sun, Jan 13, 2019 at 07:14:23PM -0800, Marc MERLIN wrote:
> On Mon, Dec 31, 2018 at 12:34:31PM -0500, Alan Stern wrote:
> > > Just a small addition, many Intel xHCI controllers now support 64 devices.
> > > 
> > > It's possible to get the max device slots xHCI hardware supports from a 
> > > xHC register.
> > > (bits 7:0 of the HCSPARAMS1 capability register)
> > >   
> > > This can be found from debugfs, but it's not very practical:
> > > 
> > > mount -t debugfs none /sys/kernel/debug/
> > > grep HCSPARAMS1 /sys/kernel/debug/usb/xhci/0000\:00\:14.0/reg-cap
> > > HCSPARAMS1 = 0x1a000840
> > > 
> > > We only care about bits 7:0, by ignoring the other bits we get 0x00000040,
> > > which is 64 in decimal.
> > > 
> > > So this xHCI supports 64 device slots.
> > 
> > The limits that Marc encountered were on both the number of device
> > slots and the number of endpoint slots.  In his case, each device has 3
> > endpoints.
> 
> For my own education, I was using USB/Serial converters and raw USB
> (android fastboot).
> Are there USB devices that only use 2 or 1 endpoint instead of 3 or
> more?

Yes, there are USB-serial devices which use only two bulk endpoints
(e.g. ftdi, I think also cp210x, possibly others). There are even
devices that mux up to 16 ports over just three endpoints (e.g. some
Moxa devices handled by the mxuport driver).

Johan

Reply via email to