[SOLVED] Pci passthrough: No IOMMU detected

fcymk2

Member
Sep 7, 2019
27
3
23
40
I installed proxmox on a debian buster mathine.
I add config from the wiki, `https://pve.proxmox.com/wiki/Pci_passthrough#Intel_CPU`
but Pci passthrough can't work
```
add pci devices:
No IOMMU detected, please activate it.See Documentation for further information.

```
I modify the `GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"`,

modify /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

add `options vfio_iommu_type1 allow_unsafe_interrupts=1` in /etc/modprobe.d/pcie.con

dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
[ 0.027146] DMAR: IOMMU enabled

lsmod | grep kvm
kvm_intel 249856 0
kvm 655360 1 kvm_intel
irqbypass 16384 2 vfio_pci,kvm

Is there anything I missed? My Cpu is I5-7400
 
Check the BIOS/UEFI settings - sometimes IOMMU needs to be activated there (look for VT-d, ACS, ARI, virtualization,....)

also check the documentation of the mainboard and the chipset - this also needs support for IOMMU

I hope this helps!
 
Check the BIOS/UEFI settings - sometimes IOMMU needs to be activated there (look for VT-d, ACS, ARI, virtualization,....)

also check the documentation of the mainboard and the chipset - this also needs support for IOMMU

I hope this helps!

Check also your CPU. SOme ar not compatible ( pentium g3258 for example :( )
 
Check the BIOS/UEFI settings - sometimes IOMMU needs to be activated there (look for VT-d, ACS, ARI, virtualization,....)

also check the documentation of the mainboard and the chipset - this also needs support for IOMMU

I hope this helps!

I had open VT option in bios, and I test it use securable, vt is opened.

securable.jpg


mainboard and the chipset is H110, is this support IOMMU? Is there any way to test this?
```
dmidecode |grep -A16 "System Information$"
System Information
Manufacturer: TSINGHUA TONGFANG COMPUTER
Product Name: X850
Version:
Serial Number:
UUID:
Wake-up Type: Power Switch
SKU Number:
Family: JingRui

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: 1D05870D
Product Name: H110-4S REV2.0
Version: Rev 1.01
Serial Number:
Asset Tag: Default string
```
 
Last edited:
  • Like
Reactions: bramol
I don't know securable - but anyways - the VT option in the bios might be related to vtx and not vt-d (the flag you need for IOMMU)
Check our reference documentation on PCI(e) passthrough and the requirements section - maybe it contains the necessary pointers:
https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_pci_passthrough

My BIOS only have VT options @_@
I test by this https://stackoverflow.com/questions...ed-without-having-to-reboot-in-linux/11118147

```
sudo modprobe msr
sudo rdmsr 0x3a
Values 3 and 5 mean it's activated.
```

My test result is 5.

```
sudo apt-get update
sudo apt-get install cpu-checker
sudo kvm-ok
```
INFO: /dev/kvm exists
KVM acceleration can be used

According to the test from the stackoverflow post, my vt-x is opened.

I will try to reinstall a new debian, and install pve on it...
 
Last edited:
that vt-x is enabled, should be clear (otherwise you would have a problem starting a qemu guest with KVM acceleration) - your question is relating to
IOMMU groups and PCI(e) passthrough which in intel terms (mostly) is referred to as vt-d

follow the guide from our reference documentation and paste the output of the various check commands
 
that vt-x is enabled, should be clear (otherwise you would have a problem starting a qemu guest with KVM acceleration) - your question is relating to
IOMMU groups and PCI(e) passthrough which in intel terms (mostly) is referred to as vt-d

follow the guide from our reference documentation and paste the output of the various check commands
I reinstall proxmox-ve_6.1-2.iso, not install on debian. but it can't passthrough also.

output of the various check commands:

root@pve:~# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
[ 0.026627] DMAR: IOMMU enabled

root@pve:~# # find /sys/kernel/iommu_groups/ -type l
nothing, is this mean no vt-d?

attach file is full dmesg output
 

Attachments

Last edited:
root@pve:~# # find /sys/kernel/iommu_groups/ -type l
nothing, is this mean no vt-d?
Usually yes - it means that iommu is not enabled working.

Since your CPU (I5-7400) and the chipset (H110) (if i read that correctly) do support vt-d - maybe ask the manufacturer of the computer for a BIOS update or instructions how to enable that..
 
I just added a GPU to my Proliant server and got the same error, I have Intel(R) Xeon(R) CPU E5520, the BIOS for Xeon is far from as easy as "normal" BIOS/UEFI. Ill try to boot into BIOS and see if I can change it.
 
I have Gigabyte H110-2SH with F20 bios and Intel i5-7400T which i can't get it working.
The other system Gigabyte H110N-WIFI with 22E BIOS and Intel i5-6500T also can't get it to work
I will share my BIOS setting later on, but any help or suggestions in advance would be great!
 
i have solved this problem in my case from my vmware -> turning off my proxmox vm -> select the proxmox vm -> VM -> settings -> processors -> enable the engine virtualization options.
and don't forget to go to your vm and install the vm tools from VM option on vmware.
You are running Proxmox and VMWare together?
 

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!