This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB4041I: TUSB4041I Intermittent Failed Enumeration Windows 11 USB2.0

Part Number: TUSB4041I
Other Parts Discussed in Thread: TUSB3410UARTPDK

I'm having an issue with downstream port enumeration failure for 1 or more ports on Windows 11 only. I do not experience this issue on Windows 10.

The design uses a 12V external supply to power the downstream ports via a 5V regulator and the TUSB4041I via 3.3V and 1.1V regulators. The downstream ports are USB2.0 devices that do not have enumeration issues separated from the HUB.

The failure occurs intermittently (~40% rate) whenever I disconnect the upstream cable, wait 5 seconds, re-connect the upstream cable. The HUB will always be recognized, however, 1 or more of the downstream ports may fail enumeration. Re-plugging the downstream ports after the error occurs does not resolve the issue. Note that the external 12V supply is remaining connected, therefore, the HUB is not cycling power, only the upstream port connections.

Debugging I have done so far:

  • Verified the voltages and compliance of the power-on sequence.
  • Verified clock frequency.
  • Cycling the upstream connection causes the PWRCTL to switch which cycles the VBUS to the downstream ports. I removed the power switches to maintain power on the downstream ports. No changes.
  • Removed the pull-up resistors from PWRCTL/BATEN to disable charging. No changes.
  • Changes FULLPWRMGMTz/SMBA1 and AUTOENz/HS_SUSPEND from pull-down to pull-up to 3.3V to disable these 2 functions. No changes.
  • Delayed the downstream ports power by 1 second to potentially allow the HUB to settle prior to enumerating the downstream ports. No changes.

For Windows 10, I can watch the current consumption on the power supply change in ~1 second increments with each port detection. However, under Windows 11, the initial change in current is much more rapid, reaching the expected current draw without signifiers of individual port detection. If a port does fail enumeration, the overall current draw is less as if the failed port is pulling no current.

Hub.png

PWR SW.png

Connectors.png

Thanks.