Using ADB with USB devices connected (host mode)


#1

I am powering the Rock Pi through the USB C port. I need to control it through ADB from PC but there must be also USB devices connected to the Rock Pi. This means, I cannot switch it to device mode but the USB C (OTG) port is occupied by the power cable.

Connecting the Rock Pi with the USB C (OTG) port to the PC is no option as well because the USB A (3.0) ports of the PC do not provide enough power.

So what is the option to provide enough power, have an ADB connection to a PC and at the same time some USB devices on the USB A ports of the Rock Pi 4?


#2

The USB-C port on Rock Pi 4 is for power only, it cannot be used for data.

Rock Pi 4 should not be used as OTG device in the first place. OTG is designed for mini-USB and micro-USB devices. I don’t think your latest Android phone equipped with USB-C talk to your PC as OTG device.

Quoted from Wikipedia:

Standard USB uses a master/slave architecture; a host acts as the master device for the entire bus, and a USB device acts as a slave. If implementing standard USB, devices must assume one role or the other, with computers generally set up as hosts, while (for example) printers normally function as slaves. In the absence of USB OTG, cell phones often implemented slave functionality to allow easy transfer of data to and from computers. Such phones, as slaves, could not readily be connected to printers as they also implemented the slave role. USB OTG directly addresses this issue.

PC-Smartphone talks as master(host)/slave, OTG is only works when there is no host device. Rock Pi 4 is a USB host.


#3

Thanks. From the hardware description I learned, that when the switch is set to “D” (device) position, only one of the USB 3.0 will be switched to device mode - the others still stay in host mode - is this correct? And if so, which one is in device mode (the bottom or the top one)?


#4

The upper USB 3.0 is OTG, can be either device mode or host mode.

Check: