On Mon, Jan 14, 2019 at 10:12:09AM -0500, Alan Stern wrote: > On Mon, 14 Jan 2019, Johan Hovold wrote: > > > 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). > > You're forgetting to count ep0. Indeed, and the question doesn't appear to be how to maximise the number of USB serial ports as I first read it either. Sorry about the noise. Johan