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
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?

1 Answer 1


QEMU has a USB3.0 bug which needs to be patched first. 10-stable is known to work with QEMU XHCI now.



  • Hi @HPS, what do you mean by "10-stable"? Is this a precise qemu version which is patched for USB3?
    – Piohen
    Commented Sep 6, 2016 at 10:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .