[SOLVED] Trouble enabling IOMMU on Asus WS C422 with Xeon W2145 CPU

kristols

Member
Jul 13, 2022
2
0
6
Greetings from a newbie in Norway!

I'm having a hard time enabling PCIe passthrough on my ASUS WS C422 motherboard with a W2145 CPU. I've followed the steps in the guide here https://pve.proxmox.com/wiki/Pci_passthrough , but no dice.

VT-D is enabled in the BIOS.

When I run:

dmesg | grep -e DMAR -e IOMMU

I get:

Bash:
[    0.007667] ACPI: DMAR 0x000000004BD14000 000108 (v01 ALASKA A M I    00000001 INTL 20091013)
[    0.007703] ACPI: Reserving DMAR table memory at [mem 0x4bd14000-0x4bd14107]
[    0.211044] DMAR: Host address width 46
[    0.211046] DMAR: DRHD base: 0x000000b5ffc000 flags: 0x0
[    0.211050] DMAR: dmar0: reg_base_addr b5ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.211053] DMAR: DRHD base: 0x000000d8ffc000 flags: 0x0
[    0.211056] DMAR: dmar1: reg_base_addr d8ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.211059] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[    0.211061] DMAR: dmar2: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.211064] DMAR: DRHD base: 0x00000092ffc000 flags: 0x1
[    0.211067] DMAR: dmar3: reg_base_addr 92ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.211069] DMAR: RMRR base: 0x0000004d519000 end: 0x0000004d762fff
[    0.211071] DMAR: ATSR flags: 0x0
[    0.211073] DMAR-IR: IOAPIC id 12 under DRHD base  0xfbffc000 IOMMU 2
[    0.211075] DMAR-IR: IOAPIC id 11 under DRHD base  0xd8ffc000 IOMMU 1
[    0.211076] DMAR-IR: IOAPIC id 10 under DRHD base  0xb5ffc000 IOMMU 0
[    0.211078] DMAR-IR: IOAPIC id 8 under DRHD base  0x92ffc000 IOMMU 3
[    0.211079] DMAR-IR: IOAPIC id 9 under DRHD base  0x92ffc000 IOMMU 3
[    0.211081] DMAR-IR: HPET id 0 under DRHD base 0x92ffc000
[    0.211082] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.211965] DMAR-IR: Enabled IRQ remapping in x2apic mode

As far as I can tell, there is no clear evidence that IOMMU is enabled, and working..?

Executing find /sys/kernel/iommu_groups/ -type l does not return anything, so its clearly not working.

What I've tried so far:

1. Disabling and re-enabling VT-d in BIOS.
2. Resetting the BIOS to defaults.
3. Upgrading the BIOS to the latest version.
4. Downgrading to a previous BIOS build.
5. Tried different grub arguments, as suggested in other posts, but to no avail.

Any hints to what I might try next? Any help is much appreciated :)

All the best,

K
 
OK - I'm really a n00b at this it seems!

All this time I was thinking Proxmox loaded via Grub, but as it turns out, it uses the systemd boot. Grub actually warns about this.. making the correct changes to /etc/kernel/cmdline made all the difference!

Bash:
[    0.007175] ACPI: DMAR 0x000000004BD14000 000108 (v01 ALASKA A M I    00000001 INTL 20091013)
[    0.007206] ACPI: Reserving DMAR table memory at [mem 0x4bd14000-0x4bd14107]
[    0.080147] DMAR: IOMMU enabled
[    0.210265] DMAR: Host address width 46
[    0.210266] DMAR: DRHD base: 0x000000b5ffc000 flags: 0x0
[    0.210270] DMAR: dmar0: reg_base_addr b5ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.210272] DMAR: DRHD base: 0x000000d8ffc000 flags: 0x0
[    0.210274] DMAR: dmar1: reg_base_addr d8ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.210276] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[    0.210278] DMAR: dmar2: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.210279] DMAR: DRHD base: 0x00000092ffc000 flags: 0x1
[    0.210282] DMAR: dmar3: reg_base_addr 92ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[    0.210284] DMAR: RMRR base: 0x0000004d519000 end: 0x0000004d762fff
[    0.210285] DMAR: ATSR flags: 0x0
[    0.210287] DMAR-IR: IOAPIC id 12 under DRHD base  0xfbffc000 IOMMU 2
[    0.210288] DMAR-IR: IOAPIC id 11 under DRHD base  0xd8ffc000 IOMMU 1
[    0.210289] DMAR-IR: IOAPIC id 10 under DRHD base  0xb5ffc000 IOMMU 0
[    0.210290] DMAR-IR: IOAPIC id 8 under DRHD base  0x92ffc000 IOMMU 3
[    0.210291] DMAR-IR: IOAPIC id 9 under DRHD base  0x92ffc000 IOMMU 3
[    0.210291] DMAR-IR: HPET id 0 under DRHD base 0x92ffc000
[    0.210292] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.211173] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.437543] DMAR: No SATC found
[    0.437547] DMAR: dmar2: Using Queued invalidation
[    0.437549] DMAR: dmar1: Using Queued invalidation
[    0.437551] DMAR: dmar0: Using Queued invalidation
[    0.437553] DMAR: dmar3: Using Queued invalidation
[    0.448467] DMAR: Intel(R) Virtualization Technology for Directed I/O


Anyway! If you are a n00b, and are tearing all your hair out trying to solve this: check what bootloader you're using!