Hi

I am using Hostusb hook on ovirt 3.5, centos6.6.
And I am facing problem while adding usb drive to windows2012 as a guest.
Usb device is passed through to the guest.
But in windows device manager usb mass storage device shows an exclamation mark. And error message is: "This device cannot start: (Code 10)"
In linux VM usb drive works without problem.

how to fix it?

here is xml of the windows guest:

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit win2012
or other application using the libvirt API.
-->

<domstatus state='running' reason='booted' pid='22624'>
  <monitor path='/var/lib/libvirt/qemu/win2012.monitor' json='1' type='unix'/>
  <vcpus>
    <vcpu pid='22630'/>
  </vcpus>
  <qemuCaps>
    <flag name='vnc-colon'/>
    <flag name='no-reboot'/>
    <flag name='drive'/>
    <flag name='name'/>
    <flag name='uuid'/>
    <flag name='vnet-hdr'/>
    <flag name='migrate-qemu-tcp'/>
    <flag name='migrate-qemu-exec'/>
    <flag name='drive-cache-v2'/>
    <flag name='kvm'/>
    <flag name='drive-format'/>
    <flag name='vga'/>
    <flag name='0.10'/>
    <flag name='pci-device'/>
    <flag name='mem-path'/>
    <flag name='drive-serial'/>
    <flag name='migrate-qemu-unix'/>
    <flag name='chardev'/>
    <flag name='enable-kvm'/>
    <flag name='monitor-json'/>
    <flag name='balloon'/>
    <flag name='device'/>
    <flag name='smp-topology'/>
    <flag name='netdev'/>
    <flag name='rtc'/>
    <flag name='vhost-net'/>
    <flag name='no-kvm-pit'/>
    <flag name='tdf'/>
    <flag name='pci-configfd'/>
    <flag name='nodefconfig'/>
    <flag name='boot-menu'/>
    <flag name='name-process'/>
    <flag name='drive-readonly'/>
    <flag name='smbios-type'/>
    <flag name='vga-qxl'/>
    <flag name='spice'/>
    <flag name='vga-none'/>
    <flag name='migrate-qemu-fd'/>
    <flag name='boot-index'/>
    <flag name='hda-duplex'/>
    <flag name='drive-aio'/>
    <flag name='pci-multibus'/>
    <flag name='pci-bootindex'/>
    <flag name='ccid-passthru'/>
    <flag name='chardev-spicevmc'/>
    <flag name='virtio-tx-alg'/>
    <flag name='device-qxl-vga'/>
    <flag name='pci-multifunction'/>
    <flag name='virtio-blk-pci.ioeventfd'/>
    <flag name='sga'/>
    <flag name='virtio-blk-pci.event_idx'/>
    <flag name='virtio-net-pci.event_idx'/>
    <flag name='cache-directsync'/>
    <flag name='piix3-usb-uhci'/>
    <flag name='piix4-usb-uhci'/>
    <flag name='usb-ehci'/>
    <flag name='ich9-usb-ehci1'/>
    <flag name='usb-redir'/>
    <flag name='usb-hub'/>
    <flag name='no-shutdown'/>
    <flag name='cache-unsafe'/>
    <flag name='rombar'/>
    <flag name='no-acpi'/>
    <flag name='virtio-blk-pci.scsi'/>
    <flag name='blk-sg-io'/>
    <flag name='drive-copy-on-read'/>
    <flag name='cpu-host'/>
    <flag name='drive-iotune'/>
    <flag name='system_wakeup'/>
    <flag name='scsi-disk.channel'/>
    <flag name='scsi-block'/>
    <flag name='transaction'/>
    <flag name='block-job-async'/>
    <flag name='scsi-cd'/>
    <flag name='hda-micro'/>
    <flag name='dump-guest-memory'/>
    <flag name='balloon-event'/>
    <flag name='virtio-scsi-pci'/>
    <flag name='blockio'/>
    <flag name='disable-s3'/>
    <flag name='disable-s4'/>
    <flag name='usb-redir.filter'/>
    <flag name='ide-drive.wwn'/>
    <flag name='scsi-disk.wwn'/>
    <flag name='reboot-timeout'/>
    <flag name='dump-guest-core'/>
    <flag name='seamless-migration'/>
    <flag name='block-commit'/>
    <flag name='disable-ksm'/>
    <flag name='virtio-net-pci.__com_redhat_macvtap_compat'/>
    <flag name='drive-mirror'/>
    <flag name='blockdev-snapshot-sync'/>
    <flag name='qxl'/>
    <flag name='VGA'/>
    <flag name='cirrus-vga'/>
    <flag name='ipv6-migration'/>
    <flag name='vnc-share-policy'/>
    <flag name='mlock'/>
    <flag name='virtio-rng'/>
    <flag name='rng-random'/>
    <flag name='rng-egd'/>
    <flag name='pvpanic'/>
    <flag name='spice-file-xfer-disable'/>
    <flag name='host-pci-multidomain'/>
    <flag name='msg-timestamp'/>
    <flag name='device-del-event'/>
  </qemuCaps>
  <devices>
    <device alias='usb'/>
    <device alias='net0'/>
    <device alias='scsi0'/>
    <device alias='virtio-serial0'/>
    <device alias='balloon0'/>
  </devices>
  <domain type='kvm' id='30'>
    <name>win2012</name>
    <uuid>fd27bf56-334c-4c83-836d-81314c24bb7d</uuid>
    <memory unit='KiB'>1048576</memory>
    <currentMemory unit='KiB'>1048576</currentMemory>
    <vcpu placement='static' current='1'>16</vcpu>
    <cputune>
      <shares>1020</shares>
    </cputune>
    <sysinfo type='smbios'>
      <system>
        <entry name='manufacturer'>oVirt</entry>
        <entry name='product'>oVirt Node</entry>
        <entry name='version'>6-6.el6.centos.12.2</entry>
        <entry name='serial'>DE1EED73-4B49-6742-A2CD-3A24C43D4489</entry>
        <entry name='uuid'>fd27bf56-334c-4c83-836d-81314c24bb7d</entry>
      </system>
    </sysinfo>
    <os>
      <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
      <smbios mode='sysinfo'/>
    </os>
    <features>
      <acpi/>
    </features>
    <cpu mode='custom' match='exact'>
      <model fallback='allow'>SandyBridge</model>
      <topology sockets='16' cores='1' threads='1'/>
    </cpu>
    <clock offset='variable' adjustment='0' basis='utc'>
      <timer name='rtc' tickpolicy='catchup'/>
      <timer name='pit' tickpolicy='delay'/>
      <timer name='hpet' present='no'/>
    </clock>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>destroy</on_crash>
    <devices>
      <emulator>/usr/libexec/qemu-kvm</emulator>
      <disk type='file' device='cdrom'>
        <driver name='qemu' type='raw'/>
        <source startupPolicy='optional'/>
        <target dev='hdc' bus='ide'/>
        <readonly/>
        <serial></serial>
        <alias name='ide0-1-0'/>
        <address type='drive' controller='0' bus='1' target='0' unit='0'/>
      </disk>
      <disk type='file' device='disk' snapshot='no'>
        <driver name='qemu' type='raw' cache='none' error_policy='stop' io='threads'/>
        <source file='/rhev/data-center/d187f1d4-e03a-485f-ae2d-f4e4faafc27e/54a27720-48bb-48d4-aeed-2a5c411a45d6/images/39954256-98eb-4b15-99b0-9b855e40fa72/adbd284d-e0c2-4829-98a2-68d938f93e77'>
          <seclabel model='selinux' relabel='no'/>
        </source>
        <target dev='sda' bus='scsi'/>
        <serial>39954256-98eb-4b15-99b0-9b855e40fa72</serial>
        <boot order='1'/>
        <alias name='scsi0-0-0-0'/>
        <address type='drive' controller='0' bus='0' target='0' unit='0'/>
      </disk>
      <controller type='scsi' index='0' model='virtio-scsi'>
        <alias name='scsi0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
      </controller>
      <controller type='virtio-serial' index='0' ports='16'>
        <alias name='virtio-serial0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
      </controller>
      <controller type='usb' index='0'>
        <alias name='usb0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
      </controller>
      <controller type='ide' index='0'>
        <alias name='ide0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
      </controller>
      <interface type='bridge'>
        <mac address='00:1a:4a:24:f2:00'/>
        <source bridge='ovirtmgmt'/>
        <bandwidth>
        </bandwidth>
        <target dev='vnet0'/>
        <model type='virtio'/>
        <filterref filter='vdsm-no-mac-spoofing'/>
        <link state='up'/>
        <boot order='2'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </interface>
      <console type='pty' tty='/dev/pts/1'>
        <source path='/dev/pts/1'/>
        <target type='virtio' port='0'/>
        <alias name='console0'/>
      </console>
      <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/channels/fd27bf56-334c-4c83-836d-81314c24bb7d.com.redhat.rhevm.vdsm'/>
        <target type='virtio' name='com.redhat.rhevm.vdsm'/>
        <alias name='channel0'/>
        <address type='virtio-serial' controller='0' bus='0' port='1'/>
      </channel>
      <channel type='unix'>
        <source mode='bind' path='/var/lib/libvirt/qemu/channels/fd27bf56-334c-4c83-836d-81314c24bb7d.org.qemu.guest_agent.0'/>
        <target type='virtio' name='org.qemu.guest_agent.0'/>
        <alias name='channel1'/>
        <address type='virtio-serial' controller='0' bus='0' port='2'/>
      </channel>
      <input type='tablet' bus='usb'>
        <alias name='input0'/>
      </input>
      <input type='mouse' bus='ps2'/>
      <graphics type='vnc' port='5900' autoport='yes' keymap='en-us' passwd='*****' passwdValidTo='1970-01-01T00:00:01'>
        <listen type='network' address='10.64.0.201' network='vdsm-ovirtmgmt' fromConfig='0'/>
      </graphics>
      <video>
        <model type='cirrus' vram='32768' heads='1'/>
        <alias name='video0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
      </video>
      <hostdev mode='subsystem' type='usb' managed='no'>
        <source>
          <vendor id='0x03f0'/>
          <product id='0x5307'/>
          <address bus='2' device='5'/>
        </source>
        <alias name='hostdev0'/>
      </hostdev>
      <memballoon model='virtio'>
        <alias name='balloon0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
      </memballoon>
    </devices>
    <seclabel type='dynamic' model='selinux' relabel='yes'>
      <label>system_u:system_r:svirt_t:s0:c84,c423</label>
      <imagelabel>system_u:object_r:svirt_image_t:s0:c84,c423</imagelabel>
    </seclabel>
  </domain>
</domstatus>