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