[SOLVED] No IOMMU - Dell T140

_KriS_

Member
Jan 6, 2021
10
1
23
47
Hi,

I've new Dell T140 for Proxmox and can't use PCI Passthrough.

I can insall VM's, run it, but when I try add NIC card to that specific VM I can't: No IOMMU detected, please activate it.See Documentation for further information.

I modified GRUB and rebuild it with:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

Any hint? Advice? If it's possible that this Dell server don't support IOMMU?

-
KriS
 
Thx, for a quick response!

I followed instruction and I thing I first use update-grub and then pve-efiboot-tool refresh - Hmm I should use only one of this?
How I can check if I use grub or systemd-boot?

It's output from : dmesg | grep -e DMAR -e IOMMU

root@pve1:~# dmesg | grep -e DMAR -e IOMMU
[ 0.006301] ACPI: DMAR 0x000000007DFD0000 000090 (v01 DELL PE_SC3 00000002 DELL 00000001)
[ 0.122444] DMAR: Host address width 39
[ 0.122446] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.122450] DMAR: dmar0: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.122451] DMAR: RMRR base: 0x0000005e9f6000 end: 0x000000669fdfff
[ 0.122453] DMAR: RMRR base: 0x000000796ca000 end: 0x000000796e9fff
[ 0.122454] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 0
[ 0.122456] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.122457] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.125401] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.728521] DMAR: [Firmware Bug]: RMRR entry for device 01:00.0 is broken - applying workaround
root@pve1:~#
 
How I can check if I use grub or systemd-boot?

check ls -l /sys/firmware/efi/efivars, if directory doesn't exist or it's empty then you're using grub.

It's output from : dmesg | grep -e DMAR -e IOMMU
i don't see the enabled line, have you reboot afterwards?
 
root@pve1:~# ls -l /sys/firmware/efi/efivars
total 0
-rw-r--r-- 1 root root 5 Jan 11 12:48 AuditMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 74 Jan 11 12:48 Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 255 Jan 11 12:48 Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 237 Jan 11 12:48 Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 271 Jan 11 12:48 Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 154 Jan 11 12:48 Boot0005-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 154 Jan 11 12:48 Boot0007-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 102 Jan 11 12:48 Boot0009-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 6 Jan 11 12:48 BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 5 Jan 11 12:48 BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 16 Jan 11 12:48 BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c
-rw-r--r-- 1 root root 162 Jan 11 12:48 Capsule0000-39b68c46-f7fb-441b-b6ec-16b0f69821f3
-rw-r--r-- 1 root root 162 Jan 11 12:48 Capsule0001-39b68c46-f7fb-441b-b6ec-16b0f69821f3

root@pve1:~# ls -l /sys/firmware/efi/efivars | wc -l
87

Yes, I did restart many times.
 
root@pve1:~# ls -l /sys/firmware/efi/efivars | wc -l
87
so you're likely booting via efi and systemd-boot.

you need to edit the conf file in /boot/loader/entries/ and add quiet intel_iommu=on, run pve-efiboot-tool refresh and reboot to activate it (described in the link i've sent)
 
But I don't have path: /boot/loader/entries/

root@pve1:~# ls /boot/
config-5.4.73-1-pve grub memtest86+.bin pve vmlinuz-5.4.73-1-pve
efi initrd.img-5.4.73-1-pve memtest86+_multiboot.bin System.map-5.4.73-1-pve
root@pve1:~#

How I should have bios set up - as legacy bios or UEFI? Any preferences?
 
Last edited:
sorry,

you need to edit /etc/kernel/cmdline instead
How I should have bios set up - as legacy bios or UEFI? Any preferences?
legacy bios -> grub
UEFI -> systemd-boot
 
  • Like
Reactions: _KriS_
Yea, I found this cmdline at https://pve.proxmox.com/wiki/Host_Bootloader

No more errors when I try add PCI dev.

root@pve1:~# dmesg | grep -e DMAR -e IOMMU
[ 0.006236] ACPI: DMAR 0x000000007DFD0000 000090 (v01 DELL PE_SC3 00000002 DELL 00000001)
[ 0.060365] DMAR: IOMMU enabled
[ 0.120622] DMAR: Host address width 39
[ 0.120623] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.120627] DMAR: dmar0: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.120629] DMAR: RMRR base: 0x0000005e9f6000 end: 0x000000669fdfff
[ 0.120630] DMAR: RMRR base: 0x000000796ca000 end: 0x000000796e9fff
[ 0.120631] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 0
[ 0.120633] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.120634] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.123582] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.726827] DMAR: [Firmware Bug]: RMRR entry for device 01:00.0 is broken - applying workaround
[ 0.726832] DMAR: No ATSR found
[ 0.726869] DMAR: dmar0: Using Queued invalidation
[ 0.737297] DMAR: Intel(R) Virtualization Technology for Directed I/O

Thx a lot for quick help!
 
great! please mark the thread as [SOLVED] so others know what to expect :)