USB Gadget

Jump to navigation Jump to search

We can do all sorts of nifty things with a USB OTG connector. Here are some of them.


The term "USB Gadget" will usually refer to the Linux USB gadget framework. This is relevant for those sunxi devices that offer a "On-The-Go" (OTG) port, allowing this USB connector to act in a "dual role" mode. The 'gadget' part means we're particularly interested in the slave mode - where the sunxi board will present itself as "device" to another USB host (e.g. a PC), allowing it to 'mimic' a wide variety of USB peripherals.

The gadget framework in mainline kernel currently supports the following gadget drivers:

Devices with USB OTG

The following devices all provide an USB OTG port:

Possible security implications

MBOX icon important.png The ability to act as a wide range of USB peripherals, with device behavior that can be customized to a very large degree, may have security implications for the USB host.

See e.g., or search for "BadUSB".