"No IOMMU detected, please activate it." I did AFAIK.

Windows7ge

Well-Known Member
Sep 12, 2019
36
1
48
30
I've spent the latter part of the last 24 hours trying to setup some VM's from backup onto PROXMOX 7.1-4. I was upgrading from an older version.

Relevant hardware:
Motherboard: Supermicro X10DRi-T (BIOS: 3.4a)
CPU(s): Intel Xeon E5-2698v3

Hardware pass-through worked great until I performed a BIOS update (BIOS 3.1 at the time) and upgraded to PROXMOX 7.1-4.

I enabled VT-d
I added
Code:
intel_iommu=on
to
Code:
/etc/default/grub
I ran
Code:
update-grub
,
Code:
initramfs -u -k -all
, and even
Code:
proxmox-boot-tool refresh
nothing is making the error go away.

If I run
Code:
dmesg | grep -e DMAR -e IOMMU
I get the following output which my limited experience seems to indicate that IOMMU should be on and working...but it's not.

Code:
[    0.012983] ACPI: DMAR 0x0000000079F573F8 000170 (v01 ALASKA A M I    00000001 INTL 20091013)
[    0.013036] ACPI: Reserving DMAR table memory at [mem 0x79f573f8-0x79f57567]
[    3.444698] DMAR: Host address width 46
[    3.444701] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[    3.444709] DMAR: dmar0: reg_base_addr fbffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[    3.444714] DMAR: DRHD base: 0x000000c7ffc000 flags: 0x1
[    3.444719] DMAR: dmar1: reg_base_addr c7ffc000 ver 1:0 cap d2078c106f0466 ecap f020de
[    3.444723] DMAR: RMRR base: 0x0000007bc18000 end: 0x0000007bc27fff
[    3.444726] DMAR: ATSR flags: 0x0
[    3.444729] DMAR: RHSA base: 0x000000c7ffc000 proximity domain: 0x0
[    3.444731] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x1
[    3.444735] DMAR-IR: IOAPIC id 3 under DRHD base  0xfbffc000 IOMMU 0
[    3.444738] DMAR-IR: IOAPIC id 1 under DRHD base  0xc7ffc000 IOMMU 1
[    3.444741] DMAR-IR: IOAPIC id 2 under DRHD base  0xc7ffc000 IOMMU 1
[    3.444743] DMAR-IR: HPET id 0 under DRHD base 0xc7ffc000
[    3.444746] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[    3.444747] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[    3.445518] DMAR-IR: Enabled IRQ remapping in xapic mode

In addition to this I can't seem to get any vfio modules to load. If I add
Code:
vfio-pci
to
Code:
/etc/modules
and run
Code:
initramfs -u -k -all
then reboot any script I write to over-ride the default kernel driver doesn't work properly. It just doesn't load any driver at all.

What's the real kicker here is I did the EXACT SAME THING on an AMD EPYC server and EVERYTHING went off without a hitch. Hardware pass-throughed a ton of stuff. No fuss. worked great.

So why did something previously working fine suddenly no longer want to work after updating some software?...at this point I"m wondering if I can just pass the devices through using iSCSI or virtio and get the same result. Let the PROXMOX kernel handle the PCI_e device.
 
Sorry to revive this old post. But im having the exact same issue! Did you fix it?
 
Sorry to revive this old post. But im having the exact same issue! Did you fix it?
What CPU and motherboard are you using? What is the output of cat /proc/cmdline. Did you do the IOMMU section in the manual:
First, you will have to enable IOMMU support in your BIOS/UEFI. Usually thecorresponding setting is called IOMMU or VT-d, but you should find the exact option name in the manual of your motherboard.
For Intel CPUs, you also need to enable the IOMMU on the kernel command line kernels by adding:
intel_iommu=on
 
Same problem. I know it worked before (and it was 3.1 bios indeed). Now machines are in production and did not needed IOMMU until now. Bios has been updated to 3.4 in the meantime. X10DRi-T4+ MB which is basically same bios. All the same things done as OP.

Bash:
root@blake:~# dmesg | grep -e DMAR -e IOMMU
[    0.011654] ACPI: DMAR 0x00000000797E54A8 000188 (v01 SUPERM SMCI--MB 00000001 INTL 20091013)
[    0.011698] ACPI: Reserving DMAR table memory at [mem 0x797e54a8-0x797e562f]
[    3.266704] DMAR: Host address width 46
[    3.266707] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[    3.266716] DMAR: dmar0: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020de
[    3.266722] DMAR: DRHD base: 0x000000c7ffc000 flags: 0x1
[    3.266728] DMAR: dmar1: reg_base_addr c7ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020de
[    3.266733] DMAR: RMRR base: 0x0000007ba58000 end: 0x0000007ba67fff
[    3.266737] DMAR: ATSR flags: 0x0
[    3.266740] DMAR: RHSA base: 0x000000c7ffc000 proximity domain: 0x0
[    3.266744] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x1
[    3.266748] DMAR-IR: IOAPIC id 3 under DRHD base  0xfbffc000 IOMMU 0
[    3.266752] DMAR-IR: IOAPIC id 1 under DRHD base  0xc7ffc000 IOMMU 1
[    3.266756] DMAR-IR: IOAPIC id 2 under DRHD base  0xc7ffc000 IOMMU 1
[    3.266759] DMAR-IR: HPET id 0 under DRHD base 0xc7ffc000
[    3.266763] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    3.267640] DMAR-IR: Enabled IRQ remapping in x2apic mode

pve-manager/8.1.3/b46aac3b42da5d15 (running kernel: 6.2.16-6-pve)
 
Last edited:
So tested all the bioses upto 3.1 and still no go - I would like to say that's something was broken in kernel , rather than MB support. Is there anything to try out that would be out of ordinary?

EDIT:
Got it working with 3.4 bios.

Under PCI/PCIe settings there is SR-IOV . This needs to be activated also to get IOMMU. After that groups are available and no longer -1.
I think X2APIC should also be enabled under cpu. It's disabled by default.
 
Last edited:
So tested all the bioses upto 3.1 and still no go - I would like to say that's something was broken in kernel , rather than MB support. Is there anything to try out that would be out of ordinary?

EDIT:
Got it working with 3.4 bios.

Under PCI/PCIe settings there is SR-IOV . This needs to be activated also to get IOMMU. After that groups are available and no longer -1.
I think X2APIC should also be enabled under cpu. It's disabled by default.
Hello - I'm very new. I'm having the same issues (same motherboard updated bios 3.4) that are well chronicled here. I've set all of the bios settings properly, but I haven't done anything to the kernel command line because I honestly don't quite understand how to do it yet. Can you confirm that editing the kernel command line is required?
 

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!