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.

TUSB4041I: Downstream port disable/enable

Part Number: TUSB4041I

Hi

In our project we use this TUSB4041I to connect, among others, an USB touchscreen controller to a downstream port on the hub. Our intention is to be able to disable/enable the touchscreen by modifying the register Port UsedConfiguration Register (byte address 08h) via SMBUS.

We succeed to alter the corresponding bit for the port in bitfield used[3:0]. When we disable the corresponding downstream port we see that touch controller disappears from the device manager in the operating system. However when we want to re-enable the corresponding downstream port the touch controller does not reappear. The operating system we tested on was Ubuntu 18 and Windows 10.

We tried disable/enable on other downstream ports also and connected devices disconnects on USB but when enabling the downstream port those devices also do not reappear on USB.

The register dump on TUSB4041I is following: (byte address: register content)
0x0: 0x00                                                          
0x1: 0x51                                                          
0x2: 0x04                                                           
0x3: 0x40                                                          
0x4: 0x81                                                          
0x5: 0x10                                                          
0x6: 0x00                                                           
0x7: 0x0f                                                           
0x8: 0x0f                                                           
0x9: 0x0                                                           
0xa: 0x32                                                          
0xb: 0x00                                                           
0xf0: 0x00                                                          
0xf8: 0x00

Our question is: Can Port UsedConfiguration Register (byte address 08h) bitfield used[3:0] be used to disable a USB device on a downstream port and then re-enable it again without a physical removal of the USB device?

  • Hello Imre,

    The TUSB4041 hubs are not designed to support real time disabling / enabling of ports via SMBUSz.  Please note that after the configuration of the hub has changed a USB reset or USB disconnect / reconnect would need to occur for the hub to report those changes to the host controller so that the host re-enables the port logically.

    Regards,

    JMMN