Hi, i am trying to understund why the system behave this way to find out where the issue lays, system specifications and and steps taken in attempt to fix it bellow:
CPU: G4400T / I5 6500 (tried both)
RAM: 16GB (2x 8GB)
Motherboard: ASRock H110M-DGS R3.0 (BIOS: P7.4)
NetworkPVE: RTL8111 GbE (enp3s0 bridge vmbr0)
NetworkNAS: RTL8125 2.5GbE (enp2s0) <== connected via PCI-e x1 NIC
Boot SSD: 2x 128GB ZFS (local(ISOs), local-ZFS(TrueNAS Scale_VM...)) <== connected to PCH
VM HDD: 750GB ext4 2.5" (vm750GB-HDD(Other_VMs...)) <== connected to PCH
NAS HDD: 2x 4TB <== connected via ASMEDIA PCI-e x1 daughter board
I firstly went to ASRock webpage (https://www.asrock.com/mb/Intel/H110M-DGS R3.0/index.fr.asp#Memory) to gather information on the BIOS on this motherboard, it seems the P7.4 version is not listed and i have no clue why this motherboard is not able to flash the BIOS from a USB device (or a SATA device) with the Instant Flash BIOS tool, using DOS didn't rly help.
I went with the version i had installed since i do not have the tool to flash it externaly, looking at the BIOS layout and the user guide (https://download.asrock.com/Manual/H110M-DGS R3.0.pdf), i enabled the settings for proper Virtualization such as, VT-d (for device I/O isolation), Intel Virtualization, HW Prefetch, Adjacent Cache Line Prefetch, PCI-e ASPM, PCH PCI-e ASPM, DMI ASPM, PCH DMI ASPM, IOAPIC 24-119, SATA ALPM, ACPI HEPT Table, Suspend to RAM.
Fast Boot and CSM are disabled.
Installing Proxmox 8.1 following the guides (https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough) and cross-confirming infos with some Youtube tutorials went quite flawlessly, here are the modification i made:
Added the PVE no-subs repository
Removed PVE enterprise repositories
Reload, update and upgrade, reboot
root@lab:~# nano /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs intremap=no_x2apic_output nox2apic acpi=off intel_iommu=on iommu=pt
(The 'intremap=no_x2apic_output nox2apic' part has been added after a first issue then i added 'acpi=off' when ACPI started to complain)
root@lab:~# nano /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd (seems not required but i added it as recomended)
root@lab:~# proxmox-boot-tool refresh
root@lab:~# update-initramfs -u -k all
root@lab:~# reboot
root@lab:~# lspci
root@lab:~# lsmod | grep vfio
root@lab:~# dmesg | grep -e DMAR -e IOMMU
root@lab:~# dmesg | grep -i iommu
root@lab:~# cat /proc/cmdline
root@lab:~# for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done
The outputs seemed to confirm that IOMMU was enabled and working, i then proceeded to install TrueNAS 23.10.1 prior to pass-through any other device to the VM, RAM ballooning disabled and using vmbr as setup network, once installed i shutdown the VM to go back in Proxmox with the goal of passing the ASMEDIA controller (and the 2x 4TB HDD connected to it) to TrueNAS, then do the same with the RTL8125 NIC, here is where the issue appears, when passing a device the VM wont start and display 'Error: cannot prepare PCI pass-through, IOMMU not present' in the task log of Proxmox...
I'm going to keep digging but if anyone has a clue or a idea to share with me, that would be amazing !
Thanks a lot for taking the time reading this !
CPU: G4400T / I5 6500 (tried both)
RAM: 16GB (2x 8GB)
Motherboard: ASRock H110M-DGS R3.0 (BIOS: P7.4)
NetworkPVE: RTL8111 GbE (enp3s0 bridge vmbr0)
NetworkNAS: RTL8125 2.5GbE (enp2s0) <== connected via PCI-e x1 NIC
Boot SSD: 2x 128GB ZFS (local(ISOs), local-ZFS(TrueNAS Scale_VM...)) <== connected to PCH
VM HDD: 750GB ext4 2.5" (vm750GB-HDD(Other_VMs...)) <== connected to PCH
NAS HDD: 2x 4TB <== connected via ASMEDIA PCI-e x1 daughter board
I firstly went to ASRock webpage (https://www.asrock.com/mb/Intel/H110M-DGS R3.0/index.fr.asp#Memory) to gather information on the BIOS on this motherboard, it seems the P7.4 version is not listed and i have no clue why this motherboard is not able to flash the BIOS from a USB device (or a SATA device) with the Instant Flash BIOS tool, using DOS didn't rly help.
I went with the version i had installed since i do not have the tool to flash it externaly, looking at the BIOS layout and the user guide (https://download.asrock.com/Manual/H110M-DGS R3.0.pdf), i enabled the settings for proper Virtualization such as, VT-d (for device I/O isolation), Intel Virtualization, HW Prefetch, Adjacent Cache Line Prefetch, PCI-e ASPM, PCH PCI-e ASPM, DMI ASPM, PCH DMI ASPM, IOAPIC 24-119, SATA ALPM, ACPI HEPT Table, Suspend to RAM.
Fast Boot and CSM are disabled.
Installing Proxmox 8.1 following the guides (https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough) and cross-confirming infos with some Youtube tutorials went quite flawlessly, here are the modification i made:
Added the PVE no-subs repository
Removed PVE enterprise repositories
Reload, update and upgrade, reboot
root@lab:~# nano /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs intremap=no_x2apic_output nox2apic acpi=off intel_iommu=on iommu=pt
(The 'intremap=no_x2apic_output nox2apic' part has been added after a first issue then i added 'acpi=off' when ACPI started to complain)
root@lab:~# nano /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd (seems not required but i added it as recomended)
root@lab:~# proxmox-boot-tool refresh
root@lab:~# update-initramfs -u -k all
root@lab:~# reboot
root@lab:~# lspci
root@lab:~# lsmod | grep vfio
root@lab:~# dmesg | grep -e DMAR -e IOMMU
root@lab:~# dmesg | grep -i iommu
root@lab:~# cat /proc/cmdline
root@lab:~# for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done
The outputs seemed to confirm that IOMMU was enabled and working, i then proceeded to install TrueNAS 23.10.1 prior to pass-through any other device to the VM, RAM ballooning disabled and using vmbr as setup network, once installed i shutdown the VM to go back in Proxmox with the goal of passing the ASMEDIA controller (and the 2x 4TB HDD connected to it) to TrueNAS, then do the same with the RTL8125 NIC, here is where the issue appears, when passing a device the VM wont start and display 'Error: cannot prepare PCI pass-through, IOMMU not present' in the task log of Proxmox...
I'm going to keep digging but if anyone has a clue or a idea to share with me, that would be amazing !
Thanks a lot for taking the time reading this !