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.

TUSB8041: Hub works as USB2 but not USB3 SuperSpeed

Part Number: TUSB8041

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...

  • Hello Gavin,

    Have you checked signal integrity on the upstream port SS lines?
    Do you have a USB protocol analyzer that could help us to determine what's going on?

    Regards,
    Jorge
  • Hi Jorge,

    Unfortunately we don't have a USB protocol analyser. I have now obtained a second PCB to test with, and the SuperSpeed bus works just fine. So the design is obviously ok. It must be some sort of physical defect which is causing the problem on that first board that was tested. I guess we'll have to incorporate special testing during manufacturing to test these sorts of issues early. In the meantime, we'll just rework the board and hope that resolves the issue.

    Thanks,

      :: Gavin