PCI Passthrough 300 Series Chipset USB 3.1 xHCI Controller (AMD)

Gh0stShell

Cadet
Joined
Aug 14, 2023
Messages
5
Hey folks, I want to Passthrough the USB Controller from the Mainboard to my Home Assistant VM. I did all the SSH Stuff with PowerShell with root user.

I am using TrueNAS Core 13.0-U5.1
MB: ASUS Prime B350 Plus
CPU: Ryzen 5 1600
RAM: 32GB
Drives:
  • NVMe 256GB for Jails
  • SSD 256GB for VMs
  • IronWolf Pro 4TB for some Data


Bios changes:
  • IOMMU from Auto to Enabled.
  • SR-IOV from Disabled to Enabled.
Tunables:

r/truenas - PCI Passthrough 300 Series Chipset USB 3.1 xHCI Controller (AMD)
I marked the ones that I added for this project

I checked MSI Support for the Controller:

Code:
xhci0@pci0:2:0:0:       class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1022 device=0x43bb subvendor=0x1b21 subdevice=0x1142
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = '300 Series Chipset USB 3.1 xHCI Controller'
    class      = serial bus
    subclass   = USB
    cap 05[50] = MSI supports 8 messages, 64 bit enabled with 1 message
    cap 01[78] = powerspec 3  supports D0 D3  current D0
    cap 10[80] = PCI-Express 2 legacy endpoint max data 128(512) RO NS
                 max read 512
                 link x4(x4) speed 8.0(8.0) ASPM disabled(L0s/L1)
    ecap 0001[100] = AER 1 0 fatal 0 non-fatal 2 corrected
    ecap 0019[200] = PCIe Sec 1 lane errors 0
    ecap 0018[300] = LTR 1
    ecap 001e[400] = L1 PM Substates 1



I cheked IOMMU:

Code:
# dmesg | grep -i IOMMU
amdiommu0 at device 0.2 on pci0
ivhd0: <AMD-Vi/IOMMU ivhd with EFR> on acpi0


I read, that it don't use DMAR but AMDVi on AMD Systems. And here is my first "problem". When I do an
Code:
acpidump -t | grep DMAR
I obviously get nothing.

But when I do an
Code:
acpidump -t | grep AMDVi
I also don't get any output.

I thought it could be, that I misunderstood something and I only need IOMMU, but I can't pass through the controller. I can still connect a keyboard on it and directly control the TrueNAS and when I want to add a PCI Passthru Device into my VM, I can't see the device.

r/truenas - PCI Passthrough 300 Series Chipset USB 3.1 xHCI Controller (AMD)
No PCI Device



What am I missing there. Did I forget something in the BIOS or do I need to add some tunables?

Am I missing something else?
 

Gh0stShell

Cadet
Joined
Aug 14, 2023
Messages
5
Oh wow.... that was at least one of the problems... I feel so dumb ^^"

Sadly I still got the problem that I AMDVI is not working.

When I run:
acpidump -t | grep DMAR

I don't get anything.
I just found out, that this shouldn't give me an output.
I tried IOMMU, and that worked.
1701203008309.png


But I still get a Validation Error
1701203069225.png




Does anybody know, what I can do about this?
 
Top