I'm making my first steps in FreeBSD, so please excuse any possible "linuxism".
My goal is to run FreeBSD 10.2 inside virtual machine with QEMU/KVM and allow USB3 network card passthrough from the host to make it the only available WAN interface.
To start QEMU/KVM I run the following:
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
This is running fine, if I'm trying to start Ubuntu 16.04. The interface is up, shows up in lsusb
and the address is assigned by DHCP.
I'm also able to run the very same FreeBSD image with VirtualBox: the card is recognised (as it's supported by FreeBSD) and I see:
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
When running QEMU monitor, info usb
returns (no surprise) the same entry for the network card, both for Ubuntu and FreeBSD.
The only way of adding XHCI controller in QEMU I found is to specify nec-usb-xhci, so far this is the only difference between VirtualBox and QEMU I see.
Is there a way to make this USB3 passthrough to FreeBSD possible with QEMU?