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-Q1: Connection problem on the USB 3 Upstream

Part Number: TUSB8041-Q1
Other Parts Discussed in Thread: TUSB8041, TUSB522P

Hi TI team ,

We are using the TUSB8041-Q1 together with the TUSB522 . On the USB2 P1 we have the MCP2221A .

We are facing some intermediated connection problem on the USB 3 only , The USB 2 works fine .

When connecting our board(HUB)  to the PC (HOST)  we can see the connection and after a few seconds the hub is  disconnected .

If we are connecting our board(HUB + Re-driver )  to the pc through another HUB (of the shelf)  its working fine .

We are using an EEPROM for configuration , but already disabled it and try to use the on board strap's , it didn't help.

Also, we override the re-driver ,it didn't help .

I am attaching part of our schematics for review 

Please advise .

Thanks in advance 

Regards, 

Avi

  • HI Avi,

    Can you clarify a few things? 

    • When the TUSB8041 hub disconnects, do both sides of the hub (2.0 and 3.0) disconnect?
    • When the hub works when tiered behind another hub, do both USB 2.0 and USB 3.0 work?
    • What operating system are you using on the PC?

    A few comments on the schematic:

    The AC caps on the SS RX pair are optional, but if used are typically 330 nF, not 100 nF

    USB_VBUS is a detection input to the hub and should only be high when an active host is connected to the hub.

    Regards,

    JMMN

  • Hi JMMM

    Thanks for your prompt reply , 

    Only the USB3.0 disconnected

    When tiered its seems to work fine

    Windows 10

    I will try to change the USB_VBUS detection and I will update you 

    Thanks


    Avi

  • Ok, you can load usbview.exe or USB device tree viewer and send a screen shot too.  What length cables are you using?

  • Hi JMMN

    We are using a 5m cable but we using the 2 TUSB522P , one on each side of the cable .

    It seems that changing the USB_VBUS source to be from the Host 5V instead of the local 1.1V shows better results .

    I will update you and will send screen capture as soon as possible.

    Avi 

  • Ok, thanks.  

  • Hi JMMN

    Attached please find the USB Device tree with 5m cable  , that's when the hub and down devices are already enumerated  .

    But still there intermediate disconnection  .

    The TUSB522P on both sides setting is as follow :

    OS1=1

    EQ1=1

    OS2=1

    EQ2=1

    Also at the end you can see the USB Device tree when there is a disconnection. 

    
    
        =========================== USB Port18 ===========================
    
    Connection Status        : 0x01 (Device is connected)
    Port Chain               : 2-18
    Properties               : 0x03
     IsUserConnectable       : yes
     PortIsDebugCapable      : yes
     PortHasMultiCompanions  : no
     PortConnectorIsTypeC    : no
    ConnectionIndex          : 0x12 (Port 18)
    CompanionIndex           : 0
     CompanionHubSymLnk      : USB#ROOT_HUB30#4&92b3c53&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
     CompanionPortNumber     : 0x02 (Port 2)
     -> CompanionPortChain   : 2-2
    
          ========================== Summary =========================
    Vendor ID                : 0x0451 (Texas Instruments)
    Product ID               : 0x8140
    USB version              : 3.0
    Port maximum Speed       : SuperSpeed
    Device maximum Speed     : SuperSpeed
    Device Connection Speed  : SuperSpeed
    Self Powered             : yes
    Demanded Current         : 0 mA
    Used Endpoints           : 2
    
          ========================== USB Hub =========================
    
            +++++++++++++++++ Device Information ++++++++++++++++++
    Device Description       : Generic SuperSpeed USB Hub
    Device Path              : \\?\USB#VID_0451&PID_8140#5&2108ad5d&0&18#{f18a0e88-c30c-11d0-8815-00a0c906bed8} (GUID_DEVINTERFACE_USB_HUB)
    Kernel Name              : \Device\USBPDO-29
    Device ID                : USB\VID_0451&PID_8140\5&2108AD5D&0&18
    Hardware IDs             : USB\VID_0451&PID_8140&REV_0100 USB\VID_0451&PID_8140
    Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0021 (GUID_DEVCLASS_USB)
    Driver                   : \SystemRoot\System32\drivers\UsbHub3.sys (Version: 10.0.19041.964  Date: 2021-05-19)
    Driver Inf               : C:\WINDOWS\inf\usbhub3.inf
    Legacy BusType           : PNPBus
    Class                    : USB
    Class GUID               : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
    Service                  : USBHUB3
    Enumerator               : USB
    Location Info            : Port_#0018.Hub_#0001
    Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(18), ACPI(_SB_)#ACPI(PCI0)#ACPI(XHC_)#ACPI(RHUB)#ACPI(SS02)
    Container ID             : {08648002-9a48-73ab-7517-c823272d0300}
    Manufacturer Info        : (Standard USB HUBs)
    Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
    Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
    Problem Code             : 0
    Address                  : 18
    HcDisableSelectiveSuspend: 0
    EnableSelectiveSuspend   : 0
    SelectiveSuspendEnabled  : 0
    EnhancedPowerMgmtEnabled : 0
    IdleInWorkingState       : 1
    WakeFromSleepState       : 0
    Power State              : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2)
    
            +++++++++++++++++ Registry USB Flags +++++++++++++++++
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\045181400100
     osvc                    : REG_BINARY 00 00
    
            ------------------- USB Hub Descriptor -----------------
    bDescriptorLength        : 0x09 (9 bytes)
    bDescriptorType          : 0x29 (Hub Descriptor)
    bNumberOfPorts           : 0x04 (4 Ports)
    wHubCharacteristics      : 0x0000
     Power switching         : Ganged
     Compound device         : No
     Over-current protection : Global
     TT Think Time           : At most 8 FS bit times
     Port Indicators         : Not supported
    bPowerOnToPowerGood      : 0x00 (0 ms)
    bHubControlCurrent       : 0x00 (0 mA)
    DeviceRemovable          : 0x00
     Bit 0                   : 0 (reserved, any value)
     Bit 1                   : 0 (Device at Port 1 is removable)
     Bit 2                   : 0 (Device at Port 2 is removable)
     Bit 3                   : 0 (Device at Port 3 is removable)
     Bit 4                   : 0 (Device at Port 4 is removable)
     Bit 5                   : 0 (unused, must be 0)
     Bit 6                   : 0 (unused, must be 0)
     Bit 7                   : 0 (unused, must be 0)
    Data (HexDump)           : 09 29 04 00 00 00 00 00 FF                        .).......
    HubIsBusPowered          : 0x00 (Self Powered)
    
          ---------------- Extended USB Hub Descriptor ---------------
    HubType                  : 0x03 (Usb30Hub - hub descriptor is defined in USB 3.0 specification)
    HighestPortNumber        : 0x04 (4 Ports)
    
            ---------------- USB 3.0 Hub Descriptor ---------------
    bLength                  : 0x0C (12 bytes)
    bDescriptorType          : 0x2A
    bNumberOfPorts           : 0x04 (4 Ports)
    wHubCharacteristics      : 0x0000
     Power switching         : Ganged
     Compound device         : No
     Over-current protection : Global
     TT Think Time           : At most 8 FS bit times
     Port Indicators         : Not supported
    bPowerOnToPowerGood      : 0x00
    bHubControlCurrent       : 0x00
    bHubHdrDecLat            : 0x03 (0.3 µs)
    wHubDelay                : 0xBE (190 ns)
    DeviceRemovable          : 0x00
     Bit 0                   : 0 (reserved, any value)
     Bit 1                   : 0 (Device at Port 1 is removable)
     Bit 2                   : 0 (Device at Port 2 is removable)
     Bit 3                   : 0 (Device at Port 3 is removable)
     Bit 4                   : 0 (Device at Port 4 is removable)
     Bit 5                   : 0 (unused, must be 0)
     Bit 6                   : 0 (unused, must be 0)
     Bit 7                   : 0 (unused, must be 0)
    Data (HexDump)           : 0C 2A 04 00 00 00 00 03 BE 00 00 00               .*..........
    
            ----------------- USB Hub Capabilities ----------------
    HubIs2xCapable           : 0 (Is not 2.x capable)
    Data (HexDump)           : 00 00 00 00                                       ....
    
            --------------- USB Hub Capabilities Ex ---------------
    HighSpeedCapable         : 0 (No)
    HighSpeed                : 0 (No)
    MultiTtCapable           : 0 (No)
    HubIsMultiTt             : 0 (No)
    ArmedWakeOnConnect       : 0 (No)
    IsBusPowered             : 0 (No)
    IsRoot                   : 0 (No)
    Data (HexDump)           : 00 00 00 00                                       ....
    
            ---------------- Connection Information ---------------
    Connection Index         : 0x12 (Port 18)
    Connection Status        : 0x01 (DeviceConnected)
    Current Config Value     : 0x01 (Configuration 1)
    Device Address           : 0x37 (55)
    Is Hub                   : 0x01 (yes)
    Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
    Number Of Open Pipes     : 0x01 (1 pipe to data endpoints)
    Pipe[0]                  : EndpointID=1  Direction=IN   ScheduleOffset=0  Type=Interrupt
    Data (HexDump)           : 12 00 00 00 12 01 00 03 09 00 03 09 51 04 40 81   ............Q.@.
                               00 01 00 00 00 01 01 02 01 37 00 01 00 00 00 01   .........7......
                               00 00 00 07 05 81 13 02 00 08 00 00 00 00         ..............
    
            --------------- Connection Information V2 -------------
    Connection Index         : 0x12 (18)
    Length                   : 0x10 (16 bytes)
    SupportedUsbProtocols    : 0x04
     Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 2-2 does
     Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 2-2 does
     Usb300                  : 1 (yes, port supports USB 3.0)
     ReservedMBZ             : 0x00
    Flags                    : 0x03
     DevIsOpAtSsOrHigher     : 1 (Device is operating at SuperSpeed or higher)
     DevIsSsCapOrHigher      : 1 (Device is SuperSpeed capable or higher)
     DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
     DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
     ReservedMBZ             : 0x00
    Data (HexDump)           : 12 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................
    
        ---------------------- Device Descriptor ----------------------
    bLength                  : 0x12 (18 bytes)
    bDescriptorType          : 0x01 (Device Descriptor)
    bcdUSB                   : 0x300 (USB Version 3.00)
    bDeviceClass             : 0x09 (Hub)
    bDeviceSubClass          : 0x00
    bDeviceProtocol          : 0x03 (SuperSpeed hub)
    bMaxPacketSize0          : 0x09 (9 bytes)
    idVendor                 : 0x0451 (Texas Instruments)
    idProduct                : 0x8140
    bcdDevice                : 0x0100
    iManufacturer            : 0x00 (No String Descriptor)
    iProduct                 : 0x00 (No String Descriptor)
    iSerialNumber            : 0x00 (No String Descriptor)
    bNumConfigurations       : 0x01 (1 Configuration)
    Data (HexDump)           : 12 01 00 03 09 00 03 09 51 04 40 81 00 01 00 00   ........Q.@.....
                               00 01                                             ..
    
        ------------------ Configuration Descriptor -------------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x02 (Configuration Descriptor)
    wTotalLength             : 0x001F (31 bytes)
    bNumInterfaces           : 0x01 (1 Interface)
    bConfigurationValue      : 0x01 (Configuration 1)
    iConfiguration           : 0x00 (No String Descriptor)
    bmAttributes             : 0xE0
     D7: Reserved, set 1     : 0x01
     D6: Self Powered        : 0x01 (yes)
     D5: Remote Wakeup       : 0x01 (yes)
     D4..0: Reserved, set 0  : 0x00
    MaxPower                 : 0x00 (0 mA)
    Data (HexDump)           : 09 02 1F 00 01 01 00 E0 00 09 04 00 00 01 09 00   ................
                               00 00 07 05 81 13 02 00 08 06 30 00 00 02 00      ..........0....
    
            ---------------- Interface Descriptor -----------------
    bLength                  : 0x09 (9 bytes)
    bDescriptorType          : 0x04 (Interface Descriptor)
    bInterfaceNumber         : 0x00
    bAlternateSetting        : 0x00
    bNumEndpoints            : 0x01 (1 Endpoint)
    bInterfaceClass          : 0x09 (Hub)
    bInterfaceSubClass       : 0x00
    bInterfaceProtocol       : 0x00
    iInterface               : 0x00 (No String Descriptor)
    Data (HexDump)           : 09 04 00 00 01 09 00 00 00                        .........
    
            ----------------- Endpoint Descriptor -----------------
    bLength                  : 0x07 (7 bytes)
    bDescriptorType          : 0x05 (Endpoint Descriptor)
    bEndpointAddress         : 0x81 (Direction=IN EndpointID=1)
    bmAttributes             : 0x13 (TransferType=InterruptNotification)
    wMaxPacketSize           : 0x0002
    bInterval                : 0x08 (8 ms)
    Data (HexDump)           : 07 05 81 13 02 00 08                              .......
    
            ------ SuperSpeed Endpoint Companion Descriptor -------
    bLength                  : 0x06 (6 bytes)
    bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
    bMaxBurst                : 0x00 (up to 1 packets per burst)
    bmAttributes             : 0x00
    wBytesPerInterval        : 0x0002 (2 bytes)
    Data (HexDump)           : 06 30 00 00 02 00                                 .0....
    
          ---------- Binary Object Store (BOS) Descriptor -----------
    bLength                  : 0x05 (5 bytes)
    bDescriptorType          : 0x0F (Binary Object Store)
    wTotalLength             : 0x002A (42 bytes)
    bNumDeviceCaps           : 0x03
    Data (HexDump)           : 05 0F 2A 00 03                                    ..*..
    
            ------------- USB 2.0 Extension Descriptor ------------
    bLength                  : 0x07 (7 bytes)
    bDescriptorType          : 0x10 (Device Capability Descriptor)
    bDevCapabilityType       : 0x02 (USB 2.0 Extension)
    bmAttributes             : 0x06
     LPMCapable              : 1 (Link Power Management protocol is supported)
     BESLAndAlternateHIRD    : 1 (BESL & Alternate HIRD definitions are supported)
     BaselineBESLValid       : 0 (not valid)
     DeepBESLValid           : 0 (not valid)
     BaselineBESL            : 0
     DeepBESL                : 0
    Data (HexDump)           : 07 10 02 06 00 00 00                              .......
    
            ----- SuperSpeed USB Device Capability Descriptor -----
    bLength                  : 0x0A (10 bytes)
    bDescriptorType          : 0x10 (Device Capability Descriptor)
    bDevCapabilityType       : 0x03 (SuperSpeed USB Device Capability)
    bmAttributes             : 0x00
     Bit 0 Reserved          : 0x00
     Bit 1 LTM Capable       : 0x00 (no)
     Bit 7:2 Reserved        : 0x00
    wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
    bFunctionalitySupport    : 0x01 (lowest speed with all the functionality is 'Full-Speed')
    bU1DevExitLat            : 0x0A   (less than 10 µs)
    wU2DevExitLat            : 0x07FF (less than 2047 µs)
    Data (HexDump)           : 0A 10 03 00 0E 00 01 0A FF 07                     ..........
    
            --------- Container ID Capability Descriptor ----------
    bLength                  : 0x14 (20 bytes)
    bDescriptorType          : 0x10 (Container ID Capability)
    bDevCapabilityType       : 0x04
    bReserved                : 0x00
    Container ID (UUID)      : 08648002-9A48-73AB-7517-C823272D0300
    Data (HexDump)           : 14 10 04 00 02 80 64 08 48 9A AB 73 75 17 C8 23   ......d.H..su..#
                               27 2D 03 00                                       '-..
    
          -------------------- String Descriptors -------------------
    none







      Disconnection :



    =========================== USB Port3 =========================== Connection Status : 0x00 (No device is connected) Port Chain : 2-18-3 Properties : 0x01 IsUserConnectable : yes PortIsDebugCapable : no PortHasMultiCompanions : no PortConnectorIsTypeC : no ConnectionIndex : 0x03 (Port 3) CompanionIndex : 0 CompanionHubSymLnk : USB#VID_0451&PID_8142#MSFT20BA0300718053#{f18a0e88-c30c-11d0-8815-00a0c906bed8} CompanionPortNumber : 0x03 (Port 3) -> CompanionPortChain : 2-2-3 SupportedUsbProtocols : 0x04 Usb110 : 0 (no, port not supports USB 1.1) -> but Companion Port 2-2-3 does Usb200 : 0 (no, port not supports USB 2.0) -> but Companion Port 2-2-3 does Usb300 : 1 (yes, port supports USB 3.0) ReservedMBZ : 0x00

    Regards,

    Avi

  • Hi 

    Another screen capture while trying to connect

    
    
        =========================== USB Port18 ===========================
    
    Connection Status        : 0x01 (Device is connected)
    Port Chain               : 2-18
    Properties               : 0x03
     IsUserConnectable       : yes
     PortIsDebugCapable      : yes
     PortHasMultiCompanions  : no
     PortConnectorIsTypeC    : no
    ConnectionIndex          : 0x12 (Port 18)
    CompanionIndex           : 0
     CompanionHubSymLnk      : USB#ROOT_HUB30#4&92b3c53&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
     CompanionPortNumber     : 0x02 (Port 2)
     -> CompanionPortChain   : 2-2
    
    Used Endpoints           : 0
    
          ======================== USB Device ========================
    
    DriverKeyName            : ERROR_INVALID_PARAMETER
    
            ---------------- Connection Information ---------------
    Connection Index         : 0x00 (Port 0)
    Connection Status        : 0x01 (DeviceConnected)
    Current Config Value     : 0x00 (Configuration 0)
    Device Address           : 0x00 (0)
    Is Hub                   : 0x00 (no)
    Device Bus Speed         : 0x00 (Low-Speed)
    Number Of Open Pipes     : 0x00 (0 pipes to data endpoints)
    Data (HexDump)           : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
                               00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01   ................
                               00 00 00                                          ...
    
            --------------- Connection Information V2 -------------
    Connection Index         : 0x12 (18)
    Length                   : 0x10 (16 bytes)
    SupportedUsbProtocols    : 0x04
     Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 2-2 does
     Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 2-2 does
     Usb300                  : 1 (yes, port supports USB 3.0)
     ReservedMBZ             : 0x00
    Flags                    : 0x00
     DevIsOpAtSsOrHigher     : 0 (Device is not operating at SuperSpeed or higher)
     DevIsSsCapOrHigher      : 0 (Device is not SuperSpeed capable or higher)
     DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
     DevIsSsPlusCapOrHigher  : 0 (Device is not SuperSpeedPlus capable or higher)
     ReservedMBZ             : 0x00
    Data (HexDump)           : 12 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00   ................
    
        ---------------------- Device Descriptor ----------------------
    bLength                  : 0x00 (0 bytes)
    
          -------------------- String Descriptors -------------------
    none
    
    Avi
  • Hi Avi,

    Does the disconnect happen immediately or does it keep retrying?  If you plug in a USB 3.0 device downstream of the hub (to keep it out of low power states), does the behavior change?  Have you tried adjusting the 100 nF resistors on the RX lines?

    Regards,

    JMMN

  • Hi JMMN

    I have replaced the RX but without any changes in results . 

    Is there a way to put the hub upstream port into compliance mode (USB3) ?  

    I am able to use the usb org xhci hset , and enumerate the bus , and control the downstream , but how to do so with the up stream ?

    Regards,

    Avi

  • Hi Avi,

    An upstream facing port will enter USB3 compliance mode if it detects rx terminations and fails LFPS polling on the first try.  If the port has successfully completed LFPS polling handshake previously (since last reset) then the transition to compliance mode is blocked.

    Regards,

    JMMN

  • Hi JMMN

    Thanks 

    Will try that first thing on Sunday morning .

    Avi