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.

TUSB2036: HUB IC unable to detect android devices, but detected windows and Linux

Part Number: TUSB2036
Other Parts Discussed in Thread: TPS2042, TPS2560, , TPS2071, TUSB320

Hi, 

   I have designed a 3 port Hub IC with self powered configuration using tps2042 and tps2560 load switches. My end application is to detect tablet as host and Microphone as slave and take audio input from microphone to my tablet. 

Initially I realised I have missed out a few pull up configuration on OVCUR pins and hence I completely removed load switch and shorted Vin and Vout with wires. Now I'm getting proper 5 Vout, and my windows/linux laptop is able to detect the hub and take data over microphone. But the same is not happening through Android for some reason. ( Direct connection of microphone to android works, but when hub is connected, it simply doesn't detect). 

Please let me know where the bug could be. 

  • Hi Aslesh:

       Windows/linux system has generic USB hub driver, Android system probably don't have hub driver.

      DId you try any other USB hub with  your Android system ?

    Regards

    Brian

  • Hi Brian, 

        Yes, I have tried with a different hub to my samsung tablet and it connected to my chroma microphone. It is detecting the device and I am able to record audio. When I try with tablet -> hub TUSB2036 -> chroma microphone, it fails to detect the hub and the downstream devices. I have removed and bypassed the power switches ( TPS2042 and TPS2560)  as well, but still could not get it to work. The same setup however works with linux / windows devices. My issue is only with android OS devices. 

  • Can you send schematic for review?

    Regards

    brian

  • Hi Brian, 

        Please find the schematic for review. Please note that the design is meant for self powered configuration without external memory, with current limit through external load switches and current limit set individually per port. Please review and let me know where the bug is. 

       

  • I didn't see any major issue for schematic.

    The tablet  can detect microphone, does not mean it can detect  USB2 hub , they use different USB driver.

    Do you have any USB2 hub to try with tablet? 

    Best

    Brian

  • Hi Brian, 

         By USB2 hub, do you mean any other generic hubs ? If yes, tablet does detect microphone through other generic hubs. I have tested with the hub specified in the link. 

    Link : https://www.croma.com/croma-6-in-1-usb-3-0-type-c-to-hdmi-usb-type-a-3-0-usb-type-c-tf-card-sd-card-slot-multi-utility-hub-supports-fast-charging-grey-/p/306964?utm_source=google&utm_medium=ps&utm_campaign=Sok_Standard_Shopping_CatchAll&gad_source=1&gad_campaignid=22425211110&gbraid=0AAAAADv7K36WNHVTTHx0FX-qrTDrSAIY7&gclid=Cj0KCQjwp7jOBhDGARIsABe7C4dtXCfO254C42Cv351hrg_kLHDWvqB2KKRRP_l2uYN2QvH55BfstRIaAp4gEALw_wcB

    Also, requesting you to re-check the design once as I found a few bugs myself while troubleshooting. Adding my observations so far: 

    1. Initially, the hub did not function with windows/linux as well.

    2. The load switches were not getting enabled to give 5V output. Only EN2 was getting enabled ( I am guessing this could be due to some leakage ).

    3. The load switches were not turning ON/OFF until I provide a strong pull-up/pull-down configuration on the ENABLE pins ( 10K ) . Although the datasheet does not specify the need for any. ( May be load switches TPS2560 and TPS2042 need pull up / pull down ? ) 

    4. Along with this, I found that I missed the pull-up resistor at OVRCUR3 pin. After, I have added 100 K externally to this pin. 

    5. It is after this, the Hub Ic got detected in Linux / Windows. Although, I frequently got a "device malfunctioned " error. " Power surge on USB port " 

    6. I had removed the Load switches and shorted Vin to Vout. After this, I am still getting the malfunctioned error, but my windows/linux systems were able to detect the usb hub and the microphone connected downstream. The error exists, but the hub functionality is also working as expected. ( I am unsure if there are any other hidden consequences on doing this frequently. FYI, there is only a microphone and tablet connected to the hub while I was doing this test. The load could be around 1Amps.) 

    7. And, it is not getting detected at all on the Android devices. 

    As I mentioned earlier, tablet detects the usb hub and downstream microphone on other generic hubs. Please let me know if this gives any clue. 

  • The load switches were not turning ON/OFF until I provide a strong pull-up/pull-down configuration on the ENABLE pins ( 10K ) . Although the datasheet does not specify the need for any. ( May be load switches TPS2560 and TPS2042 need pull up / pull down ? ) 

    PWRON1 is active low to enable power switch, did you see any overcurrent issue?

    Along with this, I found that I missed the pull-up resistor at OVRCUR3 pin. After, I have added 100 K externally to this pin. 

    OVERCURR pin should have internal pullup.

    As I mentioned earlier, tablet detects the usb hub and downstream microphone on other generic hubs

    what speed for microphone and generic hub iused for testing on Android ? can you test mouse or keyboard on Android  system?

    Best

    Brian

  • Hi Brian, 

    1. I could not measure the current. Will try to measure the same. I believe the load is hardly 1 Amps ( Tablet and Microphone ). I haven't added any bulk capacitors at the output in my design ( Could this effect the power delivery functionality of the Hub ? ) 

    2. I will try to check the speed for the microphone and generic hub on Android. FYI, I had tested the generic hub with pen drive on android and found that it gets detected. Will check with Keyboard or mouse. 

    Can you suggest any EVAL KIT for the TUSB2036 or any equivalent ? I would like to purchase the same and give it a try. 

    Regards,

  • I didn't see TUBS236EVM on TI.com, but you can order this one which has TUSB2046 on it.

    https://www.ti.com/tool/TPS2071EVM-159 

    Regards

    Brian

  • Hi Brian, 

         As per your previous queries, I was able to measure the current through usb tester. 

    1. Tablet = 486 mA ( seems to be varying based on battery charging profile ) 

    2. Microphone = 120 mA ( constant load ) 

    I did not see any surge or major fluctuations in both the devices. Having said that, the windows/linux is reporting the power surge error even on no load, without connecting any devices. Are there any more tests that you can suggest to try out ? ( Will get back on the USB speed checks soon ) 

  • current seems fine.

    reset schematic should be like this

    also downstream port Vbus should has >100uf capacitor, also waiting for USB speed test.

    Best

    Brian

  • Hi Brian, 

        Apologies for the delayed response. The Microphone speed is 12 Mbps as per my tests. 

    Also, I have purchased TPS2071 EVM module. The issue remains the same. I am attaching a screenshot of the error I am getting in windows. As I mentioned earlier, The hub detects and works on linux seamlessly but throws this error in windows. 

      

  • Did you use self powered mode for EVM? if not, please follow self powered procedure for following link.

    https://www.ti.com/lit/ug/slvu037/slvu037.pdf?ts=1778084578782&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FTPS2071EVM-159

    Regards

    Brian

  • Brian, 

          As per your suggestion, I have changed the EVM to self powered mode and the downstream microphone got enumerated. But it is not charging. I would like to have both charging and audio data transfer functionality on my android tab. Is it something related to Battery charging protocols ? or is it the hub that is not allowing to charge ? Please let me know if there is a way to simultaneously charge and record audio. 

    I have tested my tablet with other generic hubs and it works, So I am confident it is not the tab's limitation.  

  • Hi Aslesh:

     What kind of charging you need? hub charging microphone? 

    Regards

    Brian

  • Hi Brian, 

        Sorry if my previous statement is misleading. Here is what I am trying to achieve : 

    1. Power supply : USB charger connected to my PCB Type C connector. Power negotiation through USB-PD device ( AP33771C) - This section is tested.  

    2. From the USB-PD, I am taking output 5V, 3A to my board. ( Powering 3.3 V LDO, TUSB2036 and Load switches TPS2042 etc ) - This section is tested. 

    3. Through Load switches, I am controlling power output to down stream devices - BLE Speaker, Microphone and Rasberry PI - This section is also tested. 

    In the upstream, I have my android tablet which should transfer data between microphone, BLE and RPI - device. I would like to have OTG + charge function in the upstream android section - This section failed

             a. When I connect 5Vbus to the Android USB-A, it immediately switches to charging mode, and does not enumerate hub / downstream ports in any system. ( self powered mode )  

             b. When I remove 5Vbus, It works in Windows/Linux but fails to enumerate in android OS. ( self powered mode ). In windows it showed a power surge warning as I mentioned, but it enumerates hub and transfers data. While, in Linux it works seamlessly without any warnings. 

    4. But, As per the tests in EVAL KIT TPS2071, It works completely in "host only" mode with self powered mode. The Android does not charge, but enumerates the hub and downstream devices in windows/linux/android seamlessly. 

    With TUSB2036, is it possible to operate upstream android in both OTG+charge mode ? If not, what is needed additionally to operate in charge and OTG mode simultaneously. Please let me know. 

    Regards,

     

     

  • TUSB2036 or TUSB2046 does not support OTG, it's upstream port should be UFP  and downstream port should be DFP.

    With PD controller, you can configure hub upstream port as UFP and source 5V to tablet.

    regards

    Brian

  • Brian, 

            Alright, I understood what is missing. Can you please suggest a compatible PD controller for my application ? 

    1. PD controller which is capable of fast charging in the android. ( While the android may not allow, I would like to keep this as a feature in my arsenal ) 

    2. PD controller which is capable of normal charging. ( I believe this should be possible with some IC's like TUSB320 ?? please correct if I am wrong ) 

  • Hi Aslesh:

        TUSB320 is CC controller, it does not support dual role like PD controller.

        Please submit another ticket just to ask help for PD controller. PD controller is from other product line in TI.

    Best

    brian