# Virtual ADB
VirtualADB serves the purpose of making Cuttlefish device available locally as a
USB device. VirtualADB uses USB/IP protocol to forward USB gadget from
Cuttlefish to localhost.
## Requirements
To compile the VirtualADB package you need to install:
```
sudo apt-get install libudev-dev
```
VirtualADB requires `vhci-hcd` kernel module to be loaded. Module is part of
kernel extra modules package:
```
sudo apt-get install linux-image-extra-`uname -r`
```
## Usage
VirtualADB uses currently `virtio channel` to communicate with usb forwarder on
`cuttlefish`. The tool instruments kernel to attach remote USB device directly.
To do that, it requires super-user privileges - primarily because it's adding a
new device to your system.
To start VirtualADB simply execute:
```
sudo vadb /path/to/usb_forwarder_socket
```
where `usb_forwarder_socket` is the socket used by usb forwarder to communicate.