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



Reply via email to