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.

TUSB8020B cannot connect

Other Parts Discussed in Thread: TUSB8020B

Hi,


I have developed a board using a TUSB8020B USB hub. One port is routed via a type A connector to an off-the-shelf USB3 camera module, the other port connects via USB2 only to an on-board microcontroller. This microcontroller also connects to the hub via SMBUS for configuration. Right now for debugging I'm just using the default register values the chip starts up with. The only change I'm making is writing 0x01 to the Device Status and Command Register (address 0xF8) to set the cfgActive bit and enable the hub. However, I'm unable to connect to any devices plugged into the hub.


When I open device manager, there is a yellow warning triangle next to the USB hub icon for the device. When I right click on the device and select properties, the Device Status says:

> Windows has stopped this device because it has reported problems. (Code 43)
>
> The USB hub failed to reset.

Looking on Microsoft's website, code 43 seems like a generic error message about a driver or hardware problem: https://technet.microsoft.com/en-gb/library/cc725873(v=ws.10).aspx. Their suggested solution (uninstalling and reinstalling the device) didn't help. I tried using Microsoft's USB Hardware Verifier (part of the MUTT package: https://msdn.microsoft.com/en-us/library/windows/hardware/dn376875(v=vs.85).aspx

Session Name : TraceSessionWedSep161724162015

Attempting to start session TraceSessionWedSep161724162015...
Trace Session created...Status : 0

Provider Enable Success, Status : 0

Provider Enable Success, Status : 0

Provider Enable Success, Status : 0

Provider Enable Success, Status : 0

Provider Enable Success, Status : 0
13086894261.015598: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894261.015617: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894261.427362: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894261.427368: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894261.838444: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894261.838453: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894262.250250: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894262.250263: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894262.661966: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894262.661970: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894263.073660: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894263.073669: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894263.484720: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894263.484724: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894263.896490: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894263.896498: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894264.308409: (UsbHub3/179)
        Event Message: Client Initiated Recovery Action
        DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d
0-8815-00a0c906bed8}
        PortPath:  0x72c601, 0x0, 0x800c69, 0x0
13086894264.308418: (UsbHub3/177)
        Event Message: Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
13086894264.720400: (UsbHub3/174)
        Event Message: Hub Exceeded Reset Limit. Declaring a PNP failure in the
State Machine.
        VendorID/ProductID: 0x451/0x8025
        DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-
c30c-11d0-8815-00a0c906bed8}
        DeviceDescription: Generic SuperSpeed USB Hub
        PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0

Provider disable Success, Status : 0

Provider disable Success, Status : 0

Provider disable Success, Status : 0

Provider disable Success, Status : 0

Provider disable Success, Status : 0

Session Stopped...Status : 0


********************************************************************************
**************
Test Results:

Below is a report of all the Hardware verifier events encountered. The Key field
 refers to a
Controller, hub, or device. During the lifetime of this utility, all unfiltered
events are
captured in file AllEvents.etl (in current directory). The Key in below report c
an be used to
filter events in AllEvents.etl file

********************************************************************************
**************

Record #1 (Key = 0x1ffe63cc26f8)
  DeviceInterfacePath: \??\USB#ROOT_HUB30#4&d858888&0&0#{f18a0e88-c30c-11d0-8815
-00a0c906bed8}
  PortPath:  0x72c601, 0x0, 0x800c69, 0x0
  All errors encountered:
    #1: (UsbHub3/179): Client Initiated Recovery Action
    #2: (UsbHub3/179): Client Initiated Recovery Action
    #3: (UsbHub3/179): Client Initiated Recovery Action
    #4: (UsbHub3/179): Client Initiated Recovery Action
    #5: (UsbHub3/179): Client Initiated Recovery Action
    #6: (UsbHub3/179): Client Initiated Recovery Action
    #7: (UsbHub3/179): Client Initiated Recovery Action
    #8: (UsbHub3/179): Client Initiated Recovery Action
    #9: (UsbHub3/179): Client Initiated Recovery Action

Record #2 (Key = 0x1ffe65278e58)
  VendorID/ProductID: 0x451/0x8025
  DeviceInterfacePath: \??\USB#VID_0451&PID_8025#5&262ed807&0&5#{f18a0e88-c30c-1
1d0-8815-00a0c906bed8}
  DeviceDescription: Generic SuperSpeed USB Hub
  PortPath:  0x5, 0x0, 0x0, 0x0, 0x0, 0x0
  All errors encountered:
    #1: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #2: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #3: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #4: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #5: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #6: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #7: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #8: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #9: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Vis
ible to PnP Manager
    #10: (UsbHub3/174): Hub Exceeded Reset Limit. Declaring a PNP failure in the
 State Machine.

At first glance it looks like the PC can't communicate with the hub properly, but it's clearly recognising that it is a hub, and looking in device manager I can see that it's picked up the vendor/product IDs properly, so it must be able to communicate OK.

Address     Data

0x00000000  00 51 04 25 80 1C 00 03 03 00 20 00 00 00 00 00
0x00000010  02 40 25 45 05 95 7C 27 12 15 42 12 27 2D 03 00
0x00000020  09 04 18 00 00 06 06 06 00 00 00 00 00 00 00 00
0x00000030  33 00 42 00 30 00 30 00 30 00 38 00 36 00 39 00
0x00000040  33 00 36 00 43 00 41 00 00 00 00 00 00 00 00 00
0x00000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000D0  1E 1E 1E 00 00 00 00 00 18 18 18 00 00 00 00 00
0x000000E0  04 04 04 00 00 00 00 00 77 77 77 00 00 00 00 00
0x000000F0  00 00 00 00 80 80 00 00 00

Note that this is just reading every address from 0x00 to 0xF8 (the last register), including the addresses that don't have registers assigned to them, so those locations will just be junk data. But comparing it to the datasheet, every location that is in a register looks correct.

Any ideas?

  • Hi Tom,


    What's the status of USB_VBUS to the hub?  Can you post a schematic (just the hub and upstream connector is needed)?

    Try downloading the usbview.exe utility from Microsoft and to determine if the resets are occurring on the USB 2.0 side of the hub or the USB 3.0 side - you should see a separate entry on the tree for each.  Also, try disabling U1U2 in Register 05h, the camera module may have a power state issue.

    Regards,

    JMMN

  •  USB_VBUS pin measures 0.5V after the divider, as expected. If you need a full schematic I can PM it to you, but I don't want to post it publically for obvious reasons.

    Had another look at it today and found that the hub connects ok when plugged into a USB2 port, but fails when plugged into a USB3 port. I still can't get any devices to connect to it though (USB2 or 3). I've verified continuity on the USB pins from hub to connector with a multimeter and can't see any issues there.

    I'm beginning to expect impedance control issues, but unfortunately I don't have the equipment to actually test that. I'll have to see what I can beg/borrow/steal. Will update when I have more information.

  • Hi Tom,

    Take pulldowns off OVERCUR (R210 and R211), those inputs are active low and the hub will report overcurrent events to the host. The host may stop accessing the hub at that point.
    Make sure the hub is getting an adequate reset, the pulldown on GRSTz may cause problems.
    You can also remove the pulldowns on the PWRCTL lines. They wont affect the hub operation but you'll get an increase in power consumption with them since the PWRCTL outputs will be driving a load.

    If the problem with USB 3.0 operation persists disable U1U2 in register 0x5h.

    Regards,
    JMMN