UPDATED GUIDE: Turning your Raspberry PI Zero into a USB Gadget
When the Pi Zero came out, one of the downsides (!) of the low-cost design was swapping the ‘standard’ USB A-port for a micro-B port. Now you have to use an ‘OTG’ cable instead of just plugging in a device.
WARN::dwc_otg_handle_mode_mismatch_intr:68: Mode Mismatch Interrupt: currently in Device mode
Basically, the Pi sorta-trying to become a usb device rather than a usb host
Some awesome people on github sorted out that if you used the DWC2 USB driver, and patched a few files, you could get the Pi to act like a USB device (in linux-land this is called the USB Gadget system)
This tutorial is basically just a writeup of how you can follow along and turn your Pi zero into a USB Serial device or Ethernet device. That’s two whole ways of being able to connect to your Pi zero just by plugging in a micro B cable! You don’t even need to power your Pi seperately, as power is provided from your computer.
As of May 2016, Raspbian Jessie has built in kernel support – this tutorial is way easier!
Yeah the gadget system can do a lot more, but these are the two modules we’ve tested so far. The compiled kernel package has just about every USB gadget compiled in as a module if you’d like to try others