Eu finalmente consegui ajuda no outro fórum. O problema parece ser com a implementação do barramento USB no chipset I440FX que é emulado pelo qemu por padrão (detalhes aqui ). A solução alternativa é emular o chipset ICH9 em vez disso. Isso é feito adicionando o parâmetro -M q35
. Eu também mudei o modo como os dispositivos USB são especificados e a linha de comando final se parece com isso:
qemu-system-x86_64 \
-enable-kvm \
-M q35 \
-m 2G \
-usb -usbdevice host:16b2:1001 \
-usb -usbdevice host:0529:0001 \
-usbdevice tablet \
-net nic \
-net bridge,br=br0 \
-vga qxl \
-spice port=5930,disable-ticketing \
-device virtio-serial-pci \
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
-chardev spicevmc,id=spicechannel0,name=vdagent \
-drive file=/mnt/data/win-patch.img,if=virtio
Tudo funciona perfeitamente agora.