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.
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.
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?
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?
______________________________________________________________________
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
bDescriptorType: 0x24
bLength: 0x0D
0D 24 01 10 01 56 00 00 6C DC 02 01 01
bLength: 0x12
12 24 02 01 01 02 00 00 00 00 00 00 00 00 03 08
00 00
0D 24 05 02 01 00 40 03 01 02 00 00 00
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
bLength: 0x09
09 24 03 04 01 01 00 03 00
bInterfaceNumber: 0x01
bNumEndpoints: 0x01
bInterfaceSubClass: 0x02
bLength: 0x0F
0F 24 01 02 BF 03 81 00 04 00 00 00 01 00 00
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
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
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
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
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
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
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
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
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
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
00 6A 6E 19 00 06 40 1E 00 00 6A 6E 19 00 80 84
00 5B CC 15 00 07 A0 1C 00 00 5B CC 15 00 6A 6E
00 D0 12 13 00 08 00 1E 00 00 D0 12 13 00 5B CC
00 15 16 05 00 03 00 14 00 00 15 16 05 00 20 A1
00 15 16 05 00 06 00 0F 00 00 15 16 05 00 80 1A
00 40 0D 03 00 08 00 0A 00 00 40 0D 03 00 90 D0
00 0A 8B 02 00 09 00 0A 00 00 0A 8B 02 00 40 0D
00 07 B2 01 00 0C 00 05 00 00 07 B2 01 00 48 E8
bDescriptorType: 0x30
bLength: 0x06
06 30 0F 00 00 00