Hi guys,
I think i found a solution for the VT-D problem. If you add the boot option pci=nommconf to grub you can boot every OS including TrueNAS Scale.
I tried with TrueNAS, Ubuntu, Debian and Proxmox.
I was not sure if it is stable so I tested it for about 3 weeks now and i can report that so far everything works perfect.
I am now running proxmox with a TrueNAS vm on top. The NVMe’s are handed over to TrueNAS via PCIe passthrough (VT-D, iommu) so truenas has access to the whole disks and not just virtual disks. So also SMART checks are possible.
By the way this solution is not limitted to 4x m.2 nvme’s, I run it fully populated with 8.
This really opened the device for me to use it as a homeserver/nas as i planned for. I was even able to passthrough the GPU to Jellyfin, immich and nextcloud for transcoding and basic AI workloads.
It took me a long time to find the issue and solve it and I hope it helps some of you!
I have an F8 SSD and follow this helpful thread and got TrueNAS Scale installed. But then drives started to overheat and I could not figure out fan control. Has anyone solved this on the F8? If so, could you share the steps? Thanks.
I have proxmox 8.3 installed and with the pci=nommconf option it crashes the whole system, and without it it gives me an error when trying to start the TrueNAS VM
Could you please add more info on which VM config you have on Proxmox, version of truenas you are using, installation of Proxmox (ZFS, Ext4, etc) Thanks!
Thanks! I do have IOMMU enabled, but do you have any other options related to IOMMU in BIOS or Grub? I’ve checked the groups, and they are in different numbers; this is very strange.
root@terraprox:~# dmesg | grep -e DMAR -e IOMMU
[ 0.009596] ACPI: DMAR 0x0000000072259000 000088 (v02 INTEL EDK2 00000002 01000013)
[ 0.009632] ACPI: Reserving DMAR table memory at [mem 0x72259000-0x72259087]
[ 0.097112] DMAR: Host address width 39
[ 0.097114] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.097125] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
[ 0.097129] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.097134] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
[ 0.097138] DMAR: RMRR base: 0x0000007c000000 end: 0x000000803fffff
[ 0.097143] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.097146] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.097148] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.098236] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.306045] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
[ 0.372522] DMAR: No ATSR found
[ 0.372523] DMAR: No SATC found
[ 0.372525] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.372526] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.372528] DMAR: IOMMU feature nwfs inconsistent
[ 0.372530] DMAR: IOMMU feature dit inconsistent
[ 0.372531] DMAR: IOMMU feature sc_support inconsistent
[ 0.372533] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.372535] DMAR: dmar0: Using Queued invalidation
[ 0.372540] DMAR: dmar1: Using Queued invalidation
[ 0.374826] DMAR: Intel(R) Virtualization Technology for Directed I/O
And the IOMMU
root@terraprox:~# dmesg | grep 'remapping'
[ 0.097148] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.098236] DMAR-IR: Enabled IRQ remapping in x2apic mode
I will try to find out how to perform a bios upgrade myself. Maybe at some point the PCI boot option is not even necessary any more if they fix the ACPI tables or whatever is causing these issues. But I am not sure where to get it from.
To resolve the issue, I disconnected the PWM pin from the fan connectors, resulting in the fans operating at their maximum speed (~ 2500 RPM) continuously.
The pin can be removed by pulling on the cable, while pushing down the pin’s latch on the side of the connector.
After removing the pin, just isolate it, so it won’t short-circuit anything by accident.
The process is easily reversible by just putting the pin back in.
Should look something like that:
https:://ibb.co/5WwVtg7T
(remove one of the “:”)
(cannot post links or images )
For the project I want to use this in, I want to sacrifice some RAM performance to improve data integrity. IBECC is something that’s built into this SoC, but TerraMaster have decided to not allow it to be turned on for some reason.