Major issues after upgrade 8-9

AceMilo

New Member
Sep 27, 2026
6
0
1
Hi, I'm trying to upgrade my proxmox from 8 to 9. It is currently displaying it as version 9.2.2 when it boots. I cannot pass PCI devices anymore to my vms, specifically truenas. It doesn't see my network card or my disk controller. It did work in 8. I've tried every combo of pci-e on/off, rom on/off, etc and I cannot get anything to passthrough. Please, I'm at my witt's end. Any help is greatly appreciated.

Thanks
 
Let's start with this

Bash:
qm config VMIDHERE

{
shopt -s nullglob
for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nnks ${d##*/})"
    done;
done;
}

grep -sR "hostpci" /etc/pve
tail -n+1 /etc/modprobe.d/*
tail -n+1 /etc/modules /etc/modules-load.d/*
tail -n+1 /proc/cmdline /etc/kernel/cmdline /etc/default/grub
 
Last edited:
Let's start with this

Bash:
qm config VMIDHERE

{
shopt -s nullglob
for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nnks ${d##*/})"
    done;
done;
}

grep -sR "hostpci" /etc/pve
tail -n+1 /etc/modprobe.d/*
tail -n+1 /etc/modules /etc/modules-load.d/*
tail -n+1 /proc/cmdline /etc/kernel/cmdline /etc/default/grub
Are you asking my to run this? Here's the result:
Code:
qm config VMIDHERE

{
shopt -s nullglob
for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nns ${d##*/})"
    done;
done;
}

lspci -nnk
grep -sR "hostpci" /etc/pve
tail -n+1 /etc/modprobe.d/*
tail -n+1 /etc/modules /etc/modules-load.d/*
tail -n+1 /proc/cmdline /etc/kernel/cmdline /etc/default/grub
400 Parameter verification failed.
vmid: type check ('integer') failed - got 'VMIDHERE'
qm config <vmid> [OPTIONS]
IOMMU Group 0:
        00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
IOMMU Group 1:
        00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
IOMMU Group 2:
        00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
        00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller [8086:0c05] (rev 06)
        01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
        01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
        02:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1166 Serial ATA Controller [1b21:1166] (rev 02)
IOMMU Group 3:
        00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
IOMMU Group 4:
        00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
IOMMU Group 5:
        00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
IOMMU Group 6:
        00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
IOMMU Group 7:
        00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
IOMMU Group 8:
        00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
IOMMU Group 9:
        00:1c.2 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 3 [8086:8c94] (rev d0)
IOMMU Group 10:
        00:1c.3 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 [8086:8c96] (rev d0)
IOMMU Group 11:
        00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
IOMMU Group 12:
        00:1c.5 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 6 [8086:8c9a] (rev d0)
IOMMU Group 13:
        00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
IOMMU Group 14:
        00:1f.0 ISA bridge [0601]: Intel Corporation Z97 Chipset LPC Controller [8086:8cc4]
        00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
        00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
IOMMU Group 15:
        04:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller [1969:e091] (rev 10)
IOMMU Group 16:
        05:00.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 41)
IOMMU Group 17:
        07:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller [1b4b:9172] (rev 12)
IOMMU Group 18:
        08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 04)
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5000]
        Kernel driver in use: hsw_uncore
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5000]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller [8086:0c05] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5000]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
        Kernel modules: i915
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
        Subsystem: Intel Corporation Device [8086:2010]
        Kernel modules: snd_hda_intel
00:14.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB xHCI Controller [8086:8cb1]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
00:16.0 Communication controller [0780]: Intel Corporation 9 Series Chipset Family ME Interface #1 [8086:8cba]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:1c3a]
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:1a.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2 [8086:8cad]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5006]
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci
00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:a0b2]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 [8086:8c90] (rev d0)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.2 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 3 [8086:8c94] (rev d0)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.3 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 [8086:8c96] (rev d0)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.4 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 [8086:8c98] (rev d0)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.5 PCI bridge [0604]: Intel Corporation 9 Series Chipset Family PCI Express Root Port 6 [8086:8c9a] (rev d0)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1d.0 USB controller [0c03]: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1 [8086:8ca6]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5006]
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci
00:1f.0 ISA bridge [0601]: Intel Corporation Z97 Chipset LPC Controller [8086:8cc4]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode] [8086:8c82]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:b005]
        Kernel driver in use: ahci
        Kernel modules: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 9 Series Chipset Family SMBus Controller [8086:8ca2]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
        Subsystem: eVga.com. Corp. Device [3842:2966]
        Kernel driver in use: vfio-pci
        Kernel modules: nvidiafb, nouveau
01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
        Subsystem: eVga.com. Corp. Device [3842:2966]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
02:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1166 Serial ATA Controller [1b21:1166] (rev 02)
        Subsystem: ZyDAS Technology Corp. Device [2116:2116]
        Kernel driver in use: vfio-pci
        Kernel modules: ahci
04:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller [1969:e091] (rev 10)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
        Kernel driver in use: alx
        Kernel modules: alx
05:00.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 41)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:8892]
07:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller [1b4b:9172] (rev 12)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:b000]
        Kernel driver in use: ahci
        Kernel modules: ahci
08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 04)
        Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
        Kernel driver in use: r8169
        Kernel modules: r8169
/etc/pve/local/qemu-server/100.conf:hostpci0: 0000:02:00,pcie=1,rombar=0
/etc/pve/local/qemu-server/100.conf:hostpci1: 0000:01:00,pcie=1
/etc/pve/qemu-server/100.conf:hostpci0: 0000:02:00,pcie=1,rombar=0
/etc/pve/qemu-server/100.conf:hostpci1: 0000:01:00,pcie=1
/etc/pve/nodes/unicron/qemu-server/100.conf:hostpci0: 0000:02:00,pcie=1,rombar=0
/etc/pve/nodes/unicron/qemu-server/100.conf:hostpci1: 0000:01:00,pcie=1
# This file contains a list of modules which are not supported by Proxmox VE

# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
==> /etc/modules <==
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

==> /etc/modules-load.d/modules.conf <==
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
==> /proc/cmdline <==
BOOT_IMAGE=/boot/vmlinuz-7.0.14-19-pve root=/dev/mapper/pve-root ro quiet

==> /etc/kernel/cmdline <==
intel_iommu=on

==> /etc/default/grub <==
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
 
Yes. Passthrough needs lots of configuration so we need to look at lots of things. VMIDHERE is a placeholder. Use your TrueNAS VM's ID.
 
Just type qm config VMIDHERE and replace VMIDHERE with the ID of your TrueNAS VM. You can also type qm config and press the TAB key for completion. Please don't quote every message.
 
Last edited:
When I do that I get the config for my vm. I do not have the network card passed through currently since I couldn't get an ip.
Code:
balloon: 0
boot: order=scsi0;ide2
cores: 2
cpu: x86-64-v2-AES
hostpci0: 0000:02:00,pcie=1,rombar=0
hostpci1: 0000:01:00,pcie=1
ide2: none,media=cdrom
machine: q35
memory: 16384
meta: creation-qemu=9.0.2,ctime=1740250664
name: TrueNAS
net0: virtio=BC:24:11:50:97:B8,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
scsi0: local-lvm:vm-100-disk-0,iothread=1,size=32G
scsihw: virtio-scsi-single
smbios1: uuid=ce43f533-9c7f-48d3-8a7f-d4f791ea587c
sockets: 1
vmgenid: feb4a33b-3fe4-41fb-a876-397a94950929
                                                                              
Broadcast message from root@unicron (somewhere) (Sun Sep 27 17:03:43 2026):   
                                                                              
UPS cyberpower@localhost is unavailable
 
I see your GPU and SATA controllers are in the same IOMMU group. Not sure if that's okay if you pass both anyways but it sticks out.
The ethernet controllers both have their own IOMMU group but none is bound to the vfio module so I'm not sure which you intented to pass.
Can you add your GPU to the VM, cold boot it and check lspci -nnk inside TrueNAS to check if it sees the devices? Is IOMMU/ACS configured in the UEFI?
Also note that your intel_iommu=on is not applied. Either you're not booting via systemd-boot or you didn't refresh. You shouldn't need it, I just wanted to mention it.
 
Last edited:
I don't NEED the gpu. I do need the sata controller and nic. I'm not sure what iommu is. When I run the lspi I do see the gpu in the list.
 
It DOES see the sata controller as well but it just will not use it. I'm using seabios (default). Does that need to be changed to uefi?

Edi: if I select uefi it wants more storage to store it. I tried enabling viommu and that did not work either. I tried booting without the gpu and that also did not work.
 
Last edited: