I recently added a cheap ASM1062 2-port SATA card to my Linux box at home, since it's Asus C8HM70-I board only has two SATA ports, and I wanted to use an additional small SSD as boot device.
With my disks hooked up to the new card, I started to get SATA errors when there was moderate write load:
I'm not yet ready to blame the card itself, since I remembered I recycled a pair of rather old SATA cables to connect the drives, and the card supports SATA 6G... The mainboard itself has just one SATA 6G connector, and with that I used different cables that clip into the port, but the clip mechanic doesn't work with the connectors on the ASMedia card.
For now, I turned the SATA link speed down to 3G by adding an libata.force parameter to the kernel command line:
libata.force=5:3.0G,6:3.0G
(5 and 6 are corresponding to ata5 and ata6 from the libata kernel messages.)
This seems to work as a stopgap measure - the bus errors haven't reappeared since.
Before:
ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
With libata.force:
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
With my disks hooked up to the new card, I started to get SATA errors when there was moderate write load:
kernel log
Copy to clipboard
ata5.00: exception Emask 0x10 SAct 0x7c000000 SErr 0x400000 action 0x6 frozen ata5.00: irq_stat 0x08000000, interface fatal error ata5: SError: { Handshk } ata5.00: failed command: WRITE FPDMA QUEUED ata5.00: cmd 61/00:d0:00:2b:6f/0a:00:ac:00:00/40 tag 26 ncq 1310720 out res 40/00:f4:00:53:6f/00:00:ac:00:00/40 Emask 0x10 (ATA bus error) ata5.00: status: { DRDY } ata5.00: failed command: WRITE FPDMA QUEUED ata5.00: cmd 61/00:d8:00:35:6f/0a:00:ac:00:00/40 tag 27 ncq 1310720 out res 40/00:f4:00:53:6f/00:00:ac:00:00/40 Emask 0x10 (ATA bus error) [..] ata5: hard resetting link ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata5.00: configured for UDMA/133 ata5: EH complete
I'm not yet ready to blame the card itself, since I remembered I recycled a pair of rather old SATA cables to connect the drives, and the card supports SATA 6G... The mainboard itself has just one SATA 6G connector, and with that I used different cables that clip into the port, but the clip mechanic doesn't work with the connectors on the ASMedia card.
For now, I turned the SATA link speed down to 3G by adding an libata.force parameter to the kernel command line:
libata.force=5:3.0G,6:3.0G
(5 and 6 are corresponding to ata5 and ata6 from the libata kernel messages.)
This seems to work as a stopgap measure - the bus errors haven't reappeared since.
Before:
ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
With libata.force:
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 320)