IOMMU Enabling Issues - Asrock B365M Pro4 + i5 8400

no.name

New Member
Dec 11, 2022
3
0
1
Hi,

I am trying to enable IOMMU in my Proxmox
I have Asrock B365M Pro4 + i5 8400

I modify
Code:
nano /etc/default/grub as below
Code:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
GRUB_CMDLINE_LINUX=""

And configuration
Code:
nano /etc/modules
Code:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

However, when I run command dmesg | grep -e DMAR -e IOMMU
Code:
[    0.010588] ACPI: DMAR 0x000000007E09D298 0000A8 (v01 INTEL  EDK2     00000001 INTL 00000001)
[    0.010624] ACPI: Reserving DMAR table memory at [mem 0x7e09d298-0x7e09d33f]
[    0.145391] DMAR: Host address width 39
[    0.145393] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.145399] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[    0.145404] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.145408] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.145412] DMAR: RMRR base: 0x0000007eb4a000 end: 0x0000007ed93fff
[    0.145415] DMAR: RMRR base: 0x0000007f800000 end: 0x0000008fffffff
[    0.145418] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.145420] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.145422] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.146947] DMAR-IR: Enabled IRQ remapping in x2apic mode

And also command
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done

It shows
Code:
IOMMU group * 00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec2] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:3e92]
00:14.0 USB controller [0c03]: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller [8086:a2af]
00:14.2 Signal processing controller [1180]: Intel Corporation 200 Series PCH Thermal Subsystem [8086:a2b1]
00:16.0 Communication controller [0780]: Intel Corporation 200 Series PCH CSME HECI #1 [8086:a2ba]
00:17.0 SATA controller [0106]: Intel Corporation 200 Series PCH SATA controller [AHCI mode] [8086:a282]
00:1b.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #19 [8086:a2e9] (rev f0)
00:1b.4 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #21 [8086:a2eb] (rev f0)
00:1d.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #9 [8086:a298] (rev f0)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:a2cc]
00:1f.2 Memory controller [0580]: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller [8086:a2a1]
00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0]
00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller [8086:a2a3]
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]
02:00.0 Non-Volatile memory controller [0108]: ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive [1cc1:8201] (rev 03)
03:00.0 Non-Volatile memory controller [0108]: ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive [1cc1:8201] (rev 03)

I already enable the VT-d and Intel Virtualization Technology as below
mobo-1.pngmobo-2.png


Can anyone help me to enable IOMMU?
 
What is the output of cat /proc/cmdline? Is intel_iommu=on present?

No, intel_iommu=on does not present
It shows as below
initrd=\EFI\proxmox\5.15.102-1-pve\initrd.img-5.15.102-1-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs

I am confusing, since BIOS already set up, and follow the instruction
 
No, intel_iommu=on does not present
It shows as below
initrd=\EFI\proxmox\5.15.102-1-pve\initrd.img-5.15.102-1-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs
That's the problem. It is not there and it also does not look like your GRUB line at all.
I am confusing, since BIOS already set up, and follow the instruction
Which instructions did you follow? The internet if full of outdated and currently incorrect guides, including the Proxmox Wiki...

My previous reply contains a link to a manual section that links you to how to edit the kernel command line. That section states that there are two possible bootloaders: GRUB or systemd-boot. The Proxmox manual explains how to determine which bootloader is used. Please add intel_iommu=on to the configuration of the actual used bootloader and make sure to apply those changes.
 
That's the problem. It is not there and it also does not look like your GRUB line at all.

Which instructions did you follow? The internet if full of outdated and currently incorrect guides, including the Proxmox Wiki...

My previous reply contains a link to a manual section that links you to how to edit the kernel command line. That section states that there are two possible bootloaders: GRUB or systemd-boot. The Proxmox manual explains how to determine which bootloader is used. Please add intel_iommu=on to the configuration of the actual used bootloader and make sure to apply those changes.

Many thanks for the information !
It works, previously i followed the instruction on the wiki, don't realize it was outdated
 
This thread helped me a lot to get pass-through working in this box. Kudos :)
(In this case a WIFI adapter)
IMG-20240406-WA0005.pngvm wifi.png
 
Last edited:

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!