PCIe接続のUSBホストをパススルー

Windows on ArchLinuxに書いたとおり、PCIe接続のUSB3.0ホストアダプタをWindowsゲストにPCIパススルーしてみた。期待したとおり、これに接続したUSBのサウンドデバイス(例によってサウンドブラスター)からはあまり途切れることもなくなった(無いとは言ってない…)。気持ち程度かQEmu自身のUSBパススルーの負荷も減ったように思う。Windowsでしか使わないUSBデバイスはこいつに接続すればいい。なんだか1つの筐体に2台のPCが入ってるみたいだ。


Device Manager
(右が追加後、ルネサスのやつが追加されている)

買ったのはIDEAPRO(中華の謎ブランドと思われる)のこの商品。他にも良さそうなアダプタはあったのだが、SATA電源を使うものが多く、ケーブルの取り回しが必要無いこの商品にした。説明には無いが、コントローラのチップはルネサスなのでドライバ周りは心配ない。

パススルーする際に、GPUとは違ってドライバ(カーネルモジュール)レベルでblacklistにすると本体側のUSBホストも飛んでしまうので注意する必要がある。なのでこのデバイスに対してはvfio-pciドライバを使うよう直で指定した。

# /etc/modprobe.d/vfio.conf
options vfio-pci ids=1912:0014

これは指定しなくても後でunbindできるのかもしれない。この辺のトライ&エラーは時間食うので試していない。とりあえず動けばいいマインド。

ところでArchLinuxのVFIOのWikiにGPU以外のパススルーの説明が追加されていた。前は無かった気がする。いまのところうちのPCはGPU、USBホスト、NICの3つをPCIパススルーしている。もうこれ以上何かをPCIパススルーする必要は生じないと思われる。もっとも、パススルーできるPCIeバスはもう空いてないのだが。


Contents © 2017 sharow - Powered by Nikola