README.md
1 # Virtual ADB
2
3 VirtualADB serves the purpose of making Cuttlefish device available locally as a
4 USB device. VirtualADB uses USB/IP protocol to forward USB gadget from
5 Cuttlefish to localhost.
6
7 ## Requirements
8
9 To compile the VirtualADB package you need to install:
10
11 ```
12 sudo apt-get install libudev-dev
13 ```
14
15 VirtualADB requires `vhci-hcd` kernel module to be loaded. Module is part of
16 kernel extra modules package:
17
18 ```
19 sudo apt-get install linux-image-extra-`uname -r`
20 ```
21
22 ## Usage
23
24 VirtualADB uses currently `virtio channel` to communicate with usb forwarder on
25 `cuttlefish`. The tool instruments kernel to attach remote USB device directly.
26 To do that, it requires super-user privileges - primarily because it's adding a
27 new device to your system.
28
29 To start VirtualADB simply execute:
30
31 ```
32 sudo vadb /path/to/usb_forwarder_socket
33 ```
34
35 where `usb_forwarder_socket` is the socket used by usb forwarder to communicate.
36