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.

Problems with TUSB8040A1EVM and a USB3 machine vision camera

Other Parts Discussed in Thread: TUSB8040A1, TUSB8020B, TUSB8040

Hello. I am evaluating the TUSB8040A1EVM USB3 hub for a machine vision camera with USB3 interface. This camera works fine when connected directly to the PC. When connected via the HUB it is marked with an exclamation point in the Device Manager and under status it says: "The device cannot start (Code 10). The specified I/O operation was not completed before the time-out period expired".

Do you have any idea what causes this error? 

I have tried two other consumer USB3 hubs (which both seem to contain an VL811-Q8P chip from VLI) The camera worked when connected to the PC via both of these HUBs.

It says in the manual of the EVM that LED D1 to D4 should turn on if the EVM is attached to a USB 3.0 host. However, the LEDs D1 through D4 never turn on. I have tried to connect it to multiple PCs - same behavior. Are these LEDs supposed to work as described in the manual? 

I also tried to connect different sort of equipment to the USB3 hub

- USB 2 devices: mouse, keyboard etc - these seem to work fine via the HUB
- USB 3 hard drive w/ external power supply - worked fine
- USB 3 hard drive without external power supply - did NOT work
- USB 3 camera - did NOT work

Could it be that the USB 3 HUB fails to deliver enough current for the camera? By the way, I used a 5V, 4A power supply with positive polarity for powering the HUB (is this correct? The manual does not state clearly which polarity is expected)

How should I proceed to debug my problem? Do you think anything could be done to make the camera work with this HUB or should I look for another?

  • Moving to the correct forum.
  • Hello,

    Can you take a picture of the EVM? I want to see the setting of the DIP switches.
    Is the camera self-powered?
    Can you confirm that the USB3.0 HDD is actually connected at SuperSpeed?
    Can you use the USBview and send a screen capture of the hub when the camera is connected? You can download the usbview from the web for free.
    Can you update the windows driver for the USB hub?
    Can you tell me the model of this camera?

    Regards
  • Elias Villegas said:
    Hello,

    1. Can you take a picture of the EVM? I want to see the setting of the DIP switches.
    2. Is the camera self-powered?
    3. Can you confirm that the USB3.0 HDD is actually connected at SuperSpeed?
    4. Can you use the USBview and send a screen capture of the hub when the camera is connected? You can download the usbview from the web for free.
    5. Can you update the windows driver for the USB hub?
    6. Can you tell me the model of this camera?

    Regards

    1: See below for a picture of the EVM. In this case, all dip switches were set to off. I also tried to enable switches SW1_1 (FULLPWRMGMTZ_SMBA1_SS) and SW1_4 (GANGED_SMBA2_HS), but I experienced no change in behaviour.

    2: The camera is powered via USB3. We did however also test another USB3 camera which worked fine (also powered via USB3). We also tried 2 different USB3 HDD's, one with external power (worked fine) and another without external power which did not work. Both the harddrives and both cameras worked perfectly fine on two cheap consumer USB3 hubs (randomly bought at an online computer store).

    3: I can confirm that the USB 3.0 HDD was connected at SuperSpeed.

    4: Below is a screen capture from USBView when the camera is connected:

    5: I am unsure about how to update the driver for the HUB. Do you have a link to where I can obtain the latest driver?

    6: Unfortunately I cannot reveal the name of this camera in this open forum (but I can reveal it if you send me a private message)

    Thanks for the help!

  • Hi,

    It looks like that is a TUSB8020B EVM, not a TUSB8040A1 EVM, so LEDs1-4 are not expected to always be lit during normal operation.

    It is hard to tell from the photo, but can you confirm if all LEDs have equal brightness? One seems dim. If so, this could mean that it has low VBUS possibly due to an EVM assembly error.

    Was that usbview screenshot from a passing or failing case? It looks like the camera connects properly but does not report the proper descriptors. If this is a failing case, I would like to see a usbview screenshot of the camera connected directly to the host controller.

    In device manager, can you check the USB 3.0 driver version? An example is shown below. It looks like your system has an Intel driver, you should be able to update the driver by using Windows Update.

    Thanks,
    JMMN
  • The LEDs have fairly equal brightness. If anything, LED D8 might be a little more dim. Do you think this could indicate a faulty product?

    My colleague who tested it last time is on vacation now. I have therefore tested it on my PC, and I include both the failing case (camera connected via HUB) and the working case (camera connected directly to the PC).

    Working case (Note that I have greyed out the vendor, manufacturer and model - these were correctly reported)

    Failing case (via HUB)

    On my PC, it seems that the camera is not detected on the port.

    I tried to look for updated drivers, but I could not find Intel drivers for USB 3.0 for Windows 8 (only for Windows 7). I tested it on another PC with a Renesas USB 3 controller (with the latest driver) and I observed the same behaviour.

    Best regards,
    Ø.S.

  • Hi,

    The device is loading behind the hub.  I can see the USB Composite Device entry, but it may not be accessible .  Can you provide the driver revision number for both the Renesas and Intel hosts?


    Thanks,

    JMMN

  • Renesas driver - Desktop (Windows 7)

    Renesas Electronics Corporation
    File version: 3.0.23.0 (rusb3drv.08112-1258)
    Renesas Electronics Corporation
    File version: 3.0.23.0 (rusb3drv.08112-1258) 

    Asus Laptop (Windows 8)

    Intel ® 8 Series/C220 Series USB EHCI #1 - 8C26
    Driver Provider: Intel
    Driver Date: 2/25/2013
    Driver Version: 9.4.0.1017

    See also the following files with output from USBTreeView:

    ASUS Laptop (Win8) Direct - Working
    ASUS Laptop (Win8) via HUB - Failing
    Desktop (Win8) Direct - Working
    Desktop (Win8) via HUB - Failinga/a>

  • Desktop PC (Win7) - Renesas driver
    Renesas Electronics Corporation
    File version: 3.0.23.0 (rusb3drv.08112-1258)
    Renesas Electronics Corporation
    File version: 3.0.23.0 (rusb3drv.08112-1258) 

    Asus Laptop (Win8) - Intel driver
    Intel ® 8 Series/C220 Series USB EHCI #1 - 8C26
    Driver Provider: Intel
    Driver Data: 2/25/2013
    Driver Version: 9.4.0.1017

  • TUSB8020B_EEPROM_Default_U1U2off.txt
    'TUSB8020B EEPROM Data File
    'Use for pre-production level or later TUSB8020B silicon
    'August 7, 2015
    00	55	01010101	'ROM Signature - Do NOT modify!
    01	51	01010001	'Vendor ID LSB - Can be modified
    02	04	00000100	'Vendor ID MSB - Can be modified
    03	25	00100101	'Product ID LSB - Can be modified
    04	80	10000000	'Product ID MSB - Can be modified
    05	30	00110000	'Device Configuration - Can be modified
    06	00	00000000	'Battery Charging (1 = enabled) - Can be modified
    07	03	00000011	'Device Removable- Can be modified - Devices on both ports 1 and 2 are removable
    08	03	00000011	'Port Used- Can be modified - Both ports 1 and 2 are enabled
    09	00	00000000	'RSVD
    0A	22	00100010	'Device Configuration Register 2 - Can be modified
    20	09	00001001	'Language ID - Can be modified
    21	04	00000100	'Language ID -  Can be modified - 0x0409 = English United States
    22	00	00000000	'Serial Number String Length -  Can be modified 
    23	00	00000000	'Manufacturer String Length - Can be modified 
    24	00	00000000	'Product String Length - Can be modified 
    2F	00	00000000	'RSVD - NEW
    F0	00	00000000	'Additional Feature Configuration Register 
    F1	00	00000000	'Added to disable a test function
    F2	00	00000000	'Charging Port Control Register - Power on delay = 200ms
    F8	00	00000000	'Device Status and Command Register
    
    'DATA FILE FORMAT: <HEX ADDRESS><TAB><HEX DATA>. EVERYTHING AFTER <DATA> IS IGNORED.
    'USE <'> FOR IN-LINE COMMENTING.
    'DATA FILE PARSING STOPS AT FIRST BLANK LINE.
    
    Hi Oystein,

    Thanks for the information.  I think the problem is related to the support of USB 3.0 intermediate power states.   If you look at the power state entry that is reported in the files you provided, when the camera is connected behind the hub it reports that it supports D2, and wake from D2, but when the camera is connected directly to the host it does not include D2 in its supported power states.  Since it appears that the host is able to read some descriptors from the camera, but not all of them, the link may be dropping into a lower power state and not waking up.

    You can download the USB LPM tool from Microsoft to see the power states on the USB bus and check if the camera is "stuck" in U2.  Or you can disable U1/U2 power states on the EVM using the EEPROM.  I've attached the EEPROM file here.  Set jumpers 5 and 6 on the EVM to access the EEPROM.

    Regards,

    JMMN

  • Elias,

    Can you provide the EEPROM programming tool?

    Thanks!
    JMMN
  • Hello O.S.,
    Please send me an email to elias.villegas@ti.com so I can email you the EEPROM utility.
    Regards
  • Hi. I have tried to write a new EEPROM, but I am unsure if it succeeds.

    The TUSB8040 EEPROM Programmer tool reports that the device is attached, but the data at all addresses seem to be set to 0xFF. When I try to write the new EEPROM, the read-back verification fails.

    I have set jumpers 5 and 6. If I disable these jumpers, all data at all addresses is reported as 0x00.

    Note that I have a TUSB8020BPHP_REVA card, not TUSB 8040.

    The camera behaves in exactly the same way after attempting to write the new EEPROM (which probably was never written). Tried on two different PCs - same behaviour.

    -ØS

  • Did you use the Load button to write the new EEPROM file? Once you do that, you should see the EEPROM values change. I sent an EEPROM file written for the TUSB8020B, so that should not be an issue.
  • Yes, I used the Load button. After I load the EEPROM file, all the values are still 0xFF. If I enable verify, the read-back verification fails after loading the EEPROM file.

  • Hello,
    Can you send a screen capture of the Device manager showing the TUSB8040A1?
    Are the pull-ups enabled on SDA/SCL ?
    Regards
  • Ok, I'm sending you a direct email with additional questions.
  • Here is a screenshot of the device manager:

    Here is a photo of the board, where you can see that the pull-up are enabled on SDA/SCL (switches 5 and 6):

    I also sent an e-mail to Julie Nirchi with additional answers.

    Best regards

    ØS

  • Just to make sure the GUI is working well, can you update the driver and choose "Let me select a driver" from the device manager pop-up menu.
    The .inf file should be installed in Program Files/Texas Instruments Inc/TUSB80XX EEPROM Porgrammer

    Regards
  • Yes. I got the message that this was the driver that was already installed.

    ØS