PVE直通WIFI设备到OpenTwr
原创2025年10月11日大约 2 分钟
PVE直通WIFI设备到OpenTwr
当前现状:PVE主机中有一个WIFI设备,想把它直通到
openWrt中,可以发射WIFI信号给设备上网(在openWrt管控中).
环境信息
PVE版本信息
root@:~# pveversion -v
proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.4 (running version: 8.3.4/65224a0f9cd294a3)
proxmox-kernel-helper: 8.1.1
proxmox-kernel-6.8: 6.8.12-8操作步骤
操作主要内容是解绑WIFI设备,并绑定到openWrt中。在openWrt中,安装合适的驱动,并配置WIFI。
检查 CPU 是否支持虚拟化与 IOMMU
# 如果 egrep 有输出 vmx(Intel)或 svm(AMD),说明 CPU 支持虚拟化。
egrep -o 'vmx|svm' /proc/cpuinfo | head -n1 && echo "CPU supports VT-x/AMD-V"
# dmesg 里显示 DMAR / IOMMU 表示系统检测到相关硬件(但未必在内核激活)
dmesg | grep -i -E 'IOMMU|DMAR|AMD-Vi' || true
# 检查当前内核命令行是否启用了 IOMMU
# 如果看到 intel_iommu=on(Intel)或 amd_iommu=on(AMD),说明已经启用。
cat cat /proc/cmdline
# 启用 IOMMU(如果未启用的话)
# nano /etc/default/grub
# iommu=pt 可提升 IOMMU 性能 / 简化直通
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
# 更新 grub 并重启:
update-grub
reboot查找并解绑WIFI设备(如果在PVE后台不能添加PCI直通需要解绑)
# 列出所有 网络PCI 设备
root@:~# lspci -nnk | egrep -i 'network|Wi-Fi|wifi' -A4
81:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0080]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
# 确认它是否在独立的 IOMMU group 里(确保能单独透传而不影响其他设备)
# 0000:81:00.0 取自 lspci 输出
readlink /sys/bus/pci/devices/0000:81:00.0/iommu_group
ls -l /sys/kernel/iommu_groups/$(basename $(readlink -f /sys/bus/pci/devices/0000:81:00.0/iommu_group))/devices
ces
total 0
lrwxrwxrwx 1 root root 0 Oct 25 18:37 0000:81:00.0 -> ../../../../devices/pci0000:00/0000:00:1c.0/0000:81:00.0
# 结论是独立的设备
# PVE 宿主机不再加载 iwlwifi 驱动
echo "options vfio-pci ids=8086:2723" > /etc/modprobe.d/vfio.conf
echo "blacklist iwlwifi" > /etc/modprobe.d/blacklist-wifi.conf
update-initramfs -u -k all
reboot
# 恢复加载iwlwifi驱动
rm /etc/modprobe.d/vfio.conf
rm /etc/modprobe.d/blacklist-wifi.conf
update-initramfs -u -k all
reboot
# 查看设备状态
root:~# lspci -nnk -s 81:00.0
81:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200 [8086:0080]
Kernel driver in use: vfio-pci
Kernel modules: iwlwifi在openWtr中安装驱动
# 在PVE后台给openWrt添加PCI直通WIFI设备
opkg update
opkg install pciutils usbutils kmod-iwlwifi iw
lspci | grep -i wireless
iw list
opkg install iwlwifi-firmware-ax200
wifi reload
iw list
Wiphy phy0
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* P2P-client
* P2P-GO
* P2P-device
# 重启openWrt, 在openWrt后台查看WIFI设备并配置