using the wifi device by passthrough ,iommu

micheal0792

New Member
Jun 4, 2023
2
0
1
I want use Wireless 7260 device directly in my VM. I have opened the IOMUU,but when add the device to my VM then I lost the connecting to the PVE .
some commands as below:
Code:
find /sys/kernel/iommu_groups/ -type l

/sys/kernel/iommu_groups/7/devices/0000:03:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.3
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/7/devices/0000:04:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:17.0
/sys/kernel/iommu_groups/3/devices/0000:00:14.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.4
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/4/devices/0000:00:16.0
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/0/devices/0000:00:00.0

Code:
lspci
00:00.0 Host bridge: Intel Corporation Comet Lake-S 6c Host Bridge/DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 03)
00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630] (rev 03)
00:14.0 USB controller: Intel Corporation Comet Lake PCH-V USB Controller
00:16.0 Communication controller: Intel Corporation Device a3ba
00:17.0 SATA controller: Intel Corporation 400 Series Chipset Family SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Device a394 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Device a39a (rev f0)
00:1d.3 PCI bridge: Intel Corporation Device a39b (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device a3da
00:1f.2 Memory controller: Intel Corporation Memory controller
00:1f.3 Audio device: Intel Corporation Device a3f0
00:1f.4 SMBus: Intel Corporation Comet Lake PCH-V SMBus Host Controller
01:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013 E13 NVMe Controller (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
04:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)

Code:
root@pve:/etc/pve/qemu-server# cat 103.conf
agent: 1
balloon: 2048
bios: ovmf
boot: order=scsi0;ide2
cores: 6
cpu: host
hostpci0: 0000:04:00.0
ide2: local-sdb1:iso/virtio-win-0.1.215.iso,media=cdrom,size=528322K
machine: pc-q35-7.2
memory: 10240
meta: creation-qemu=6.1.0,ctime=1645671694
name: dev3-win10
net0: virtio=0A:E3:89:12:48:83,bridge=vmbr0,firewall=1
numa: 1
onboot: 0
ostype: win10
scsi0: local:103/vm-103-disk-0.qcow2,cache=writeback,discard=on,size=50G
scsi1: local-sda1:103/vm-103-disk-0.qcow2,cache=unsafe,discard=on,size=70G
scsihw: virtio-scsi-pci
shares: 8192
smbios1: uuid=8a21f4eb-0b0c-433b-98f9-ebce99393712
sockets: 1
vga: virtio
vmgenid: e1084e12-aa8e-46ef-97fd-739964de8b11

the Ethernet controller(03:00.0) and Network controller(04:00.0) have the same iommu group ID: 7
is this the reason when I add Network controller to the VM ,then I can't connect to the PVE by Ethernet controller ?
 
the Ethernet controller(03:00.0) and Network controller(04:00.0) have the same iommu group ID: 7
is this the reason when I add Network controller to the VM ,then I can't connect to the PVE by Ethernet controller ?
Yes, you cannot share devices from the same IOMMU group between VMs and the Proxmox host. Devices in the same group can pass information to each other without the IOMMU noticing. Since PCIe devices can read/write memory, that would be a security problem where the VM can read the entire memory of the Proxmox host.
EDIT: The IOMMU groups are determined by the motherboard BIOS and physical PCIe layout. Try moving one of the devices to another PCIe slot.
 
thanks for you reply.
I have update the BIOS ,it did not effect. the mainboard is a mini board,there is not any more slot in it.
 
I have update the BIOS ,it did not effect. the mainboard is a mini board,there is not any more slot in it.
Maybe pass the ethernet controller to the VM too and then route the traffic to the Proxmox virtual bridge? Or use a USB network controller for Proxmox? Lots of better options before resorting to pcie_acs_override.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!