Bonjour à tous,
J’essaye de faire de l’usb passthrough de deux périphériques (deux onduleurs) vers un domaine libvirt (debian sid), cependant, ils ont le même vendor id, ce qui me complique un peu les choses…
Côté Host (debian sid):
$ uname -a
Linux hulk 3.2.0-3-amd64 #1 SMP Thu Jun 28 09:07:26 UTC 2012 x86_64 GNU/Linux
$ lsusb
Bus 002 Device 005: ID 0463:ffff MGE UPS Systems UPS
Bus 002 Device 008: ID 0463:ffff MGE UPS Systems UPS
$ qemu-system-x86_64 --version
QEMU emulator version 1.2.50 (qemu-kvm-devel), Copyright (c) 2003-2008 Fabrice Bellard
$ virsh --version
0.10.1
J’arrive à définir le domaine suivant, à le démarrer, cependant, il plante au bout de quelques secondes :
$ virsh dumpxml upsd_dom_srv
<domain type='kvm'>
<name>upsd_dom_srv</name>
<uuid>***</uuid>
<title>upsd***</title>
<description>domogik</description>
<memory unit='KiB'>1024000</memory>
<currentMemory unit='KiB'>1024000</currentMemory>
<memoryBacking>
<hugepages/>
</memoryBacking>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-1.1'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/local/bin/qemu-system-x86_64</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/mapper/upsd_dom_srv-vda'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<interface type='network'>
<mac address='***'/>
<source network='vswitch_1500' portgroup='vlan-***'/>
<target dev='upsd'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='network'>
<mac address='***'/>
<source network='vswitch_1500' portgroup='vlan-***'/>
<target dev='upsd'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<interface type='network'>
<mac address='***'/>
<source network='vswitch_9000' portgroup='vlan-***'/>
<target dev='upsd'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5915' autoport='no' listen='***' keymap='fr'>
<listen type='address' address='***'/>
</graphics>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<hostdev mode='subsystem' type='usb' managed='no'>
<source>
<vendor id='0x0463'/>
<product id='0xffff'/>
<address bus='2' device='5'/>
</source>
</hostdev>
<hostdev mode='subsystem' type='usb' managed='no'>
<source>
<vendor id='0x0463'/>
<product id='0xffff'/>
<address bus='2' device='8'/>
</source>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</memballoon>
</devices>
<seclabel type='none'/>
</domain>
Les logs côté libvirt :
Si ça vous parle, n’hésitez pas
Merci.
Jaywax