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.

Linux/TUSB4041I: Ubuntu 14.04 Recognize Problems

Part Number: TUSB4041I

Tool/software: Linux

Hello Everyone,

I made a personalized board based on EV board of TUSB4041I. All the devices that I want to connect to the USB hub work fine on Windows 10 but not on Ubunto 14.04 using usb xhci-hcd driver. it does not recognize the Hub as a HighSpeed device but as an indicator ( i do not even understand this designation to a USB device).

I know that I do not have any hardware issue because in Widows 10 everything works.


Can you provide me some help?

There is something that I should do to work with this USB Hub on Linux?

Best Regards,
Carlos

  • Hello Carlos,

    The TUSB4041I is fully compliant with the USB2.0 specification; and as such, it enumerates as a USB Hub class device. Hence, when connected to the host, inbox drivers would automatically be loaded and the device should work without hassle or further user interaction. That applies for Windows, Linux and all other major operating systems.
    So you shouldn't need to be doing anything, besides plugging the device in, to make it work on Linux.

    I am wondering if this could be a problem with your host controller hardware or driver issues on your platform. Have you tried using any other USB hubs?

    Regards,
    Jorge
  • Hello Jorge,

    I've tested with a commercially available generic Hub a MITSAI that has inside a Terminus Tech FE2.1 Hub and it works perfectly, like my device in Windows... This is really frustrating because all the HW parts are verified when it is working under Windows. Is this assumption correct?

    The platform is an ODROID device, but it was tested also in a Laptop.

    I have some LOG 
    From Texas Hub :

    Bus 003 Device 022: ID 0903:9821
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.10
    bDeviceClass 9 Hub
    bDeviceSubClass 0 Unused
    bDeviceProtocol 0 Full speed (or root) hub
    bMaxPacketSize0 64
    idVendor 0x0903
    idProduct 0x9821
    bcdDevice 1.00
    iManufacturer 0
    iProduct 0
    iSerial 1 914C050EC026
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 25
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xe0
    Self Powered
    Remote Wakeup
    MaxPower 0mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 9 Hub
    bInterfaceSubClass 0 Unused
    bInterfaceProtocol 0 Full speed (or root) hub
    iInterface 0
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0001 1x 1 bytes
    bInterval 255
    Hub Descriptor:
    bLength 9
    bDescriptorType 41
    nNbrPorts 4
    wHubCharacteristic 0x000d
    Per-port power switching
    Compound device
    Per-port overcurrent protection
    bPwrOn2PwrGood 50 * 2 milli seconds
    bHubContrCurrent 0 milli Ampere
    DeviceRemovable 0x02
    PortPwrCtrlMask 0xff
    Hub Port Status:
    Port 1: 0000.0103 power enable connect
    Port 2: 0000.0301 lowspeed power connect
    Port 3: 0000.0100 power
    Port 4: 0000.0100 power
    Binary Object Store Descriptor:
    bLength 5
    bDescriptorType 15
    wTotalLength 42
    bNumDeviceCaps 3
    USB 2.0 Extension Device Capability:
    bLength 7
    bDescriptorType 16
    bDevCapabilityType 2
    bmAttributes 0x00000006
    Link Power Management (LPM) Supported
    SuperSpeed USB Device Capability:
    bLength 10
    bDescriptorType 16
    bDevCapabilityType 3
    bmAttributes 0x00
    wSpeedsSupported 0x000e
    Device can operate at Full Speed (12Mbps)
    Device can operate at High Speed (480Mbps)
    Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport 1
    Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat 10 micro seconds
    bU2DevExitLat 10 micro seconds
    Container ID Device Capability:
    bLength 20
    bDescriptorType 16
    bDevCapabilityType 4
    bReserved 0
    ContainerID {19c490c0-19c4-90c0-19c4-90c019c490c0}
    Device Status: 0x0001
    Self Powered

    MITSAI Terminus HUB: (in this test i plugged the Texas Hub into mitsai and the Texas hub appear as indicator where i think it should have high speed):

    Bus 003 Device 031: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 9 Hub
    bDeviceSubClass 0 Unused
    bDeviceProtocol 2 TT per port
    bMaxPacketSize0 64
    idVendor 0x1a40 Terminus Technology Inc.
    idProduct 0x0201 FE 2.1 7-port Hub
    bcdDevice 1.00
    iManufacturer 0
    iProduct 1 USB 2.0 Hub [MTT]
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 41
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xe0
    Self Powered
    Remote Wakeup
    MaxPower 100mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 1
    bInterfaceClass 9 Hub
    bInterfaceSubClass 0 Unused
    bInterfaceProtocol 1 Single TT
    iInterface 0
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0001 1x 1 bytes
    bInterval 12
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 1
    bNumEndpoints 1
    bInterfaceClass 9 Hub
    bInterfaceSubClass 0 Unused
    bInterfaceProtocol 2 TT per port
    iInterface 0
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0001 1x 1 bytes
    bInterval 12
    Hub Descriptor:
    bLength 9
    bDescriptorType 41
    nNbrPorts 7
    wHubCharacteristic 0x0088
    Ganged power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
    Port indicators
    bPwrOn2PwrGood 50 * 2 milli seconds
    bHubContrCurrent 100 milli Ampere
    DeviceRemovable 0x00
    PortPwrCtrlMask 0xff
    Hub Port Status:
    Port 1: 0000.0100 power
    Port 2: 0000.1103 indicator power enable connect
    Port 3: 0000.0503 highspeed power enable connect
    Port 4: 0000.0100 power
    Port 5: 0000.0100 power
    Port 6: 0000.0100 power
    Port 7: 0000.0100 power
    Device Qualifier (for other device speed):
    bLength 10
    bDescriptorType 6
    bcdUSB 2.00
    bDeviceClass 9 Hub
    bDeviceSubClass 0 Unused
    bDeviceProtocol 0 Full speed (or root) hub
    bMaxPacketSize0 64
    bNumConfigurations 1
    Device Status: 0x0001
    Self Powered


    Sorry for the long post

    Thanks for your help,

    Regards,
    Carlos

  • Carlos,

    From the log I can see the TUSB4041 is being enumerated as a full-speed hub. That shouldn't be happening unless connected through another full speed hub.

    Have you tried multiple units to discard this particular unit was damaged?
    Have you tried using an evaluation module from TI? Have you checked signal integrity on the upstream port?
    Would it be possible for you to provide your schematics so I can review?
    Can you use USBview to check the descriptors on Windows to make sure the device is being enumerated as a HS hub?

    Regards,
    Jorge