VMware Cloud Community
Alex-42
Contributor
Contributor

PCIe passthrough MSI interrupts not working

Hello everyone,

I am trying to pass a PCIe card to a VM with ESXi 7, but it doesn't work as expected. (The device is visible in the VM, but not working)

The PCIe card uses 16 MSIs (and is not capable of MSI-X) and those can be seen when inspected with sudo lspci -v
-> Capabilities: [50] MSI: Enable+ Count=16/16 Maskable- 64bit+
When the device is passed to the VM the corresponding line is: Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+

The Count=1/1 seems to be the problem, as the driver is trying to use more than one MSI and reporting that there are not enough available.

I already tried booting Ubuntu instead of ESXi to verify that there is no hardware problems and it worked there. Also I tried another PCIe card (USB expansion card) that has a capability of 8 MSIs, but in the VM again only 1/1 was visible. 

Does anyone have an idea what could cause the MSIs to be not visible within the VM?

Labels (1)
Reply
0 Kudos
2 Replies
depping
Leadership
Leadership

Assuming this is a GPU you are passing through? Did you set any advanced settings?

Reply
0 Kudos
Alex-42
Contributor
Contributor

It's a networking/switch card.

I tried whether changing pciPassthru0.msiEnabled had any effects, but no luck there (it is set to true). Also changing from direct path to dynamic passthrough didn't seem to change anything. 
I didn't find any further information on MSIs regarding passthrough except for bios settings, but I assume these are not the problem as ubuntu sees the device correctly with the same settings.

Reply
0 Kudos