Hello,
We have a board design based on the TUSB8041 EVM. The hub is configured via SMBus using a micro. The registers after configuration:
vendorIdLsb=8ch
vendorIdMsb=2fh
productIdLsb=10h
productIdMsb=00h
DCR=90h
customStrings=1
customSerialN=0
u1u2Disable =0
ganged =0
fullPwrMgmtZ =0
BATEN=01h
RMBL=8dh
USED=03h
DCR2=00h
customBC =0
pwrCtlPol =0
hiCurAcp =0
cpdEn =0
dsportECR =0
autoModeEnZ=0
POL=00h
ADFC=00h
DSTC=00h
The hub enumerates correctly and works as a USB2 device, but we get an error for the SuperSpeed hub. The "Generic USB 2.1 Hub" shows our custom VID/PID (2f8c/0010h), Manufacturer and Product strings, etc. and custom port config (present, powered, etc). So USB2 works perfectly, and downstream device works fine too.
The error reoprted is "Problem Code : 31 (CM_PROB_FAILED_ADD)". So it looks like the hub enumerated ok but then the driver tried to start talking and failed early on.
The driver is \SystemRoot\System32\drivers\UsbHub3.sys, C:\WINDOWS\inf\usbhub3.inf, Service USBHUB3, In the USBTreeView results I see:
Connection Status : 0x02 (DeviceFailedEnumeration)
If I prevent the micro from setting the custom VID/PID and leave it to all reset defaults, the same error occurs, so I think I can exclude our custom config.
I have checked the wiring to the USB3 B port, the tracks going to the TX/RX +/- pins, and used a breakout cable to check for shorts and found none.
The host is a PC running Windows 10. I also tried on a MacBook Pro and it enumerates at HS not SS also.
What else could be causing this problem?
Thanks...