1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?