Я делаю первые шаги в FreeBSD, поэтому прошу простить за возможный "линуксизм".
Моя цель - запустить FreeBSD 10.2 внутри виртуальной машины с QEMU/KVM и разрешить проброс сетевой карты USB3 с хоста, чтобы сделать ее единственным доступным WAN интерфейсом.
Для запуска QEMU/KVM я выполняю следующее:
kvm -m 4096 \
-snapshot \
-hda /path/to/the/image \
-device nec-usb-xhci,id=xhci,addr=0x5 \
-device usb-host,bus=xhci.0,vendorid=0x0b95,productid=0x1790 \
-net none
Все работает нормально, если я пытаюсь запустить Ubuntu 16.04. Интерфейс работает, отображается в lsusb
и адрес назначен DHCP.
Я также могу запустить тот же образ FreeBSD с помощью VirtualBox: карта распознается (поскольку она поддерживается FreeBSD), и я вижу:
pciconf -lv
#skipped
xhci0@pci0:0:12:0: class=0x0c0330 card=0x00000000 chip=0x1e318086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
device = '7 Series/C210 Series Chipset Family USB xHCI Host Controller'
class = serial bus
subclass = USB
При запуске QEMU monitor, info usb
возвращает (неудивительно) одну и ту же запись для сетевой карты, как для Ubuntu, так и для FreeBSD.
Единственный способ добавить контроллер XHCI в QEMU, который я нашел, это указать nec-usb-xhci, пока что это единственное различие между VirtualBox и QEMU, которое я вижу.
Есть ли способ сделать этот USB3 passthrough для FreeBSD возможным в QEMU?