USB OTG Expansion


I am looking to expand the OTG port using a hub into three downstream ports and would also like to retain the OTG port for ADB debugging and all three downstream ports and OTG port to work simultaneously. Is there a way to get this done? I would like to connect the host port to usb enabled devices/sensors and use OTG to debug that data communication as well.

Raj Nikumbh

I don’t think this is possible.

There is already a three port hub built into the DB410C, and in the same way you cannot use the internal hub simultaneously with OTG then you will not be able to use an external hub either.

It is possible to hack the OTG cable to allow it to remain plugged in at the same time as USB peripherals but this still doesn’t allow simultaneous use. Double check the schematic but IIRC if you use a relay or a switched hub to interrupt the 5V signal to DB410C then it will switch over to the USB peripherals when OTG is not active.

Your best option will be to use adb over IP. You may first need to enable adb over network via system property (instructions on this are easily found with google), then you simply “adb connect ip_address”, and run your adb commands as if you were connected with USB.

Thanks, this is one of the option that we were looking at as well.

Thanks. I agree simultaneous use will not be possible.

Hi @raj

In general USB is a simple point to point connection, where one end of the connection is the master, and the other end is the slave. Most USB devices are designed and hardwired as either master or slave. The only exception to this is the OTG port which can be master OR slave, but can never be both at once. It is simply not possible to use an OTG port as master AND slave at the same time. You need to choose one or the other at any given instant, and the turn-over between modes takes quite a bit of time.

There is only one USB port on the 410 processor chipset, which is an OTG port and you need to choose weather it is in master or slave mode. The hardware on the 410c board does exactly this, it either forces the port to be a slave if you plug anything into the micro-USB connector, OR if there is nothing attached to the micro USB connector then the port is forced into master mode and it connects to a three port hub on the board. Two of the ports are on the two USB Type-A connectors, and the signals for the third port are on the High speed connector.

I’m not sure why you would want to create external hardware to do exactly what the hardware onboard the 410c is already doing.