Пытаюсь прокинуть USB флешку в виртуальную машину. В конфиге машины Virsh пишу:
<hostdev mode="subsystem" type="usb">
<source>
<vendor id="0x0951"></vendor>
<product id="0x1666"></product>
</source>
</hostdev>
В результате в dmesg хоста и виртуалки имею сообщения «reset high-speed USB device number 5 using xhci_hcd», что либо сделать с ней, понятное дело, не получается.
Меняю флешку на 3G модем, меняю vendor и product id. В результате на хосте этот модем сбрасывается через 22 секунды 1 раз, а в виртуалке ничего кроме сообщений о подключении нет, но на команды модем не отвечает. Это в случае, если прописывать модем в конфиге виртуалки.
Если же модем пытаться подключить с помощью attach-device, он после сброса опять же через 22 секунды со стороны хоста исчезает из виртуалки и появляется на хосте. При этом Virsh при попытке повторного проброса пишет, что модем уже занят этой виртуалкой. Его нужно предварительно деаттачить.
Дальше меняю Virsh на чистый QEMU: qemu-system-x86_64 -accel kvm -hda /opt/qemu/test.qcow2 -m 8192 -nographic -smp 2 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x4 --device usb-host,vendorid=0x0951,productid=0x1666
. Ситуация абсолютно идентичная что с флешкой, что с модемом.
Итого, как я понял: QEMU цепляет девайс, он остаётся на хосте, и, когда девайс дёргает виртуалка, хост его сбрасывает. В случае с флешкой они сбрасывают её поочерёдно раз в полсекунды до бесконечности, а модем хост сбрасывает через 22 секунды.
Люди добрые, ну или злые, дайте плизки напутствия, куда копать дальше, я вот думаю уже 2 день, да вообще ничего придумать не могу(
Хост - Debian 12.5, виртуалка аналогично