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