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 HUB chip stops streaming

Intellectual 750 points

Replies: 6

Views: 1821

I designed a USB HUB board with TUSB8041-Q1, 3 down-stream USB 3.0 ports and 1 down-stream USB 2.0 port. I connected two high resolution USB 3.0 cameras from the following link, with the HUB board connected to PC.

www.theimagingsource.com/.../

The camera manufacture provides a PC GUI "IC Capture" so that I can see if the cameras are streaming frames to PC. The cameras work for about 1~3 mins, then I get frozen frames.

I tested with another HUB (VL812 chip), same connection to PC, no problem.

What could be the issue? I did design my hub board with attentions to matching differential length, impedance, etc following the "TIDA-00288 4-Port USB 3.0 Hub Reference Design.pdf".

Thank you.

6 Replies

  • Hello,
    Can you provide your schematics?
    Do you have USB protocol traces?
    Somethings to check are: external oscillator, power rails, OVRCUR# inputs, GRSTz input, SUSPEND output.
    Can you tell for sure that the cameras are being enumerated in SuperSpeed mode?

    Regards
  • In reply to Elias Villegas M.:

    Hi Elias, please check the attached schematics and more description:

    My hub board has 3 down-stream ports and 1 up-stream port, but only one down-stream port is shown here.

    Here are more tests:

    1. I tested my hub board with 2 these cameras ( www.theimagingsource.com/.../) from same manufacturer. These 2 cameras worked find when plugged in, I can get videos on PC. But one camera got frozen after several minutes, while the other camera worked fine. I checked the Device Manager on WIN10, it says these devices are working properly.

    2. I tested my hub board with 2 more color USB 3.0 cameras (www.theimagingsource.com/.../), no problem after continuously streaming videos to PC for 72 hours.

    3. I tested these 2 cameras in step 1 with 2 different HUBs (one is VL812, another HUB has a unbranded chip), got continuously streaming videos and no problem found.

    My question is: why I got this problem only with TI HUB chip, while other HUB chips have no problem with these cameras? Even with TI chip, one camera works fine while the other one has problem.

    I assume all USB hub chips work in a same way to pack data from down-stream devices, is TI HUB chip packing the USB data in a different way and causes conflicts with the camera's driver on WIN10?

    Are there any other possible reasons?

    Thank you,

    Shiwei

  • In reply to shiwei luan:

    Hello Shiwei,


    Elias may have other suggestions, but can you try to download usblpm.exe tool from Microsoft?  It is possible that one of the cameras is dropping into a low power state and not exiting properly.  That tool will report the power states of the all the USB devices and hubs.  If this is the issue, it is possible to disable the interim power states on the TUSB8041.

    Regards,

    JMMN

  • In reply to JMMN:

    Hi JMMN,

    Thank you for your response.

    The usblpm.exe is only for Win8 so I can't test it on my Win7 at this moment. But could you explain more about the interim power states of TUSB8041-Q1? I read through the datasheet, but didn't find more info about this topic.

    Did the camera exit because it couldn't get enough power from TUSB8041-Q1?


    Thank you,

    Shiwei

  • In reply to shiwei luan:

    Hi Shiwei,

    The power states (U1/U2) are defined in the USB 3 specification so they are not covered in the TUSB8041 datasheet. Some USB devices do not have the power states implemented correctly and may enter a power state and have trouble negotiating the correct exit handshake. I was just wondering if one of the cameras was stuck in a lower power state and not able to exit. This problem would not be caused by the actual current budget for the system.

    You can try loading the usbview.exe tool (it works on Windows 7) to see if it gives you any additional information about the state of the inaccessible camera. Do you have an EEPROM attached to the TUSB8041?

    Regards,
    JMMN
  • In reply to JMMN:

    Hi JMMN,

    I don't have any EEPROM attached to TUSB8041 as you can see in the schematics.

    I have 2 cameras attached, and get the following information from one camera by USB View. The only difference between these 2 cameras are the iSerialNumber (47510929 and 47510935) and Device Address (0x1E and 0x18).

    The confusing problem is that: these cameras work well with a hub designed wit VL812 chip, but only the camera (47510929) can work with my TI HUB.

    Are hub chips from different manufacturers work in a same way to gather and package data from downstream ports and send data to upstream port, since they usually use same USB driver?

    Any other suggestions?


    Thank you,

    Shiwei

    ______________________________________________________________________

    Device Descriptor:

    bcdUSB:             0x0300

    bDeviceClass:         0xEF

    bDeviceSubClass:      0x02

    bDeviceProtocol:      0x01

    bMaxPacketSize0:      0x09 (9)

    idVendor:           0x199E

    idProduct:          0x8709

    bcdDevice:          0x0000

    iManufacturer:        0x01

    0x0409: "Micro-Vu"

    iProduct:             0x02

    0x0409: "7049151"

    iSerialNumber:        0x03

    0x0409: "47510929"

    bNumConfigurations:   0x01

    ConnectionStatus: DeviceConnected

    Current Config Value: 0x01

    Device Bus Speed:     Unknown

    Device Address:       0x1C

    Open Pipes:              1

    Endpoint Descriptor:

    bEndpointAddress:     0x81  IN

    Transfer Type:        Bulk

    wMaxPacketSize:     0x0400 (1024)

    bInterval:            0x00

    Configuration Descriptor:

    wTotalLength:       0x0445

    bNumInterfaces:       0x02

    bConfigurationValue:  0x01

    iConfiguration:       0x00

    bmAttributes:         0x80 (Bus Powered )

    MaxPower:             0x32 (100 Ma)

    Unknown Descriptor:

    bDescriptorType:      0x0B

    bLength:              0x08

    08 0B 00 02 0E 03 00 00

    Interface Descriptor:

    bInterfaceNumber:     0x00

    bAlternateSetting:    0x00

    bNumEndpoints:        0x00

    bInterfaceClass:      0x0E

    bInterfaceSubClass:   0x01

    bInterfaceProtocol:   0x00

    iInterface:           0x00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x0D

    0D 24 01 10 01 56 00 00 6C DC 02 01 01

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x12

    12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 08

    00 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x0D

    0D 24 05 02 01 00 40 03 01 02 00 00 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x21

    21 24 06 03 0A BA 49 DE 5C 0B 49 D5 8F 71 0B E4

    0F 94 A6 7A 02 01 02 08 E0 80 FF 15 00 08 00 00

    00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x09

    09 24 03 04 01 01 00 03 00

    Interface Descriptor:

    bInterfaceNumber:     0x01

    bAlternateSetting:    0x00

    bNumEndpoints:        0x01

    bInterfaceClass:      0x0E

    bInterfaceSubClass:   0x02

    bInterfaceProtocol:   0x00

    iInterface:           0x00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x0F

    0F 24 01 02 BF 03 81 00 04 00 00 00 01 00 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x1C

    1C 24 10 01 08 59 38 30 30 00 00 10 00 80 00 00

    AA 00 38 9B 71 08 01 01 01 00 00 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x32

    32 24 11 01 00 20 0F CC 0A 40 19 01 00 40 19 01

    00 6A 6E 19 00 06 20 0F 00 00 6A 6E 19 00 80 84

    1E 00 A0 25 26 00 D5 DC 32 00 40 4B 4C 00 80 96

    98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x36

    36 24 11 02 00 50 0E BC 0A 40 19 01 00 40 19 01

    00 5B CC 15 00 07 50 0E 00 00 5B CC 15 00 6A 6E

    19 00 80 84 1E 00 A0 25 26 00 D5 DC 32 00 40 4B

    4C 00 80 96 98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3A

    3A 24 11 03 00 00 0F 70 08 40 19 01 00 40 19 01

    00 D0 12 13 00 08 00 0F 00 00 D0 12 13 00 5B CC

    15 00 6A 6E 19 00 80 84 1E 00 A0 25 26 00 D5 DC

    32 00 40 4B 4C 00 80 96 98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x26

    26 24 11 04 00 00 0A A0 05 40 19 01 00 40 19 01

    00 15 16 05 00 03 00 0A 00 00 15 16 05 00 20 A1

    07 00 40 42 0F 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x32

    32 24 11 05 00 80 07 38 04 40 19 01 00 40 19 01

    00 15 16 05 00 06 80 07 00 00 15 16 05 00 80 1A

    06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84

    1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3A

    3A 24 11 06 00 00 05 C0 03 40 19 01 00 40 19 01

    00 40 0D 03 00 08 00 05 00 00 40 0D 03 00 90 D0

    03 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C

    0A 00 40 42 0F 00 80 84 1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3E

    3E 24 11 07 00 00 05 D0 02 40 19 01 00 40 19 01

    00 0A 8B 02 00 09 00 05 00 00 0A 8B 02 00 40 0D

    03 00 90 D0 03 00 15 16 05 00 80 1A 06 00 20 A1

    07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x4A

    4A 24 11 08 00 80 02 E0 01 40 19 01 00 40 19 01

    00 07 B2 01 00 0C 80 02 00 00 07 B2 01 00 48 E8

    01 00 09 2E 02 00 0A 8B 02 00 40 0D 03 00 90 D0

    03 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C

    0A 00 40 42 0F 00 80 84 1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x1C

    1C 24 10 02 08 59 31 36 20 00 00 10 00 80 00 00

    AA 00 38 9B 71 10 01 01 01 00 00 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x32

    32 24 11 01 00 20 0F CC 0A 40 19 01 00 40 19 01

    00 6A 6E 19 00 06 40 1E 00 00 6A 6E 19 00 80 84

    1E 00 A0 25 26 00 D5 DC 32 00 40 4B 4C 00 80 96

    98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x36

    36 24 11 02 00 50 0E BC 0A 40 19 01 00 40 19 01

    00 5B CC 15 00 07 A0 1C 00 00 5B CC 15 00 6A 6E

    19 00 80 84 1E 00 A0 25 26 00 D5 DC 32 00 40 4B

    4C 00 80 96 98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3A

    3A 24 11 03 00 00 0F 70 08 40 19 01 00 40 19 01

    00 D0 12 13 00 08 00 1E 00 00 D0 12 13 00 5B CC

    15 00 6A 6E 19 00 80 84 1E 00 A0 25 26 00 D5 DC

    32 00 40 4B 4C 00 80 96 98 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x26

    26 24 11 04 00 00 0A A0 05 40 19 01 00 40 19 01

    00 15 16 05 00 03 00 14 00 00 15 16 05 00 20 A1

    07 00 40 42 0F 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x32

    32 24 11 05 00 80 07 38 04 40 19 01 00 40 19 01

    00 15 16 05 00 06 00 0F 00 00 15 16 05 00 80 1A

    06 00 20 A1 07 00 2A 2C 0A 00 40 42 0F 00 80 84

    1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3A

    3A 24 11 06 00 00 05 C0 03 40 19 01 00 40 19 01

    00 40 0D 03 00 08 00 0A 00 00 40 0D 03 00 90 D0

    03 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C

    0A 00 40 42 0F 00 80 84 1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x3E

    3E 24 11 07 00 00 05 D0 02 40 19 01 00 40 19 01

    00 0A 8B 02 00 09 00 0A 00 00 0A 8B 02 00 40 0D

    03 00 90 D0 03 00 15 16 05 00 80 1A 06 00 20 A1

    07 00 2A 2C 0A 00 40 42 0F 00 80 84 1E 00

    Unknown Descriptor:

    bDescriptorType:      0x24

    bLength:              0x4A

    4A 24 11 08 00 80 02 E0 01 40 19 01 00 40 19 01

    00 07 B2 01 00 0C 00 05 00 00 07 B2 01 00 48 E8

    01 00 09 2E 02 00 0A 8B 02 00 40 0D 03 00 90 D0

    03 00 15 16 05 00 80 1A 06 00 20 A1 07 00 2A 2C

    0A 00 40 42 0F 00 80 84 1E 00

    Endpoint Descriptor:

    bEndpointAddress:     0x81  IN

    Transfer Type:        Bulk

    wMaxPacketSize:     0x0400 (1024)

    bInterval:            0x00

    Unknown Descriptor:

    bDescriptorType:      0x30

    bLength:              0x06

    06 30 0F 00 00 00

    ______________________________________________________________________

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.