We use a lot of these hubs a year and run in to the following issue on a daily to weekly basis.
After connecting and disconnecting various numbers (10 - 1.000) physically different but equal design devices (all self powered) sometimes 1 but mostly both of the downstream ports become unresponsive. This means that when a USB device is connected to one of the downstream ports it is not seen at all by the computer (Linux, observing dmesg).
Unfortunately there does not seem to be a deterministic way re reproduce the situation, making it very hard to analyse.
There seem to be 2 remedies to get out of this;
- A power cycle of the entire circuit containing the hub
- Resetting the hub from Linux using ioctl (USBDEVFS_RESET) on the hub USB address (upstream, not downstream ports)
We have resolved before a situation where the hub would get into a state where it would not respond and get very hot, drawing a lot of current, and this has been handled by implementing a current limiting circuit with reset using MIC2091. This situation does however not apply in what has been observed here.
Are there states inside the chip in which it can get stuck? (other than the one already resolved)
Can this be read out (in Linux) in order to be detected?
Is this a known issue with this chip?
Has anyone seen and resolved this issue before?