Encontrou uma solução : teve que compilar o qemu com --enable-libusb
e --enable-usb-redir
Eu tento executar um windows vm no linux com qemu / kvm e pci-passthrough, mas recebo o seguinte erro quando inicio o vm:
qemu-system-x86_64: -usbdevice host:046d:c227: could not add USB device 'host:046d:c227'
saída de lsusb:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 046d:c227 Logitech, Inc. G15 Refresh Keyboard
Bus 001 Device 004: ID 046d:c226 Logitech, Inc. G15 Refresh Keyboard
Bus 001 Device 002: ID 046d:c223 Logitech, Inc. G11/G15 Keyboard / USB Hub
Bus 001 Device 005: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 1038:1384 SteelSeries ApS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Começo:
qemu-system-x86_64 \
-enable-kvm \
-m 16392 \
-cpu host,kvm=off \
-smp 4,sockets=1,cores=2,threads=2 \
-vga none \
-usb -usbdevice host:046d:c227 -usbdevice host:046d:c226 \
-device vfio-pci,host=01:00.0,multifunction=on \
-device vfio-pci,host=01:00.1 \
-drive if=pflash,format=raw,readonly,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd \
-drive if=pflash,format=raw,file=/tmp/my_vars.fd \
-device virtio-scsi-pci,id=scsi \
-drive file=/var/iso/win10.iso,id=isocd,format=raw,if=none -device scsi-cd,drive=isocd \
-drive file=/home/icehawk/images/windows10.img,id=disk,format=raw,if=none,cache=writeback -device scsi-hd,drive=disk \
-drive file=/var/iso/virtio-win-0.1.126.iso,id=virtiocd,if=none,format=raw -device ide-cd,bus=ide.1,drive=virtiocd
Eu tentei passar pelo ônibus inteiro ou outras combinações diferentes, também não funciona. Toda vez que o primeiro dispositivo usb é listado na mensagem de erro. Eu olhei para este segmento, mas as respostas não me ajuda: Passagem USB para o QEMU recebe erro" qemu: não foi possível adicionar o dispositivo USB "
Eu uso a versão mais recente do qemu 2.7.9 (aka 2.8 rc0)
Alguma ideia? Obrigado antecipadamente!
EDIT: Encontrou uma solução: tive que compilar o qemu com --enable-libusb e --enable-usb-redir
Tags usb virtualization qemu linux linux-kvm