Passthrough of two PCI devices

jprrezende

Member
May 5, 2023
6
0
6
Hello everyone,

I have two old specific pci cards that should used with a legacy system on Windows XP. These PCI cards are a kind of network card (for a industrial network).

So, I tried do a PCI passthrough of one PCI card and Windows XP recognized it very well. But when I add the second card and add this device to VM, Proxmox can not start VM.

The PCI cards are listed below as "LonWorks PCLTA-20 PCI LonTalk Adapter"

1743599607967.png

1743599569360.png

Error when starting VM with two cards added:
1743599734984.png
Someone can help me, please?

Thanks,

Joao Paulo
 
Last edited:
I think the problem is that both cards are in the same IOMMU group.. Did you connect both cards over the same pci interface? Do you have another pci slot you can try?

For working PCI passthrough, you need a dedicated IOMMU group for all PCI devices you want to assign to a VM.
To have separate IOMMU groups, your processor needs to have support for a feature called ACS (Access Control Services). Make sure you enable the corresponding setting in your BIOS for this.

If you don't have dedicated IOMMU groups, you can try moving the card to another PCI slot.

see https://pve.proxmox.com/wiki/PCI_Passthrough#Verifying IOMMU parameters
 
Last edited:
I have 3 PCI slots. I tried using the other one.
These are the addresses:
04:00
04:01
04:02

The IOMMU group is the same for any combination of usage.

Now I tried added the "pcie_acs_override=downstream" on kernel command line, but did not work.

Actually I am using slots 04:00 and 04:02, and I tried passthrough only 04:02 and I received the error:1743624117886.png

When I passthrough only 04:00 it works. I am not using any of this cards in any VM or host.
 
If devices are in the same IOMMU group then it should not be a problem to pass them to the same VM. Only trying to pass devices from the same group to different VMs/Proxmox is a security risk (as is using the pcie_acs_override) and problematic.
Have you tried passthrough without selecting the Multi-Function option for 04:00.0 and 04:02.0? Have you tried disabling the ROM-Bar for each or both? have you tried dumping the ROM BIOS of the devices and passing those files (for one or both)? Have you tried PCI instead of PCI-Express? Have you search the internet for other people's experience with passthrough of those devices? Did you try early binding to vfio-pci to remove the need to reset both devices?
PCI(e) passthrough is never guaranteed and sometimes you just cannot get it to work...