> That sounds like the xHCI host ran out of slot IDs.  It may be that it
> simply can't handle having more than 24 devices connected to the system.
> The USB bus specification says that 255 devices can be connected to the
> host, but that doesn't mean the xHCI host controller has all the
> internal resources to support that.

Ah, as a consumer I would not expect that, but I can certainly see
manufacturers would love to save on registers. In practice then, most
consumer products won’t allow you to connect more than a few dozen devices?

> Can you unload and reload the module with dynamic debugging enabled, and
> look for output in dmesg like:
>
> // xHC can handle at most %d device slots.
>
> There's an xHCI capabilities register that gets printed which contains
> the maximum number of device slots the xHCI host provides.

Indeed, after turning on debug for at module initialisation I find that my
NEC chip reports 32 device slots, while my VIA chip only supports 16
(these are the doorbell registers?). I’m a bit curious what the remaining
slots are used for. When I plug in a single hub with debugging enabled I get
Slot IDs up to 8. I suppose this is necessary since each hub is seen as both
superspeed and high-speed device?

My two Anker hubs then need 2x(4+4) = 16 slots leaving 13+3 slots for my
devices consistent with my testing. I will be sure to read the capability
register of the host controller for my next purchase, luckily my final setup
will have a dedicated controller for each hub.

Thanks Sarah for pointing out this basic limitation,
—
Amund Hov
+47 412 96 298
amund....@silabs.com

This message (including any attachments) is intended only for the use of the 
individual or entity to which it is addressed and may contain information that 
is non-public, proprietary, privileged, confidential, and exempt from 
disclosure under applicable law or may constitute as attorney work product. If 
you are not the intended recipient, you are hereby notified that any use, 
dissemination, distribution, or copying of this communication is strictly 
prohibited. If you have received this communication in error, notify us 
immediately by telephone and destroy this message if a facsimile or (ii) delete 
this message immediately if this is an electronic communication. Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to