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: Windows Software to Configure USB Hub

Part Number: TUSB8041

How do I get a hold of the Windows software to configure the TUSB8041 USB hub?

  • Hello Sarah!

    Just looking to clarify, do you mean the software to configure an EEPROM with the TUSB8041? If so, here is the zip file with the programmer and the user guide!

    If you mean to write to the registers via SMBUS mode, you must write to it with an SMBUS capable host controller. For more information on the configurable modes, please see section 8.4 in the datasheet.

    Please let me know if this answers your question.

    0636.Texas Instruments TUSB8040 EEPROM Programming Utility (Version 1.0).pdf
    7230.TUSB80xx_EEPROM_Programmer_V1.0.0.1.zip

    Best,
    Gerasimos

  • Hi Gerasimos, our board uses the TUSB8041, which provides our card with both a standard USB and high speed USB connection. The name, for instance, shows up as:

    "Generic SuperSpeed USB Hub" and "Generic USB Hub"

    We would like to rename this nomenclature to something of our own choosing, so for instance:

    "Smurfs Rock SuperSpeed USB Hub"

    "Smurfs Rock USB Hub"

    I was told by our electrical engineer that there is a Windows tool, which allows us to set the name. Which of the above would do that or something else? Thanks in advance,

  • Hello Sarah,

    I do not believe there is a Windows tool that allows the configuration of the device description. This is done through changing the device configuration register to allow custom strings, then editing the registers that hold those strings. More information on this can be found in section 8.5 in the datasheet. If you want these changes to stay after rebooting the device, you need to program an I2C EEPROM to hold those values and rewrite them on boot.

    Best,
    Gerasimos
  • How do we edit the registers for testing?

    What tools exist to accomplish this task through the USB?
  • Hey Sarah,

    The best tool to do this would be the TUSB80XX EEPROM programming tool that I linked in my first response. This tool is a gui that allows you to write over USB to an attached EEPROM so that on boot, the TUSB8041 will configure itself using the data in the I2C EEPROM's registers. In the EEPROM you can store all the necessary register configurations for the TUSB8041 to have custom string descriptions.

    Complete instructions are provided in the user guide linked in the first post and in the datasheet of the TUSB8041 (Primarily sections 8.4 and 8.5).

    Best,
    Gerasimos
  • According to TUSB8041.pdf, I see

    24h Product String Length Yes, if customStrings is set
    90h-CFh Product String Byte [63:0] Yes, if customStrings is set

    1. I do not obviously see the register address of "customStrings" and the appropriate value.

    2. There are two "Product Strings", but one location to change that string. There is USB 3.0 product string (Generic SuperSpeed USB Hub) and the USB 2.0 product string (Generic USB Hub). Does one product string override both? Is "Product String" not either of those, one of those, both of those?

    3. Any harm in changing the VendorID (Vendor ID LSB: 0x01, Vendor ID MSB: 0x0x02)?

    Sadly, on Windows there is no common hub. On my computer the 2.0 hub shows on Port9 of the Root Hub, while the 3.0 hub shows on Port16 of the root hub.

    NOTES (to all who may be interested):

    Generic SuperSpeed USB Hub
    USB\VID_0451&PID_8140
    USB 3.0
    Translates to:
    VID: 0451 is "Texas Instruments, Inc."
    PID: 8140 is "TUSB8041 4-Port Hub"

    Generic USB Hub
    USB\VID_0451&PID_8142
    USB 2.0
    Translates to:
    VID: 0451 is "Texas Instruments, Inc."
    PID: 8142 is "TUSB8041 4-Port Hub"

    The question remains how to program the text, though things are a bit clearer now.

    I need someone to verify the above and answer my questions above. I think that I am on the right direction. The other big question is still how to force my unit into programming mode.
  • As far as the "secret" how to force the programmer into programming mode:

    1. You have to have Device Manager in "View > Devices by Connection" (not the default).
    2. The SECRET document shows a different product name and hardware ID. Mine was "Generic USB Hub" and the ID mentioned above.

    Temporarily updating the driver to the TI driver did not work. I presume that is because I have to have "Pullups must be installed on SDA and SCL to program an EEPROM". I probably do not have that by default on my production card. I will have to ask someone about how to do that, if it is possible.

    I still have my previous questions, but I am getting closer. I am inching away at the goal. Yippee!
  • okay, reading forward answers one of my questions:

    8.5.7 Device Configuration Register (page 19)
    Table 14. Register Offset 5h

    7 customStrings RW

    Custom strings enable. This bit controls the ability to write to the Manufacturer String Length, Manufacturer String, Product String Length, Product String, and Language ID registers

    0 = The Manufacturer String Length, Manufacturer String, Product String Length, Product String, and Language ID registers are read only

    1 = The Manufacturer String Length, Manufacturer String, Product String Length, Product String, and Language ID registers may be loaded by EEPROM or written by SMBus

    The default value of this bit is 0.