Picking PCI-E SATA controller

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Some of the knockoffs will work fine under Windows but not under FreeBSD or Linux.
 
Joined
Feb 20, 2018
Messages
5

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Without buying one and trying it out, it's hard to know. This is a common problem with PC hardware.
 
Joined
Feb 20, 2018
Messages
5
Trial and error. It says linux compatiable and looking closer there is a recent review thats says it does work with truenas, guess its worth a go. Thanks for the advice buddy.
 

Malvin

Cadet
Joined
Apr 23, 2022
Messages
2
Hi folks, I'm a happy user of a small, for home use Truenas Core build in a SFF HP PC. I have 4 disks hooked up to an Axagon pces-sh4 which work perfectly on FreeBSD. For better virtualization options I decided to give Truenas Scale a try. Once the installation is finished none of the disks on the axagon pces-sh4 (marvell 88se9230) are recognized, therefore my pool is offline (I did a migration using the Manual Update File method). Besides buying a new less cr@ppy piece of hardware do you have any hint what to check or how to fix it? Thanks in advance!
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Hi folks, I'm a happy user of a small, for home use Truenas Core build in a SFF HP PC. I have 4 disks hooked up to an Axagon pces-sh4 which work perfectly on FreeBSD. For better virtualization options I decided to give Truenas Scale a try. Once the installation is finished none of the disks on the axagon pces-sh4 (marvell 88se9230) are recognized, therefore my pool is offline (I did a migration using the Manual Update File method). Besides buying a new less cr@ppy piece of hardware do you have any hint what to check or how to fix it? Thanks in advance!

The general problem is discussed in


The problem is that these cards are typically designed for Windows, and it isn't that unusual for even "name-brand" ones to use knockoff silicon acquired in a back alley in Shenzhen that isn't quite compatible. Writing drivers for these things has been problematic in both the FreeBSD and Linux communities for years, and often revolves around whether someone who is both driven and competent ends up having one to hack on.

The 9230 is theoretically (airquotes) "supported" in that a true Marvell 88se9230 is known to work on both FreeBSD and Linux, and has been around long enough that it probably isn't fundamentally broken. It isn't clear what the exact problem on your system is. Does it show up in lspci?
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Next weekend I will try TrueNAS scale on my NAS to see if it works. If I get an opportunity I may try sooner. I am also using ESXi but since I pass-through the controllers, I wouldn't think it will make a difference. The good thing for me, I just need to duplicate my TrueNAS boot drive (VM) and then upgrade it to Scale. If it fails to work, or even if it does work, I'll still roll back to Core as I'm comfortable with it.

how to fix it?
Are you unable to roll back to a previous boot environment? My suggestion is to use TrueNAS Core/FreeNAS version you were previously using so you bring your NAS back online.
 

Malvin

Cadet
Joined
Apr 23, 2022
Messages
2
The general problem is discussed in


The problem is that these cards are typically designed for Windows, and it isn't that unusual for even "name-brand" ones to use knockoff silicon acquired in a back alley in Shenzhen that isn't quite compatible. Writing drivers for these things has been problematic in both the FreeBSD and Linux communities for years, and often revolves around whether someone who is both driven and competent ends up having one to hack on.

The 9230 is theoretically (airquotes) "supported" in that a true Marvell 88se9230 is known to work on both FreeBSD and Linux, and has been around long enough that it probably isn't fundamentally broken. It isn't clear what the exact problem on your system is. Does it show up in lspci?
Thanks for your response. I did read how it is not recommended to uses cheap port multipliers, but just now, not before buying one (now I actually feel lucky that it works under Core...). Please see the (cropped) output for dmesg and lspci:

dmesg

[ 5.770304] ahci 0000:03:00.0: AHCI 0001.0200 32 slots 8 ports 6 Gbps 0xff impl SATA mode

[ 5.779068] ahci 0000:03:00.0: flags: 64bit ncq fbs pio

[ 5.785683] scsi host5: ahci

[ 5.789146] scsi host6: ahci

[ 5.792605] scsi host7: ahci

[ 5.795907] scsi host8: ahci

[ 5.799173] scsi host9: ahci

[ 5.802590] scsi host10: ahci

[ 5.806196] scsi host11: ahci

[ 5.809637] scsi host12: ahci

[ 5.809882] usb 2-3: new low-speed USB device number 2 using xhci_hcd

[ 5.812908] ata6: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10100 irq 38

[ 5.827401] ata7: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10180 irq 38

[ 5.835232] ata8: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10200 irq 38

[ 5.843080] ata9: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10280 irq 38

[ 5.850949] ata10: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10300 irq 38

[ 5.858917] ata11: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10380 irq 38

[ 5.866908] ata12: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10400 irq 38

[ 5.874922] ata13: SATA max UDMA/133 abar m2048@0xf7d10000 port 0xf7d10480 irq 38

[ 5.890654] DMAR: DRHD: handling fault status reg 2

[ 5.895860] DMAR: [DMA Read] Request device [03:00.0] PASID ffffffff fault addr 0 [fault reason 06] PTE Read access is not set



…..

[ 11.241945] ata6: link is slow to respond, please be patient (ready=0)

[ 11.265946] ata8.00: qc timeout (cmd 0xec)

[ 11.270736] ata8.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 11.277519] ata13.00: qc timeout (cmd 0xa1)

[ 11.282391] ata13.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 11.289248] ata9.00: qc timeout (cmd 0xec)

[ 11.294041] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 11.300834] ata7: link is slow to respond, please be patient (ready=0)

[ 11.613181] ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 300)

[ 11.620287] ata13: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

[ 11.627457] ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)

[ 15.893933] ata6: COMRESET failed (errno=-16)

[ 15.925932] ata7: COMRESET failed (errno=-16)


[ 21.249929] ata6: link is slow to respond, please be patient (ready=0)

[ 21.281933] ata7: link is slow to respond, please be patient (ready=0)

[ 21.761870] ata8.00: qc timeout (cmd 0xec)

[ 21.766807] ata8.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 21.773687] ata8: limiting SATA link speed to 3.0 Gbps

[ 21.779608] ata9.00: qc timeout (cmd 0xec)

[ 21.784475] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 21.791324] ata9: limiting SATA link speed to 3.0 Gbps

[ 21.797236] ata13.00: qc timeout (cmd 0xa1)

[ 21.802163] ata13.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 22.121539] ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 320)

[ 22.128416] ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 320)

[ 22.135252] ata13: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

[ 25.945953] ata6: COMRESET failed (errno=-16)

[ 25.951497] ata7: COMRESET failed (errno=-16)

[ 31.301935] ata7: link is slow to respond, please be patient (ready=0)

[ 31.309642] ata6: link is slow to respond, please be patient (ready=0)

[ 53.505953] ata8.00: qc timeout (cmd 0xec)

[ 53.511158] ata8.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 53.518353] ata9.00: qc timeout (cmd 0xec)

[ 53.523533] ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 53.530792] ata13.00: qc timeout (cmd 0xa1)

[ 53.536061] ata13.00: failed to IDENTIFY (I/O error, err_mask=0x4)

[ 53.845292] ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 320)

[ 53.857820] ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 320)

[ 53.865163] ata13: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

[ 60.969940] ata7: COMRESET failed (errno=-16)

[ 60.975374] ata7: limiting SATA link speed to 3.0 Gbps

[ 60.981558] ata6: COMRESET failed (errno=-16)

[ 60.986990] ata6: limiting SATA link speed to 3.0 Gbps

[ 65.981941] ata7: COMRESET failed (errno=-16)

[ 65.987414] ata7: reset failed, giving up

[ 66.049943] ata6: COMRESET failed (errno=-16)

[ 66.055379] ata6: reset failed, giving up



LSPCI:


# lspci

00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)

00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)

00:16.3 Serial controller: Intel Corporation 8 Series/C220 Series Chipset Family KT Controller (rev 04)

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)

00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)

00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)

00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d4)

00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)

00:1f.0 ISA bridge: Intel Corporation Q87 Express LPC Controller (rev 04)

00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)

00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)

01:00.0 Ethernet controller: Aquantia Corp. AQC100 10G Ethernet MAC controller [AQtion] (rev 02)

03:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe 2.0 x2 4-port SATA 6 Gb/s RAID Controller (rev 11)

Thanks for checking it out in advance!
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
If you can identify that a port multiplier is in use, but can also determine which ports are "multiplied/extra" ports, you can avoid using the extra ports, and that often works fine. However, I don't really do Linux hardware so I don't have specific guidance for you here.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Next weekend I will try TrueNAS scale on my NAS to see if it works. If I get an opportunity I may try sooner. I am also using ESXi but since I pass-through the controllers, I wouldn't think it will make a difference.
I loaded up Scale and it works flawlessly, well with respect to the PCI pass-through on ESXi and Debian OS. I know that doesn't help you out, sorry about that. I do realize I'm not using a port multiplier but for myself, I still have concerns about hardware obsolescence.

Good Luck.
 
Top