私はFreeBSDに最初の足を踏み入れているので、「Linux主義」があるかもしれないことをご了承ください。
私の目標は、QEMU / KVMを搭載した仮想マシン内でFreeBSD 10.2を実行し、USB3ネットワークカードがホストから通過できるようにして、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によって割り当てられます。 VirtualBox を使用して同じ FreeBSD イメージを実行することもできます。カードが認識され(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モニターを実行すると、info usb
UbuntuとFreeBSDの両方に対して同じネットワークカードエントリが返されます。 QEMUにXHCIコントローラを追加するために私が見つけた唯一の方法は、nec-usb-xhciを指定することです。これまで、これはVirtualBoxとQEMUの間で見た唯一の違いです。
QEMUを介してUSB3をFreeBSDにパススルーする方法はありますか?
答え1
QEMUには、まずパッチが必要なUSB3.0のバグがあります。現在、QEMU XHCIでは10-stableを使用できることが知られています。
https://lists.gnu.org/archive/html/qemu-devel/2016-08/msg03571.html
--HPS