HBA Passthrough issues

underLight

New Member
Mar 26, 2025
3
0
1
I've been getting a massive headache from this
Wondering if anyone can help

I have an HP Proliant ML310E Gen8 V2
I have swapped out the Raid card, to a proper HBA, HP H220

For CPU BIOS, the correct settings are on, VT-d

IOMMU has been enabled, and settings applied
1743015424584.png

I can see the disks listed within my node settings, listed under "Disks"
1743015484059.png
They are the 4 'Unknown' drives on top
I have tried both being configured and not, doesn't make a difference

I can add the HBA to the TrueNAS instance
1743015560035.png
I have tried Rom bar on and off, PCI-e is on, with all functions applied

From this point if I try to start the machine, it will not boot
And the drives listed above will disappear from the machines view as if they have up and walked away causing me to have to reboot

I also cannot add the drives manually, ex. adding hard drives to the TrueNAS instance, they do not appear in the selection menu

Thanks for any time you may give this post
Truly appreciated
Have a blessed day
 
Have you verified IOMMU isolation - as shown here.

Try with:
Code:
pvesh get /nodes/{nodename}/hardware/pci --pci-class-blacklist ""
and confirm that HBA controller is in its' own IOMMU group.
 
Have you verified IOMMU isolation - as shown here.

Try with:
Code:
pvesh get /nodes/{nodename}/hardware/pci --pci-class-blacklist ""
and confirm that HBA controller is in its' own IOMMU group.
this is a good comment, it does appear that the hba may be in the same group as the cpu, but im not sure this MOBO supports ACS
would , pcie_acs_override=downstream, be a solution?

EDIT ::
1743022319750.pngI did go through the steps for ACS, reading Alex's blog post that was linked stated my CPU was not capable unfortunately.
I did add the "Patch" to the default grub config, which did seem to fix the IOMMU groups.
The SAS2308 being the HBA is no longer in the same group as the CPU, but upon updating grub, and rebooting, the same issue occurs
 
Last edited:
I can't give you much on-hand help as I don't have your setup. I'll just give you some pointers for your consideration, that "if-I-were-you" I'd be looking at myself.

  • Some users have used pcie_acs_override=downstream,multifunction (you can search the web for more info).
  • Using an ACS patch has it's pitfalls (again you can review this topic on the web) - I personally would rather change my config/HW than use it.
  • AFAIK the ACS override patch, is something that only overrides, at a communication level, the in-segregation of the various IOMMU groups.
  • As you have reported the required controller you tried to passthrough appeared to be (originally) in the same group as the CPU; that looks pretty serious, I'm not sure any patch is going to get that working.
  • Have you tried a different PCI slot?
  • Is that HBA card in IT mode & flashed/updated firmware.
  • Have you tried that HBA card in a bare-metal setup (same HW) with TrueNAS? (See below).
  • Have you successfully used that HBA card in any setup?

If I understand your OP, the VM won't start at all - but the drives do disappear from the host. In essence this looks like passthrough maybe functioning correctly, but the TrueNAS VM is the problem. You may have to search TrueNAS with issues with your HBA card. There is probably a lot out there.

As a test, (assuming the card is fully functioning bare-metal), you could try spinning up a vanilla Debian/Ubuntu VM, passthrough the card there, & see if the card/drives are fully functional.

As I've said all this is theoretical - as I don't have your setup.

Good luck.