[libvirt] Problem with USB pass-through

Laine Stump laine at laine.org
Thu Apr 19 15:49:00 UTC 2012


On 04/19/2012 10:44 AM, Carlos Rodrigues wrote:
> Hello,
>
> I have a problem with USB pass-through.
>
> I can see the USB device in host machine, i see it in libvirt but when
> attach to VM i get an error:
>
> # lsusb 
> ...
> Bus 002 Device 014: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
> ...
>
> # virsh nodedev-list
> ...
> usb_device_529_1_noserial
> usb_device_529_1_noserial_if0
> usb_device_529_1_noserial_usbraw
> ...
>
> # virsh dumpxml vm
> ...
>
>     <hostdev mode='subsystem' type='usb' managed='no'>
>       <source>
>         <vendor id='0x0529'/>
>         <product id='0x0001'/>
>       </source>
>     </hostdev>
> ...
>
> # cat /var/log/libvirt/qemu/vm.log
> ...
> LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/
> QEMU_AUDIO_DRV=none /usr/bin/qemu-kvm -S -M pc -m 3800 -smp 4 -name vm
> -uuid 056dad8b-22a4-4472-cb5e-8cf60215a41b -monitor
> unix:/var/lib/libvirt/qemu/v,.monitor,server,nowait -boot c -drive
> file=/dev/vg_sata2/vol_vm,if=virtio,boot=on,format=raw -net
> nic,macaddr=00:00:00:0b:5b:ec,vlan=0,model=virtio,name=net0 -net
> tap,fd=21,vlan=0,name=hostnet0 -serial none -parallel none -usb
> -usbdevice tablet -vnc 0.0.0.0:4 -k pt -vga cirrus -usbdevice
> host:002.014 -balloon virtio 
> husb: open device 2.12
> /proc/bus/usb/002/012: No such file or directory
> Warning: could not add USB device host:002.014
> ...
>
> I'm using libvirt 0.8.3 with kvm 88.
>
> Anyone have see this problem?

That sounds like this problem:

  commit 823a684f8d0495bd5e7b413e1a81fd5a600abef7
  Author: Daniel P. Berrange <berrange at redhat.com>
  Date:   Thu Feb 11 14:39:13 2010 +0000

      Fix USB device path formatting mixup
   
      * src/util/hostusb.c: The device path for a USB device wants the
        bus/device IDs in decimal not octal

but the fix was included in libvirt 0.7.7. What is the output of "find
/proc/bus/usb"?  I'm guessing that there *is* a 002/014, but no 002/012.
Since kvm-88's error message lists both, my next guess is that kvm-88
really *is* expecting the USB device to be given as octal. Are you able
to upgrade to newer kvm or libvirt? (note that there may be a newer kvm
available under the package name "qemu-kvm" or even "qemu", depending on
your distro).




More information about the libvir-list mailing list