Eduardo Felipe wrote:
Hi everybody,
I think that a useful feature for QEMU would be to expose the USB
interface through TCP.
Hi Eduardo,
I don't know all that much about USB, but I think the most useful way to
do this would be to do something that's protocol compatible with USBIP.
We could then tunnel this traffic over VNC and allow for exposing local
USB devices to a remote VM.
Think of a virtual desktop being hosted on a server and exposed on a
thin client. If you could plug in your iPod and it would just work with
the VM, that would be an exceedingly cool feature.
Are you familiar with USBIP? If so, does this sound reasonable?
Regards,
Anthony Liguori
It would allow quick USB device development in high level languages
without recompiling QEMU. We could have an instance of QEMU running
all the time while we create our device and hot plug/unplug it
whenever we want to.
This could also attract people interested in hardware emulation, but
scared of learning QEMU internals just to create a simple new device.
I think USB is quite suited for this, as it is designed for pluggable
external devices, but something similar could be made for serial and
parallel devices too.
The attached patch is a quick hack derived from the VNC server just to
show the idea, not intended for commiting. A dummy protocol is used
for message interchange between server and client.
It adds the new command line option:
-usbtcp port
It starts a socket listening on port for incoming connections. A
sample USB mouse in python is also provided that moves the cursor in
circles.
Would such a feature be of any interest for QEMU?
Regards,
Eduardo Felipe