[Spice-devel] Questions on usbredir + XSpice

Hans de Goede hdegoede at redhat.com
Wed Aug 6 04:02:47 PDT 2014


Hi,

On 08/06/2014 08:02 AM, Alon Levy wrote:
> On 08/05/2014 10:52 PM, Jeremy White wrote:
>> While I'm researching, I thought I'd look into the next challenge for
>> XSpice - usb device redirection.
>>
>> It faces similar challenges to the CAC card stuff.  That is, my sense is
>> that the usbredir library and utility set is all about reading client
>> machine USB device information and relaying it through to qemu, which
>> then exposes it as a 'real' device to the guest OS.
>>
>> Again, with XSpice, we don't have qemu :-(.
>>
>> Ideally, we'd find some mechanism to inject a usb device into the system
>> running XSpice.
>>
>> I've done some further research, and the usbip project would seem
>> useful.  It was here:
>>    http://usbip.sourceforge.net/
>> but apparently is now in the kernel.
>>
>> If we use that, then the challenge would appear to be translating the
>> protocols.
>>
>> Alternates:
>>   1.  Use usbip end-to-end
>>        I'd like to avoid this; there are benefits to having all spice
>> traffic go over the same channel
>>   2.  ???  Insight appreciated <grin> ???
>>       (I can't help but feel there are other methods for simulating a
>> USB device, but I'm fairly ignorant of this space).
>>
> 
> 2. Teach usbredir to use a kernel without a vm.

Yes that would be the rigt solution to this, there are use-cases outside
of Xspice for this too. The solution you're looking for here is to
wtite a virtual hcd device (driver) for the kernel talking the
usbredir protocol, so basically do what the server side usbip bits
do, but then with a new protocol.

I would advice against going for a protocol translater, your time would
better spend on doing this properly right away.

I would certsainly be interested in testing and reviewing patches
for this and help getting them added to the upstream kernel.

Regards,

Hans


More information about the Spice-devel mailing list