[ovirt-users] USB drive Windows problem.

Lev Veyde lveyde at redhat.com
Wed Nov 11 09:45:56 UTC 2015


Hi David, 

OK, now I understand your setup more clearly. 

You're redirecting the USB DOK directly from host into the VM. 

In that case no oVirt WGT (nor Spice) are involved, and the access to the device is done using the standard Windows drivers, yet somehow the passthrough fails. 

I assume that you only inserted one such USB DOK into the host and don't run both VMs simultaneously (the Linux and Windows one), and in that case we're left with qemu-kvm and Windows itself as the potential sources of the issue. 

Can you please send the qemu-kvm logs ? 

Thanks in advance, 
Lev Veyde. 

----- Original Message -----

From: "David David" <dd432690 at gmail.com> 
To: "Lev Veyde" <lveyde at redhat.com> 
Sent: Wednesday, November 11, 2015 9:40:08 AM 
Subject: Re: [ovirt-users] USB drive Windows problem. 

Hi. 

I use VNC to connect to guests. 
for USB redirection using vdsm-hook-hostusb, ie USB pass through from a host to a guest. 

The USB section on the guest is: 

<hostdev mode='subsystem' type='usb' managed='no'> 
<source> 
<vendor id='0x03f0'/> 
<product id='0x5307'/> 
<address bus='2' device='5'/> 
</source> 
<alias name='hostdev0'/> 
</hostdev> 

guest's xml is listed in my first message. 

guided by this: http://blog.conoracallahan.com/blog/2014/07/19/ovirt-usb-passthrough/ 

2015-11-10 18:44 GMT+03:00 Lev Veyde < lveyde at redhat.com > : 


Hi David, 

What client you're using in order to connect to the VM and on what OS ? 
What USB redirection type are you using: Native or Legacy ? 

I guess that it's some issue with the Spice but need more details in order to forward it to them properly. 

Thanks in advance, 
Lev Veyde. 

> 
> I try upgrade Qemu by installing centos7. Maybe this will help... 
> 
> 2015-11-09 18:34 GMT+03:00 Sandro Bonazzola < sbonazzo at redhat.com >: 
> 
>> 
>> 
>> On Thu, Nov 5, 2015 at 3:45 PM, David David < dd432690 at gmail.com > wrote: 
>> 
>>> 
>>> 
>>> 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. 
>>> 
>>> 
>> 
>> Which version of the windows guest tools are you using? 
>> 
>> 
>> 
>>> 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> 
>>> 
>>> 
>>> _______________________________________________ 
>>> Users mailing list 
>>> Users at ovirt.org 
>>> http://lists.ovirt.org/mailman/listinfo/users 
>>> 
>>> 
>> 
>> 
>> -- 
>> Sandro Bonazzola 
>> Better technology. Faster innovation. Powered by community collaboration. 
>> See how it works at redhat.com 
>> 
> 
> 


-- 
Sandro Bonazzola 
Better technology. Faster innovation. Powered by community collaboration. 
See how it works at redhat.com 





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20151111/53479fdd/attachment-0001.html>


More information about the Users mailing list