document updated 12 years ago, on Jan 22, 2013
Software changes needed to make an Android phone capable of USB jacking:
- you need to run the USB port in accessory mode
- android-bluetooth-usb-hid
- Angelos Stavrou, Zhaohui Wang, "Exploiting Smart-Phone USB Connectivity For Fun And Profit", Black Hat DC 2011
[slides]
[paper]
[layperson summary]
"we developed a special USB gadget driver in addition to existing USB composite interface on the Android Linux kernel using the USB
Gadget API for Linux. The UGAL framework helped
us implement a simple USB Human Interface Driver (HID)
functionality (i.e. device driver) and the glue code between
the various kernel APIs. Using the code provided in:
"drivers/usb/gadget/composite.c", we created our own gadget driver as an additional composite USB interface. This
driver simulates a USB keyboard device. We can also simulate a USB mouse device sending pre-programmed input
command to the desktop system."
- efforts to get the Gadget API working in the kernel