Unraid@Proxmox@F6-424 Max - Part 1

BarbaGrump

Member
Apr 18, 2023
10
0
6
This is a thread to share experience and information regarding my latest project: virtulize Unraid(maybe 7.0) on PVE on a brand new Terramaster F6-424 Max(Max from here on) that will replace my main pve-node. I will update the post as I go. My hope is that this can help others in the future.

Background
Im running a two-node cluster with a qdevice. I virtulize everything because of the flexibility it gives me to test new and different OSs and applications with ease. On the cluster I run Pfsense FW, Fileservers, media-apps(*arrs, plex etc), prod-apps(nextcloud, vaultwarden etc), utils(unifi, pihole etc.) in a total of ~10 VMs and ~10 lxcs. A couple of the vms serves as dockerhosts and runs docker containers, all of which is administrated through a single Portainer instance.

Normally I run everything on my main node(pve1), and using the secondary node(pve2) as a replication and backup target for pve1. The only time I run services on pve2(except for Proxmox Backup Server which always runs here), is when I need to take down pve1 for some reason. Then I Migrate all services from pve1 to pve2.

Todays Hardware
PVE1: DIY-rig.
MB: Gigabyte B760I AORUS Pro DDR4​
CPU: Intel 14500T​
RAM: 64GB ram​
Chassi: Fractal node 804​
Disks:​
2xWD RED 2TB NVME - Part1-Proxmox ZFS Mirror, Part2-VM/CT. ZFS Mirror on Luks​
3xSamsung QVO 8TB SSD - Media and other "WORM" content. ZFS RAIDZ1 on Luks​
PVE2: Terramaster F4-424 Pro
CPU: Intel N305​
Ram: 32GB​
Disks:​
1xWD RED 2TB NVME - Part1-Proxmox ZFS, Part2-VM/CT replication. ZFS on Luks​
1xSamsung 2TB EVO SSD - Backup target. ZFS on Luks​
1xSeagate IronWolf 12TB - Backup target. ZFS on Luks​

Why on earth do you do ZFS on Luks??? Fair question...
But the answer is quite simple: Proxmox does not (yet?) support replicating vm/ct on zfs-encrypted filesets, so to be able to keep all (more or less) important data encrypted all the time, Luks is a simple way to go, and works really well. I have automated the boot-time unlocking so Its impossible to unlock unless servers are on my network.

Drawbacks with this setup is:
pve1 power consumption ~40W
pve1 only supports 4 SATA, unless I put in another HBA with higher power consumption.
I did try the F4-424 Pro as main node, but it was not really up to par when it comes to passthrough sata-controller...
Here we have lspci:
root@pve2:~# lspci
00:00.0 Host bridge: Intel Corporation Device 4617
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:17.0 SATA controller: Intel Corporation Alder Lake-N SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Device 54ba
00:1c.3 PCI bridge: Intel Corporation Device 54bb
00:1c.6 PCI bridge: Intel Corporation Device 54be
00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1d.1 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1f.0 ISA bridge: Intel Corporation Alder Lake-N PCH eSPI Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)
04:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN750 / PC SN730 NVMe SSD

As we see, the integrated Intel SATA Controller is 00:17.0, and then we have the ASM1062 on 03:00.0
We do a ls -al /sys/class/ata_port/ata* and gets
/sys/class/ata_port/ata1 -> ../../devices/pci0000:00/0000:00:17.0/ata1/ata_port/ata1
/sys/class/ata_port/ata2 -> ../../devices/pci0000:00/0000:00:17.0/ata2/ata_port/ata2
/sys/class/ata_port/ata3 -> ../../devices/pci0000:00/0000:00:1c.6/0000:03:00.0/ata3/ata_port/ata3
/sys/class/ata_port/ata4 -> ../../devices/pci0000:00/0000:00:1c.6/0000:03:00.0/ata4/ata_port/ata4

Here we see that the two first SATA-ports connects to Intel-SATA, which cant be passthroughed(is that a word?), and SATA port 3,4 is connected to the ASM1062, which CAN be passed trough to VM. So only 2 of 4 SATAs. The two first can be used with disk-passthrough, although Unraid really wants full control over disks to work as intended.

Allright...what about the brand new Max(that is so brand new, It has not been delivered by the time I write this)?
With the help of @Piece on Unraid.net We got this:
00:00.0 Host bridge: Intel Corporation Alder Lake-U15 Host and DRAM Controller (rev 04)
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics] (rev 0c)
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 04)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 04)
00:06.2 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #2 (rev 04)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.1 USB controller: Intel Corporation Device 51ee (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation Device 51bc (rev 01)
00:1c.6 PCI bridge: Intel Corporation Device 51be (rev 01)
00:1d.0 PCI bridge: Intel Corporation Device 51b2 (rev 01)
00:1e.0 Communication controller: Intel Corporation Alder Lake PCH UART #0 (rev 01)
00:1e.3 Serial bus controller: Intel Corporation Alder Lake SPI Controller (rev 01)
00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
01:00.0 Non-Volatile memory controller: Sandisk Corp SanDisk Extreme Pro / WD Black SN750 / PC SN730 / Red SN700 NVMe SSD
02:00.0 Non-Volatile memory controller: Sandisk Corp SanDisk Extreme Pro / WD Black SN750 / PC SN730 / Red SN700 NVMe SSD
03:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
04:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
05:00.0 SATA controller: ASMedia Technology Inc. ASM1166 Serial ATA Controller (rev 02)

And:
/sys/class/ata_port/ata1 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata1/ata_port/ata1/
/sys/class/ata_port/ata10 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata10/ata_port/ata10/
/sys/class/ata_port/ata11 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata11/ata_port/ata11/
/sys/class/ata_port/ata12 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata12/ata_port/ata12/
/sys/class/ata_port/ata13 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata13/ata_port/ata13/
/sys/class/ata_port/ata14 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata14/ata_port/ata14/
/sys/class/ata_port/ata15 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata15/ata_port/ata15/
/sys/class/ata_port/ata16 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata16/ata_port/ata16/
/sys/class/ata_port/ata17 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata17/ata_port/ata17/
/sys/class/ata_port/ata18 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata18/ata_port/ata18/
/sys/class/ata_port/ata19 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata19/ata_port/ata19/
/sys/class/ata_port/ata2 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata2/ata_port/ata2/
/sys/class/ata_port/ata20 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata20/ata_port/ata20/
/sys/class/ata_port/ata21 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata21/ata_port/ata21/
/sys/class/ata_port/ata22 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata22/ata_port/ata22/
/sys/class/ata_port/ata23 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata23/ata_port/ata23/
/sys/class/ata_port/ata24 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata24/ata_port/ata24/
/sys/class/ata_port/ata25 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata25/ata_port/ata25/
/sys/class/ata_port/ata26 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata26/ata_port/ata26/
/sys/class/ata_port/ata27 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata27/ata_port/ata27/
/sys/class/ata_port/ata28 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata28/ata_port/ata28/
/sys/class/ata_port/ata29 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata29/ata_port/ata29/
/sys/class/ata_port/ata3 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata3/ata_port/ata3/
/sys/class/ata_port/ata30 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata30/ata_port/ata30/
/sys/class/ata_port/ata31 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata31/ata_port/ata31/
/sys/class/ata_port/ata32 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata32/ata_port/ata32/
/sys/class/ata_port/ata4 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata4/ata_port/ata4/
/sys/class/ata_port/ata5 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata5/ata_port/ata5/
/sys/class/ata_port/ata6 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata6/ata_port/ata6/
/sys/class/ata_port/ata7 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata7/ata_port/ata7/
/sys/class/ata_port/ata8 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata8/ata_port/ata8/
/sys/class/ata_port/ata9 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata9/ata_port/ata9/

Joy! Here we see that all SATA-ports are connected to the ASM1166, and that means that we can give Unraid(or any other VM) full control over all 6 SATA slots in the TM. In theory...we will see for real in a couple of days.
I guess the reason we see 32 SATA-ports here, is because the ASM1166 supports Port-multiplying. Exactly how that works I leave to someone else to explain.

Setting up the new Hardware
Opened the Max, and replaced the USB-drive containing TOS with my Unraid USB drive. I also moved my drives from my DIY-rig to the Max.

The Max comes with reasonable BIOS-settings, just press "del"-key at boot to enter BIOS. This is the changes I have done(as far as I can remember...
  • Disabled:
    • Nic 1
    • HD Audio
    • Thunderbolt
    • Wifi/BT(although no module's present)
    • Boot TOS first
  • Enabled:
    • ASPM generally
    • Enabled ASPM on the two NVME-PCIe slots(also disabled AER on those because otherwise my WD Reds floods syslog with "Corrected errors"
    • Enabled ASPM on three "chipset"-PCIe-Lanes
  • Settings for the Max to start after power is connected
  • Set correct boot order

First Boot:
You really got to love Proxmox! I simply moved all disks, modified boot-order in BIOS, and everything works as before without any issues! The only thing that you might have to do is edit /etc/network/interfaces and change i/f. In my case I didn't have to.

When Idling the Max draws 12-13W after issuing
echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powertop --auto-tune

Edit: After a few weeks after writing the above, I have a really strange problem...After a reboot none, or sometimes a few, of my 5 SSDs shows up, and only a a complete Shutdown makes the disks usable again. I have tested with a HDD, and that one always works. I have tried to change everythinig in BIOS, but to no avail.


Next Step: Follow link below.
Part 2: Get Unraid up and running
 
Last edited:
Thanks a lot for your post, it helped me to configure the passthrough on my F4-424 Max.

I want to share the output of F4-424, it might help somebody:

lspci
00:00.0 Host bridge: Intel Corporation Alder Lake-U15 Host and DRAM Controller (rev 04)
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-UP3 GT2 [UHD Graphics] (rev 0c)
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 04)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 04)
00:06.2 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #2 (rev 04)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:17.0 SATA controller: Intel Corporation Alder Lake-P SATA AHCI Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation Device 51bc (rev 01)
00:1c.6 PCI bridge: Intel Corporation Device 51be (rev 01)
00:1d.0 PCI bridge: Intel Corporation Device 51b2 (rev 01)
00:1e.0 Communication controller: Intel Corporation Alder Lake PCH UART #0 (rev 01)
00:1e.3 Serial bus controller: Intel Corporation Alder Lake SPI Controller (rev 01)
00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
03:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
04:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

and

ls -al /sys/class/ata_port/ata*
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata1 -> ../../devices/pci0000:00/0000:00:17.0/ata1/ata_port/ata1
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata2 -> ../../devices/pci0000:00/0000:00:17.0/ata2/ata_port/ata2
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata3 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata3/ata_port/ata3
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata4 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata4/ata_port/ata4


It was possible to passthrough both SATA controller,
00:17.0 SATA controller: Intel Corporation Alder Lake-P SATA AHCI Controller (rev 01)[/CODE]
and
[CODE]05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

all 4 HDDs are shown in TrueNAS.
 
Last edited:
Thanks a lot for your post, it helped me to configure the passthrough on my F4-424 Max.

I want to share the output of F4-424, it might help somebody:

lspci
00:00.0 Host bridge: Intel Corporation Alder Lake-U15 Host and DRAM Controller (rev 04)
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-UP3 GT2 [UHD Graphics] (rev 0c)
00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 04)
00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 04)
00:06.2 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #2 (rev 04)
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
00:17.0 SATA controller: Intel Corporation Alder Lake-P SATA AHCI Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation Device 51bc (rev 01)
00:1c.6 PCI bridge: Intel Corporation Device 51be (rev 01)
00:1d.0 PCI bridge: Intel Corporation Device 51b2 (rev 01)
00:1e.0 Communication controller: Intel Corporation Alder Lake PCH UART #0 (rev 01)
00:1e.3 Serial bus controller: Intel Corporation Alder Lake SPI Controller (rev 01)
00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
03:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
04:00.0 Ethernet controller: Aquantia Corp. AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig] (rev 03)
05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

and

ls -al /sys/class/ata_port/ata*
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata1 -> ../../devices/pci0000:00/0000:00:17.0/ata1/ata_port/ata1
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata2 -> ../../devices/pci0000:00/0000:00:17.0/ata2/ata_port/ata2
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata3 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata3/ata_port/ata3
lrwxrwxrwx 1 root root 0 Nov 24 08:47 /sys/class/ata_port/ata4 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/ata4/ata_port/ata4


It was possible to passthrough both SATA controller,
00:17.0 SATA controller: Intel Corporation Alder Lake-P SATA AHCI Controller (rev 01)[/CODE]
and
[CODE]05:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

all 4 HDDs are shown in TrueNAS.
No SSDs that disappears after reboot?
Interesting1: you have sata channels(1&2) connected to the Intel sata whereas I do not(see my above) Yours ls -al /sys/class/ata…… looks more like the F4-424 Pro. Also your lcpci sous not say “iris xe” on the vga…you sure it’s a MAX?

Interesting2: that Intel SATA could be forwarded…I tried that on a F4-424 Pro, but that didn’t work.(Some error on “No mechanism for resetting “ or something like that.
 
No SSDs that disappears after reboot?
So far all NVME SSDs are working. I installed ProxmoxVE on the first and TrueNAS VM on the second SSD.
Interesting1: you have sata channels(1&2) connected to the Intel sata whereas I do not(see my above) Yours ls -al /sys/class/ata…… looks more like the F4-424 Pro. Also your lcpci sous not say “iris xe” on the vga…you sure it’s a MAX?
A good question, that's what I ordered and what the little sticker on the front says. How do I check if it's a F4-424 Max? I think the easiest way would be to check the CPU, the CPUs are different on Max and Pro
Interesting2: that Intel SATA could be forwarded…I tried that on a F4-424 Pro, but that didn’t work.(Some error on “No mechanism for resetting “ or something like that.
The passthrough worked without any issues, all 4 HDDs appear in my TrueNAS VM.
 
On my F4-424 Max I checked the things which are different to the F4-424 Pro:
  • The Pro has 1 slot for RAM, the Max has 2 slots -> checked
  • The Pro has 2 USB-A ports on the back, the Max has 2 USB-A & 1 USB-C -> checked
  • The Pro has 2 x 2G5 LAN ports, the Max has 2 x 10G LAN ports -> checked
Code:
ethtool enp3s0
Settings for enp3s0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Full
                                100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                2500baseT/Full
                                5000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Full
                                100baseT/Full
                                1000baseT/Full
                                10000baseT/Full
                                2500baseT/Full
                                5000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: No
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x00000005 (5)
                               drv link
        Link detected: yes

  • The cpu type is
Code:
lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          39 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   12
  On-line CPU(s) list:    0-11
Vendor ID:                GenuineIntel
  BIOS Vendor ID:         Intel(R) Corporation
  Model name:             12th Gen Intel(R) Core(TM) i5-1235U
    BIOS Model name:      12th Gen Intel(R) Core(TM) i5-1235U To Be Filled By O.E.M. CPU @ 3.9GHz
    BIOS CPU family:      205
    CPU family:           6
    Model:                154
    Thread(s) per core:   2
    Core(s) per socket:   10
    Socket(s):            1
    Stepping:             4
    CPU(s) scaling MHz:   33%
    CPU max MHz:          4400.0000
    CPU min MHz:          400.0000
    BogoMIPS:             4992.00
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc
                           art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma
                           cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stib
                          p ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsav
                          eopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospk
                          e waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities
Virtualization features: 
  Virtualization:         VT-x
Caches (sum of all):     
  L1d:                    352 KiB (10 instances)
  L1i:                    576 KiB (10 instances)
  L2:                     6.5 MiB (4 instances)
  L3:                     12 MiB (1 instance)
NUMA:                     
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-11
Vulnerabilities:         
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Vulnerable: No microcode
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
  Srbds:                  Not affected
  Tsx async abort:        Not affected

It's a F4-424 Max, that's confirmed.
 
The CPU gives it away :-)
But check the sata chip...its different. Mine's an ASM1166 and your's an ASM1062, so theres obvious different hardware configurations here.
 
Thanks for the interesting thread.

Maybe it is time to create a tabel and list all the various SATA configurations of the TerraMaster NAS devices.
And probably also list the current status whether PCIe passthrough of the any of the SATA controllers is possible or not.

Table:
Note: Bays count is from left to right
TerraMaster ModelSATA controller(s)SATA configSATA controller passthrough works?
F4-424 (4 bay, N95)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
Intel SATA -> yes
ASM1062 -> no (bus reset issue, tested on Proxmox 8.3.0, guest: OMV7[debian12])
@nanoprobe
F4-424 Pro ( 4 bay, i3)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
?
F4-424 Max (4 bay, i5)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
Intel SATA > yes
ASM1062 -> yes
@Pete5
F6-424 Max (6 bay, i5)ASM1166Bays 1-6 -> ASM1066ASM1166 -> yes (@BarbaGrump )
 
BTW: I own a F4-424. Passthrough of Intel SATA is possible. The ASM1062 passthorugh does not work.
Basically, I have the same problem as this guy: https://tanezky.github.io/posts/pro...ing-sata-controllers/#troubleshooting-asm1061


Code:
root@pve:~# lspci
00:00.0 Host bridge: Intel Corporation Device 4618
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:17.0 SATA controller: Intel Corporation Alder Lake-N SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Device 54ba
00:1c.3 PCI bridge: Intel Corporation Device 54bb
00:1c.6 PCI bridge: Intel Corporation Device 54be
00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1d.1 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1f.0 ISA bridge: Intel Corporation Device 5482
00:1f.3 Audio device: Intel Corporation Alder Lake-N PCH High Definition Audio Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)
04:00.0 Non-Volatile memory controller: Micron/Crucial Technology P2 NVMe PCIe SSD (rev 01)
The issue is always "not ready xxxxms after bus reset".

1733308461004.png

I did not change anything related to PCIe in the BIOS setup.

@Pete5
Did you change something on your BIOS setup to get both - Intel SATA and ASM1062 - working?
What Guest-OS did you try? May I assume it is UnRaid?

My BIOS:
1733305799034.png

Unfortunately, there is not a single option to configure PCIe behaviour in any way.
 
Last edited:
Thanks for the interesting thread.

Maybe it is time to create a tabel and list all the various SATA configurations of the TerraMaster NAS devices.
And probably also list the current status whether PCIe passthrough of the any of the SATA controllers is possible or not.

Table:
Note: Bays count is from left to right
TerraMaster ModelSATA controller(s)SATA configSATA controller passthrough works?
F4-424 (4 bay, N95)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
Intel SATA -> yes
ASM1062 -> no (bus reset issue, tested on Proxmox 8.3.0, guest: OMV7[debian12])
@nanoprobe
F4-424 Pro ( 4 bay, i3)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
?
F4-424 Max (4 bay, i5)Intel SATA, ASM1062Bays 1&2 -> Intel SATA
Bays 3&4 -> ASM1062
Intel SATA > yes
ASM1062 -> yes
@Pete5
F6-424 Max (6 bay, i5)ASM1166Bays 1-6 -> ASM1066ASM1166 -> yes (@BarbaGrump )
Good initiative! But the passthrough of the F6-424 Max/ASM1166 is still under investigation and is still as of now suffering from the weird issues of dropping SATA-drives seemingly randomly after reboot of VM(eg. the drives is no longer detected by VM). Now I have tried to factory default the BIOS, and are trying to get it work, and I'm hopefull. I'll report back asap.
 
Last edited:
I did not change anything related to PCIe in the BIOS setup.

@Pete5
Did you change something on your BIOS setup to get both - Intel SATA and ASM1062 - working?
This is really interesting, and got me thinking. And testing.

When I restored factory default settings in BIOS and installing a fresh PVE 8.3.1, passthrough of the F6-424 Max/ASM1166 to a Debian 12 VM works as expected, allthough boot time of the VM is considerable longer than without passthrough. The box Idles around 17W, instead of ~10W with previous settings, so I'm gonna try to find out which setting(s) breaks passthrough.

Edit: Boot time of the debian VM(i440FX) is ~90s after a reboot of the F6-424 Max, ~55s after that.
I have a echo "options vfio-pci ids=1b21:1166" > /etc/modprobe.d/vfio.conf
and echo "blacklist ahci" >> /etc/modprobe.d/pve-blacklist.conf
Boot time without passthrough is ~12s.


See post below instead of this text
 
Last edited:
It works perfectly to passthrough ASM1166 to Unraid or any other host. I have enabled all ASPM-stuff in BIOS.
The culprit is "powertop --auto-tune" settings. Again. See my post about this here.

If you really wants to run this(on the F6-424 Max however, it does not really make a difference in power consumption) you have two alternatives:
1. Isolate the ASM1166 on the host.
echo "options vfio-pci ids=1b21:1166" > /etc/modprobe.d/isolate-sata.conf
echo "blacklist ahci" >> /etc/modprobe.d/pve-blacklist.conf
update-initramfs -u

2. Skip the isolation steps, and run all commands produced by "powertop --auto-tune" instead, but excluding the ASM1166 part
Below is the commands --auto-tune would have runned on my system(with 1 nic disabled)
You can create a list for your own system with "powertop -C powertop.csv && cat powertop.csv"
echo '0' > '/proc/sys/kernel/nmi_watchdog'
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs'
echo 'auto' > '/sys/bus/usb/devices/1-3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:14.2/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control'
echo 'auto' > '/sys/block/sda/device/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:02:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:04.0/power/control' < This is the ASM1166
echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.5/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control'

Run all commands above EXCEPT:
echo 'auto' > '/sys/bus/pci/devices/0000:00:04.0/power/control'
 
Last edited:
BTW: I own a F4-424. Passthrough of Intel SATA is possible. The ASM1062 passthorugh does not work.
Basically, I have the same problem as this guy: https://tanezky.github.io/posts/pro...ing-sata-controllers/#troubleshooting-asm1061


Code:
root@pve:~# lspci
00:00.0 Host bridge: Intel Corporation Device 4618
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
00:14.0 USB controller: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller
00:14.2 RAM memory: Intel Corporation Alder Lake-N PCH Shared SRAM
00:16.0 Communication controller: Intel Corporation Alder Lake-N PCH HECI Controller
00:17.0 SATA controller: Intel Corporation Alder Lake-N SATA AHCI Controller
00:1c.0 PCI bridge: Intel Corporation Device 54ba
00:1c.3 PCI bridge: Intel Corporation Device 54bb
00:1c.6 PCI bridge: Intel Corporation Device 54be
00:1d.0 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1d.1 PCI bridge: Intel Corporation Alder Lake-N PCI Express Root Port
00:1f.0 ISA bridge: Intel Corporation Device 5482
00:1f.3 Audio device: Intel Corporation Alder Lake-N PCH High Definition Audio Controller
00:1f.4 SMBus: Intel Corporation Alder Lake-N SMBus
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-N SPI (flash) Controller
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)
04:00.0 Non-Volatile memory controller: Micron/Crucial Technology P2 NVMe PCIe SSD (rev 01)
The issue is always "not ready xxxxms after bus reset".

View attachment 78632

I did not change anything related to PCIe in the BIOS setup.

@Pete5
Did you change something on your BIOS setup to get both - Intel SATA and ASM1062 - working?
What Guest-OS did you try? May I assume it is UnRaid?

My BIOS:
View attachment 78628

Unfortunately, there is not a single option to configure PCIe behaviour in any way.
Any solution here @nanoprobe ?
 
Last edited:
It works perfectly to passthrough ASM1166 to Unraid or any other host. I have enabled all ASPM-stuff in BIOS.
The culprit is "powertop --auto-tune" settings. Again. See my post about this here.

If you really wants to run this(on the F6-424 Max however, it does not really make a difference in power consumption) you have two alternatives:
1. Isolate the ASM1166 on the host.
echo "options vfio-pci ids=1b21:1166" > /etc/modprobe.d/isolate-sata.conf
echo "blacklist ahci" >> /etc/modprobe.d/pve-blacklist.conf
update-initramfs -u

2. Skip the isolation steps, and run all commands produced by "powertop --auto-tune" instead, but excluding the ASM1166 part
Below is the commands --auto-tune would have runned on my system(with 1 nic disabled)
You can create a list for your own system with "powertop -C powertop.csv && cat powertop.csv"
echo '0' > '/proc/sys/kernel/nmi_watchdog'
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs'
echo 'auto' > '/sys/bus/usb/devices/1-3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:14.2/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control'
echo 'auto' > '/sys/block/sda/device/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:02:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:04.0/power/control' < This is the ASM1166
echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.5/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control'

Run all commands above EXCEPT:
echo 'auto' > '/sys/bus/pci/devices/0000:00:04.0/power/control'
@BarbaGrump do you thinks this fix the same issue with ASM1062 on F4-424 using TrueNAS with Proxmox?
 
Last edited:
hello

I also bought a Terramaster F4-424 PRO and run it with proxmox.
Passingthrough the ASM1062 SATA controller also fails with the same kernel error message as above:
"not ready xxxxms after bus reset".

I'm trying to figure out whether it's a hardware or firmware-related problem, so I’d really appreciate if others could help by sharing the firmware version of their SATA controller – if you're not having this issues.

Can anyone of you who has managed to pass through the ASM1062 please read out the firmware version of the controller.

How to Check the Firmware Version
  1. Find your SATA controller’s PCI ID:
    lspci | grep ASMedia
    03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

  2. Locate the full path to the PCI device in /sys
    (You may need to adjust the path depending on your output. Here’s an example path:
    /sys/devices/pci0000:00/0000:00:1c.6/0000:03:00.0/rom)

  3. Enable access to the option ROM:
    echo 1 > /sys/devices/pci0000:00/0000:00:1c.6/0000:03:00.0/rom
  4. Dump the firmware ROM and look for the version:

    cat /sys/devices/pci0000:00/0000:00:1c.6/0000:03:00.0/rom | hexdump -n 512 -C
    Code:
    [ICODE]00000000  55 aa 4a e9 41 05 00 00  00 00 00 00 00 00 00 00  |U.J.A...........|[/ICODE]
    [ICODE]00000010  00 00 00 00 00 00 00 00  40 00 20 00 00 00 00 00  |........@. .....|[/ICODE]
    [ICODE]00000020  24 50 6e 50 01 02 1c 01  00 00 00 00 00 00 ad 00  |$PnP............|[/ICODE]
    [ICODE]00000030  c8 00 01 04 00 e4 14 04  54 04 f0 04 00 00 00 00  |........T.......|[/ICODE]
    [ICODE]00000040  50 43 49 52 21 1b 12 06  1c 00 1c 00 03 00 04 01  |PCIR!...........|[/ICODE]
    [ICODE]00000050  4a 00 20 04 00 80 41 00  00 00 00 00 11 06 12 06  |J. ...A.........|[/ICODE]
    [ICODE]00000060  01 06 02 06 14 06 15 06  00 00 00 00 00 00 00 00  |................|[/ICODE]
    [ICODE]00000070  43 6f 70 79 72 69 67 68  74 20 28 43 29 20 41 73  |Copyright (C) As|[/ICODE]
    [ICODE]00000080  6d 65 64 69 61 20 54 65  63 68 6e 6f 6c 6f 67 69  |media Technologi|[/ICODE]
    [ICODE]00000090  65 73 2c 20 49 6e 63 2e  20 41 6c 6c 20 52 69 67  |es, Inc. All Rig|[/ICODE]
    [ICODE]000000a0  68 74 20 72 65 73 65 72  76 65 64 2e 00 41 73 6d  |ht reserved..Asm|[/ICODE]
    [ICODE]000000b0  65 64 69 61 20 54 65 63  68 6e 6f 6c 6f 67 69 65  |edia Technologie|[/ICODE]
    [ICODE]000000c0  73 2c 20 49 6e 63 2e 00  41 73 6d 65 64 69 61 20  |s, Inc..Asmedia |[/ICODE]
    [ICODE]000000d0  31 30 36 58 20 53 41 54  41 2f 50 41 54 41 20 43  |106X SATA/PATA C|[/ICODE]
    [ICODE]000000e0  6f 6e 74 72 6f 6c 6c 65  72 20 56 65 72 20 34 2e  |ontroller Ver 4.|[/ICODE]
    [ICODE]000000f0  32 30 00 41 73 6d 65 64  69 61 20 31 30 36 58 20  |20.Asmedia 106X |[/ICODE]
    [ICODE]00000100  53 41 54 41 20 43 6f 6e  74 72 6f 6c 6c 65 72 20  |SATA Controller |[/ICODE]
    [ICODE]00000110  56 65 72 20 34 2e 32 30  00 89 c0 fc 24 50 6e 50  |Ver 4.20....$PnP|[/ICODE]
    [ICODE]00000120  01 02 3c 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |..<.............|[/ICODE]
    [ICODE]00000130  00 e4 7c 03 54 04 58 04  00 00 00 00 24 50 6e 50  |..|.T.X.....$PnP|[/ICODE]
    [ICODE]00000140  01 02 5c 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |..\.............|[/ICODE]
    [ICODE]00000150  00 e4 84 03 54 04 60 04  00 00 00 00 24 50 6e 50  |....T.`.....$PnP|[/ICODE]
    [ICODE]00000160  01 02 7c 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |..|.............|[/ICODE]
    [ICODE]00000170  00 e4 8c 03 54 04 68 04  00 00 00 00 24 50 6e 50  |....T.h.....$PnP|[/ICODE]
    [ICODE]00000180  01 02 9c 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |................|[/ICODE]
    [ICODE]00000190  00 e4 94 03 54 04 70 04  00 00 00 00 24 50 6e 50  |....T.p.....$PnP|[/ICODE]
    [ICODE]000001a0  01 02 bc 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |................|[/ICODE]
    [ICODE]000001b0  00 e4 9c 03 54 04 78 04  00 00 00 00 24 50 6e 50  |....T.x.....$PnP|[/ICODE]
    [ICODE]000001c0  01 02 dc 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |................|[/ICODE]
    [ICODE]000001d0  00 e4 a4 03 54 04 80 04  00 00 00 00 24 50 6e 50  |....T.......$PnP|[/ICODE]
    [ICODE]000001e0  01 02 fc 01 00 00 00 00  00 00 ad 00 c8 00 01 04  |................|[/ICODE]
    [ICODE]000001f0  00 e4 ac 03 54 04 88 04  00 00 00 00 24 50 6e 50  |....T.......$PnP|[/ICODE]
  5. Look in the output for a string like:
    Asmedia 106X SATA Controller Ver 4.20
This would help me in comparing known working versions to narrow down what’s going on.


Thanks in advance!