Passing through PCIe USB controller to VM – VFIO_MAP_DMA fails

Hello everyone,

I’m running TrueNAS SCALE 24.10.2.4, and I’m trying to passthrough a PCIe USB controller from a Hauppauge WinTV-quadHD card (the card exposes an ASMedia ASM2142 USB 3.1 controller, PCI address 08:00.0) to a VM running TVHeadend.
The goal is to access the Si2168 DVB tuners attached to that controller.

However, the VM fails to start and shows the following QEMU error:

VFIO_MAP_DMA failed: Bad address
failed to setup container for group 92: memory listener initialization failed:
Region pc.ram: vfio_dma_map(…) = -2 (No such file or directory)

In dmesg I also see this firmware-related warning:

DMAR: [Firmware Bug]: RMRR entry for device 08:00.0 is broken - applying workaround

IOMMU appears to be enabled and functioning correctly:

DMAR: IOMMU enabled
DMAR-IR: Enabled IRQ remapping

IOMMU appears to be enabled and functioning correctly:

DMAR: IOMMU enabled
DMAR-IR: Enabled IRQ remapping

It seems that the broken RMRR entry for this PCIe device prevents VFIO from mapping its DMA region, causing the VM startup failure.

I have read that the workaround on Linux systems is to add kernel parameters, but before I attempt to manually modify GRUB on TrueNAS, I would like to know whether it is supported and safe on SCALE 24.10.x to add parameters such as::

intel_iommu=on iommu=pt iommu=force_ignore_rmrr

or:

intel_iommu=on iommu=pt iommu=force

in order to work around, as I read, this RMRR firmware bug?

Additionally:

does iX-Systems consider passthrough of PCIe USB controllers affected by RMRR issues to be supported on SCALE, or should such devices be avoided for VFIO passthrough?

Thank you in advance!

Francesco