Bad CRC on IMX8QM Sata link

Hi,

I am performing some tests on writing on a SATA SSD with IMX8QM and Apalis evaluation board.
I can’t use it at 6 Gbps because due to CRC errors it limit itself to 1.5Gbps or 3Gbps.

I have the following issues in dmesg:

[ 1164.227534] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1164.234531] ata1.00: supports DRM functions and may not be fully accessible
[ 1164.241558] ata1.00: ATA-10: CT500MX500SSD1, M3CR023, max UDMA/133
[ 1164.247791] ata1.00: 976773168 sectors, multi 1: LBA48 NCQ (depth 31/32)
[ 1164.255234] ata1.00: supports DRM functions and may not be fully accessible
[ 1164.262793] ata1.00: configured for UDMA/133
[ 1164.267140] ata1: EH complete
[ 1164.270159] ata1.00: detaching (SCSI 0:0:0:0)
[ 1164.276219] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 1164.281538] sd 0:0:0:0: [sda] Stopping disk
[ 1164.324578] scsi 0:0:0:0: Direct-Access     ATA      CT500MX500SSD1   023  PQ: 0 ANSI: 5
[ 1164.334183] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 1164.341731] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 1164.347122] sd 0:0:0:0: [sda] Write Protect is off
[ 1164.351965] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1164.352087] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1164.365117] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1176.415564] ata1.00: exception Emask 0x52 SAct 0x3000 SErr 0x200c00 action 0x6 frozen
[ 1176.423472] ata1.00: irq_stat 0x08000000, interface fatal error
[ 1176.429463] ata1: SError: { Proto HostInt BadCRC }
[ 1176.434299] ata1.00: failed command: READ FPDMA QUEUED
[ 1176.439494] ata1.00: cmd 60/b8:60:00:00:00/05:00:00:00:00/40 tag 12 ncq dma 749568 in
                        res 40/00:6c:b8:05:00/00:00:00:00:00/40 Emask 0x52 (ATA bus error)
[ 1176.455360] ata1.00: status: { DRDY }
[ 1176.459069] ata1.00: failed command: READ FPDMA QUEUED
[ 1176.464257] ata1.00: cmd 60/48:68:b8:05:00/04:00:00:00:00/40 tag 13 ncq dma 561152 in
                        res 40/00:6c:b8:05:00/00:00:00:00:00/40 Emask 0x52 (ATA bus error)
[ 1176.480132] ata1.00: status: { DRDY }
[ 1176.483845] ata1: hard resetting link
[ 1176.963532] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1176.970528] ata1.00: supports DRM functions and may not be fully accessible
[ 1176.978317] ata1.00: supports DRM functions and may not be fully accessible
[ 1176.985926] ata1.00: configured for UDMA/133
[ 1176.991592] ata1: EH complete
[ 1177.031546] ata1.00: exception Emask 0x52 SAct 0xc0 SErr 0x200c00 action 0x6 frozen
[ 1177.039263] ata1.00: irq_stat 0x08000000, interface fatal error
[ 1177.045241] ata1: SError: { Proto HostInt BadCRC }
[ 1177.050077] ata1.00: failed command: READ FPDMA QUEUED
[ 1177.055271] ata1.00: cmd 60/00:30:00:0a:00/0a:00:00:00:00/40 tag 6 ncq dma 1310720 in
                        res 40/00:34:00:0a:00/00:00:00:00:00/40 Emask 0x52 (ATA bus error)
[ 1177.071183] ata1.00: status: { DRDY }
[ 1177.074890] ata1.00: failed command: READ FPDMA QUEUED
[ 1177.080077] ata1.00: cmd 60/00:38:00:14:00/06:00:00:00:00/40 tag 7 ncq dma 786432 in
                        res 40/00:34:00:0a:00/00:00:00:00:00/40 Emask 0x52 (ATA bus error)
[ 1177.096052] ata1.00: status: { DRDY }
[ 1177.099749] ata1: hard resetting link
[ 1177.579532] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1177.586513] ata1.00: supports DRM functions and may not be fully accessible
[ 1177.594280] ata1.00: supports DRM functions and may not be fully accessible
[ 1177.601849] ata1.00: configured for UDMA/133
[ 1177.608160] ata1: EH complete
[ 1184.727561] ata1.00: exception Emask 0x52 SAct 0x40000 SErr 0x200c00 action 0x6 frozen
[ 1184.735542] ata1.00: irq_stat 0x08000000, interface fatal error
[ 1184.741523] ata1: SError: { Proto HostInt BadCRC }
[ 1184.746366] ata1.00: failed command: READ FPDMA QUEUED
[ 1184.751566] ata1.00: cmd 60/00:90:00:4a:00/0a:00:00:00:00/40 tag 18 ncq dma 1310720 in
                        res 40/00:94:00:4a:00/00:00:00:00:00/40 Emask 0x52 (ATA bus error)
[ 1184.767530] ata1.00: status: { DRDY }
[ 1184.771210] ata1: hard resetting link
[ 1185.251531] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1185.258522] ata1.00: supports DRM functions and may not be fully accessible
[ 1185.266281] ata1.00: supports DRM functions and may not be fully accessible
[ 1185.273852] ata1.00: configured for UDMA/133
[ 1185.279413] ata1: EH complete
[ 1185.411555] ata1: limiting SATA link speed to 3.0 Gbps

I have changed:

  • SSD drive
  • SSD Power cable
  • SSD Data cable
    And is didn’t change anything.

Apalis board is: Apalis IMX8QM 4GB WB V1.0 B.
Carrier board is : Apalis Evaluation board V1.1 A.

I am using Toradex image downloaded with “Toradex easy installer”.

My kernel version is : Linux apalis-imx8 4.14.117-3.0.2+ge43e3a26e1b7 #1 SMP PREEMPT Tue Aug 27 09:45:51 UTC 2019 aarch64 GNU/Linux.

Is there any known issues on Apalis evalution board Sata or IMX8QM ?

Regards,

Thomas

Hi

This is a known issue documented here.
We don’t have a workaround or fix as of now.

Max