SATA Errors - resetting link, down speed, failed commands

Hello! I recently acquired a Honeycomb LX2 and got it working fine with Fedora 38. I am currently attempting to hookup 4x SATA SSD to it and create a RAID10; however, as soon as I create the RAID I get many ATA errors and the system locks up. I know the disks are good with less than 5000 hours each and I swapped out the SATA cables for new in box cables, same for the power supply cables to the drives. I happens on all four ports in any configuration:

[ 14.843641] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 14.850576] ata2.00: supports DRM functions and may not be fully accessible
[ 14.858446] ata2.00: supports DRM functions and may not be fully accessible
[ 14.866155] ata2.00: configured for UDMA/133
[ 14.870456] ata2: EH complete
[ 15.283640] ata2.00: exception Emask 0x12 SAct 0x6000 SErr 0x2380400 action 0x6 frozen
[ 15.291553] ata2.00: irq_stat 0x08000010, unknown FIS c2d20039 1f26b322 a508436c 3452d354, interface
[ 15.300686] ata2: SError: { Proto 10B8B Dispar BadCRC UnrecFIS }
[ 15.306691] ata2.00: failed command: WRITE FPDMA QUEUED
[ 15.311904] ata2.00: cmd 61/80:68:80:58:61/05:00:01:00:00/40 tag 13 ncq dma 720896 out
[ 15.311904] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x12 (ATA bus error)
[ 15.327805] ata2.00: status: { DRDY }
[ 15.331457] ata2.00: failed command: WRITE FPDMA QUEUED
[ 15.336676] ata2.00: cmd 61/00:70:00:5e:61/05:00:01:00:00/40 tag 14 ncq dma 655360 out
[ 15.336676] res 40/00:00:01:4f:c2/00:00:00:00:00/00 Emask 0x12 (ATA bus error)
[ 15.352577] ata2.00: status: { DRDY }
[ 15.356239] ata2: hard resetting link

[ 16.093624] ata2: limiting SATA link speed to 3.0 Gbps
[ 16.098759] ata2.00: exception Emask 0x12 SAct 0x2c0 SErr 0x2380400 action 0x6 frozen
[ 16.106590] ata2.00: irq_stat 0x08000010, unknown FIS 00000039 1f26b322 a508436c 3452d354, interface
[ 16.115722] ata2: SError: { Proto 10B8B Dispar BadCRC UnrecFIS }
[ 16.195694] ata2: hard resetting link
[ 16.693611] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 320)

[ 82.563612] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 82.569830] sd 2:0:0:0: [sdc] tag#7 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK cmd_age=0s
[ 82.579489] sd 2:0:0:0: [sdc] tag#7 CDB: Write(10) 2a 00 01 77 13 00 00 00 08 00
[ 82.586879] I/O error, dev sdc, sector 24580864 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 2

[119.563610] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
… ad nauseam

We have found that the SATA controller on the lx2160a has issues with some SSDs firmware. Generally I have found cables that are 40-50CM’s are the most reliable. Additionally you can try the kernel commandline option libata.force=noncq. Otherwise forcing the controller to SATA2 mode as the default will generally git rid of the errors.

Yes! That kernel option worked perfectly - found it last night and that seems to have solved most of the issues. Thanks a bunch!