Hi,
On 08/03/2012 07:29 AM, Jackson wrote:
Not that comlicated, there is just a wrapper of usbredir flow
constructed by the spice channel:num 9.
You can view spicy-gtk as the usbredir client and the qemu/spice-server
as the usbredirsever.
But in usb-redirection-protocol.txt and readme.txt, the definitions define
virtual machine as usb-guest, and the side connecting USB devices as
usbredirhost. In this definition, spicy-gtk sounds like usbredir host
spice-gtk / the spice client indeed is the usbredirhost, and as such as
libusbredirhost to talk to the real USB device.
, and
qemu/spice-server like usbredirserver, right?
Erm, no qemu implements a usbredir-guest in the form of the usb-redir
qemu device. This qemu device uses a chardev to talk to the usbredir-host,
one way to do this is through a spice channel to a spice-gtk using client,
the other way is using a tcp-client-socket to usbredirserver, so usbredirserver
is a usbredir-host too (and it uses libusbredirhost too), examples of the 2
on the qemu cmdline are:
-chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1
-chardev socket,host=192.168.1.9,port=4000,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2
This confusion is the reason why the documents talks about usbredir-host and
usbredir-guest, because in both cases qemu is the usbredir-guest, but in one
case it is a tcp-server (in the form of being a spice-server), and in the
other a tcp-client.
Regards,
Hans
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel