device filtering support

Xiaofan Chen xiaofanc at gmail.com
Sat Feb 4 09:06:37 EST 2012


On Sat, Feb 4, 2012 at 7:10 PM, Hans de Goede <hdegoede at redhat.com> wrote:
>>> As the author of a piece of software which wants does care about any
>>> random / all usb devices I respectfully disagree with this assumption.
>>
>> The thing is that this may well work under Linux but certainly
>> not Windows. You still need to install drivers for your random
>> or all USB devices to talk to them and that is not feasible,
>
> There already exists closed source software doing exactly what I want
> on Windows, so it is feasible. I just want to have a FOSS implementation
> of the same functionality.

I know there are some commercial implementation of
USB Over TCP/IP. However, to make them generic, I
believe that a kernel driver is involved. I tend to believe
that libusb related drivers like WinUSB.sys, libusb0.sys
and libusbK.sys are not suitable for this job if you want
to use for all device.

One nice article is from Microsoft.
http://blogs.msdn.com/b/rds/archive/2010/06/10/introducing-microsoft-remotefx-usb-redirection-part-1.aspx

>From there, you will see that if you only want to redirect
certain type of USB device, probably you can work on the
higher level protocol and does not need to work on the
URB level. But if you want to work as a catch-all redirector,
then you probably need to work like the Microsoft RemoteFX
USB Redirection. And if you read the fine print, RDP will
replace the existing driver with Remote Desktop RemoteFX
USB redirection device driver in order to facilitate the USB
redirection.

usbip project operates on similar principle. It actually has
kind of virtual USB host controller driver (bus enumerator).
http://usbip.sourceforge.net/

On the other hand, if you want to redirect only certain
device (which is usually the use case), then libusb
can be a potential solution.

-- 
Xiaofan



More information about the libusbx mailing list