qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qeustion] USB passthough doesn't work on Windows.


From: Hans de Goede
Subject: Re: [Qemu-devel] [Qeustion] USB passthough doesn't work on Windows.
Date: Wed, 10 Jul 2013 09:39:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7

Hi,

On 07/08/2013 05:08 PM, Geunhae Lee wrote:
hi thanks for you kind answer,
admit about lacking of infos haha..

here's my situations.

1. i currently use QEMU ver 1.2, but plan to upgrade to 1.5 soon.
2. in version 1.2, i found that USB passthrough is not supported on Windows/Mac.
     In version 1.5, however, it seems possible to use passthrough by 
re-implementing usb host (libusb)  , right?

libusb already is ported to windows and darwin, but support there is limited, 
mostly
because the OS tends to get in the way a lot more there then under Linux.

In general under Windows it requires uninstalling the windows driver for the 
device, and
replacing it with one of 3 supported generic usb drivers: winusb, libusb0 or 
libusbk.

Under Darwin there is a standard API for accessing USB devices from userspace 
(like under
Linux), and just like under Linux the native device driver needs to be detached 
first.

The problem is that unlike under Linux, the native driver can refuse to be 
detached, and
many drivers have stub code for this functionality like this:

int detach_driver(...)
{
    return -EPERM;
}

IOW most Darwin drivers refuse to be detached from their device, making it 
impossible to
redirect them. This can be circumvented by first replacing the driver with a so 
called
codeless kext.

So all in all doing usb redirection under Windows and Mac OS X is far from 
trivial, on paper
it is supported with the new libusb host redirection code, but the user will 
likely need
to first swap drivers manually before a device can be redirected (and then 
manually swap them
back to give the device back to the host os later).

     but i didn't find out any former work which uses USB passthrough on 
Windows and Mac

  so my questions are 2 followings.

1.  is there any articles about using USB passthrough on Windows and MAC

No.

2.  do you guys have some performance issues?
      -  libusb vs former implementation (qemu ver 1.2)

libusb's passthrough performance under Linux should be identical (and in some 
cases slightly
better) then the DIY code we were using before.

Regards,

Hans



reply via email to

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