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

[libvirt] USB pass-through only works after many disconnects at the beginning



Hi,

I want to pass through a USB device to a KVM guest (Windows 2000). My host OS
is a standard Fedora 10, 64 bit. However, the device is only passed to the
guest when I use qemu monitor directly and only after several tries...
The device has no Linux drivers ('AVM GmbH ISDN-Controller FRITZ!Card v2.0')
so I think I don't have to tell the kernel not to use it.

I have KVM 74 and tried initially with libvirt 0.5.1 so from what I read this
should be ok.

At first I added this to my domain xml via virsh:
<hostdev mode='subsystem' type='usb'>
   <source>
     <vendor id='0x....'/>
     <product id='0x....'/>
   </source>
</hostdev>

However, the device did not turn up in the guest.

Therefore I updated libvirt/-python 0.6.1 and python-virtinst from
updates-testing and recompiled virt-manager 0.7 from F11 because I read that
virt-manager 0.7 had some support for USB pass-through. Now I had some new UI,
but it turned out that using that did not produce better results...


After that I called qemu-kvm directly with '-usb -usbdevice host:...:...'.
qemu produced this output on my terminal:
husb: open device 2.9
husb: config #1 need -1
husb: 1 interfaces claimed for configuration -1
husb: grabbed usb device 2.9
husb: config #1 need 1
USBDEVFS_DISCONNECT: No such device
husb: device 2.9 disconnected

When I used qemu monitor to re-attach the device, something liek that happened
(re-attached multiple times):
husb: open device 2.11
husb: config #1 need -1
husb: 1 interfaces claimed for configuration -1
husb: grabbed usb device 2.11
husb: config #1 need 1
husb: 1 interfaces claimed for configuration 1
husb: config #1 need 1
USBDEVFS_DISCONNECT: No such device
husb: config #1 need 1
USBDEVFS_DISCONNECT: No such device
husb: config #1 need 1
USBDEVFS_DISCONNECT: No such device
husb: device 2.11 disconnected
...

Eventually (after several tries), the device was attached and no more
disconnects happened. After that I could use the device as expected.

However plain qemu is not what I would like to have. I read about 'virsh
attach-device' so I tried to use my usb hostdev snippet but to no avail (even
after 10s of tries).

So how can I use USB pass through? Could this be Windows-related? Judging from
all the other threads (like [1]) it should be really easy to use.


fs

[1] https://www.redhat.com/archives/libvir-list/2009-February/msg00387.html

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


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