LoginSignup
1
1

More than 3 years have passed since last update.

Kubuntu20.10(KVM)でオンボードWifi IFをパススルー

Posted at

Kubuntu20.10(KVM)でオンボードWifi IFをパススルー

所有のマザーボード(AMD B550)でオンボードのWifiデバイスをPCIパススルーしたいと思いました。
が、同じIOMMUグループに他いろいろなPCIデバイスが含まれていてました。
そんなわけでACSオーバーライドパッチ(カーネル)を試して見ることにしました。
参考:https://benisnous.com/easy-acs-kernel-patch-guide-for-ubuntu-20-04/

ACSオーバライドカーネルのインストール

ACSオーバライドカーネル配布サイト
    https://queuecumber.gitlab.io/linux-acs-override/
ACSオーバーライドカーネルのインストール
    # dpkg -i linux-headers-5.8.18-acso_5.8.18-acso-1_amd64.deb
    # dpkg -i   linux-image-5.8.18-acso_5.8.18-acso-1_amd64.deb

GRUBの設定

カーネルパラメータにpcie_acs_override=downstream,multifunctionの追加
私の環境ではmultifunctionもないとだめでした。

GRUBの設定
    # vi /etc/default/grub
        :
        GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"
        :
    # update-grub

確認のため再起動
再起動後、1PCIデイバス,1IOMMUグループ(ほぼ)になるはずです。

vfioデバイスドライバ設定

参考:https://github.com/pavolelsig/passthrough_helper_ubuntu

vfioドライバ設定スクリプト
    # vi /etc/modprobe.d/vfio-pci-override.sh
        #! /bin/sh
        #
        # パススルーしたいベンダID:デバイスIDを設定
        export DEVICE="8086:24FB"
        #
        for i in $( find /sys/devices/pci* -type f -name uevent -print ); do
            for j in ${DEVICE}; do
                grep -l $j $i && echo "vfio-pci" > $(busybox dirname $i)/driver_override
            done
        done
        modprobe -i vfio-pci
    # chmod +x vi /etc/modprobe.d/vfio-pci-override.sh
Wifiドライバ無効化とvfioドライバ設定スクリプト呼び出し設定
    # vi /etc/modprobe.d/vfio-pci-override.conf 
        blacklist iwlwifi
        install vfio-pci /etc/modprobe.d/vfio-pci-override.sh
vfioドライバ設定
    # cat /etc/modules-load.d/vfio-pci-override.conf 
        vfio-pci
        :
    # update-initramfs -u

再起動
これで仮想マシンに「PCIホストデバイスの追加」してやれば、Wifi IFがパススルーできるはず。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1