qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Feature proposal: USB devices over TCP


From: Anthony Liguori
Subject: Re: [Qemu-devel] Feature proposal: USB devices over TCP
Date: Fri, 06 Apr 2007 22:38:33 -0500
User-agent: Thunderbird 1.5.0.10 (X11/20070403)

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

[Prev in Thread] Current Thread [Next in Thread]