Hi, > What I can tell you is that Android phones/tablets are USB devices, > and QEMU have an incomplete support for REAL USB devices with QEMU > behaving as an USB host. But QEMU is not designed currently to work > as a USB device to a real USB host. > > If you want to code that support yourself, you'll need a virtual host > controller implementation on the host operating system, and then > implementing QEMU behavior as an Android device (be it USB Mass > Storage Device or Android Debug device).
Another option would be to explore the usbredir support recently added to qemu. The focus of the current implementation is to support forwarding usb devices over the network. You have a little server running which export a usb device, and qemu's usbredir backend connects to the server and allows the guest to access the device. Of course you can replace the server side with something emulating a usb device, for example a emulated android device with usb-host support, i.e. you have two qemu's running, one with android, one with a linux or windows guest os, and you'll link the two using the usbredir protocol. Cc'ing Hans who wrote the usbredir support. cheers, Gerd