How to enable both USB OTG and USB HOST on Hikey960


Currently either usb otg or usb host port works, both will not work together.
Is there any kernel config needs to be enabled for both to work?
Please suggest.


There is only one USB controller (root-hub) on the HiKey960.
The controller supports only one role at a time (host or device).
So you will not be able to support both functions in parallel on this hub.

Okay got it. Thanks.

I want to connect a USB/HDMI-TouchMonitor AND work with adb.
I have read and understood that there is only 1 USB controller on the HiKey960.
How can I achieve using USB-touch + adb if I cannot use adb via USB?


you can use ADB over tcp/ip.

  1. Change ADB mode to tcp/ip
    $ adb tcpip 5555
  2. Connect to your device ADB instance (replace with your ip)
    $ adb connect
  3. Open a shell
    $ adb shell
1 Like

@Loic Thanks for feedback. This does in fact work.
We have now the problem that we need to set tcp as default.

setprop service.adb.tcp.port 5555
stop adbd
start adbd

When using setprop we get: failed to set property ‘persist.adb.tcp.port’ to ‘5555’
Do we need su for this?
And if so, how can we get root rights?

You can try $ adb root from the host (your pc)
Or simply $ su from the target (adb shell/serial).

Are you running a userdebug image ?