Linux 系統出現 ATA SError DevExch 的錯誤解法

Linux 遇到硬碟快壞掉,然後半殘的情況,有 RAID1 是不用怕資料遺漏,只是機器的 Loading 變重,速度變很慢~ (如同此篇文章:Linux Soft RAID1 硬碟半殘的偵測確認、移除、更換硬碟動作

當硬碟換好後,卻開機失敗,一直出現 ATA SError DevExch 等等的訊息,然後強制 root 登入後,修改 grub 先跳過此問題,讓開機正常,但是這個訊息還是一直跑個不停,到底要怎麼辦呢?

Linux 系統出現 ATA SError DevExch 的錯誤解法

從硬碟換好後,開機有問題,一直出現下述訊息:

[日  9月 13 21:27:00 2020] ata4: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
[日  9月 13 21:27:00 2020] ata4: irq_stat 0x00000040, connection status changed
[日  9月 13 21:27:00 2020] ata4: SError: { CommWake DevExch }
[日  9月 13 21:27:00 2020] ata4: limiting SATA link speed to 1.5 Gbps
[日  9月 13 21:27:00 2020] ata4: hard resetting link
[日  9月 13 21:27:02 2020] ata4: SATA link down (SStatus 1 SControl 310)
[日  9月 13 21:27:02 2020] ata4: EH complete
[日  9月 13 21:27:02 2020] ata4: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
[日  9月 13 21:27:02 2020] ata4: irq_stat 0x00000040, connection status changed
[日  9月 13 21:27:02 2020] ata4: SError: { CommWake DevExch }
[日  9月 13 21:27:02 2020] ata4: limiting SATA link speed to 1.5 Gbps
[日  9月 13 21:27:02 2020] ata4: hard resetting link
[日  9月 13 21:27:04 2020] ata4: SATA link down (SStatus 1 SControl 310)
[日  9月 13 21:27:04 2020] ata4: EH complete

想要先讓開機完成,可以於 grub 先略過檢查,下述步驟參考此篇:What do these ATA error messages mean?

  1. vim /etc/default/grub
  2. 找到 GRUB_CMDLINE_LINUX_DEFAULT 此行,將下述:
    • GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    • 改成
    • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"
    • 存檔離開
  3. update-grub
  4. reboot

這樣子就可以開機完成,但是上述訊息一樣跑個不停。

在仔細查看訊息,這個不是軟體問題,而是硬體問題。

這個問題是 SATA 的排線沒接好,或者排線壞了,而 ata4 代表是第三顆硬碟有問題。

不需關機,直接把排線按緊,就可以把問題解決掉,不過排線應該快不行了,所以有下述這些訊息:

  • 註:下述訊息會從 CLI 直接秀出來,也可以 dmesg -T 來查看

錯誤訊息1

[日  9月 13 21:27:02 2020] ata4: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
[日  9月 13 21:27:02 2020] ata4: irq_stat 0x00000040, connection status changed
[日  9月 13 21:27:02 2020] ata4: SError: { CommWake DevExch }
[日  9月 13 21:27:02 2020] ata4: limiting SATA link speed to 1.5 Gbps
[日  9月 13 21:27:02 2020] ata4: hard resetting link
[日  9月 13 21:27:04 2020] ata4: SATA link down (SStatus 1 SControl 310)
[日  9月 13 21:27:04 2020] ata4: EH complete

錯誤訊息2

[日  9月 13 21:27:10 2020] ata4.00: FORCE: horkage modified (noncq)
[日  9月 13 21:27:10 2020] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[日  9月 13 21:27:10 2020] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT3._GTF] (Node ffff9141bf5ca410), AE_NOT_FOUND (20160831/psparse-543)
[日  9月 13 21:27:10 2020] ata4.00: ATA-8: Hitachi HDP725050GLA360, GM4OA5CA, max UDMA/133
[日  9月 13 21:27:10 2020] ata4.00: 976773168 sectors, multi 0: LBA48 NCQ (not used)
[日  9月 13 21:27:10 2020] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[日  9月 13 21:27:10 2020] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT3._GTF] (Node ffff9141bf5ca410), AE_NOT_FOUND (20160831/psparse-543)
[日  9月 13 21:27:10 2020] ata4.00: configured for UDMA/133
[日  9月 13 21:27:10 2020] ata4: EH complete

錯誤訊息3 (成功的訊息)

[日  9月 13 21:27:10 2020] scsi 3:0:0:0: Direct-Access     ATA      Hitachi HDP72505 A5CA PQ: 0 ANSI: 5
[日  9月 13 21:27:10 2020] sd 3:0:0:0: [sdd] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[日  9月 13 21:27:10 2020] sd 3:0:0:0: Attached scsi generic sg3 type 0
[日  9月 13 21:27:10 2020] sd 3:0:0:0: [sdd] Write Protect is off
[日  9月 13 21:27:10 2020] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[日  9月 13 21:27:10 2020] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[日  9月 13 21:27:10 2020]  sdd: sdd1
[日  9月 13 21:27:10 2020] sd 3:0:0:0: [sdd] Attached SCSI disk

錯誤訊息4 (裝機殼撞到,又掉了)

[日  9月 13 21:27:11 2020] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[日  9月 13 21:27:11 2020] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x100)
[日  9月 13 21:27:11 2020] ata4.00: revalidation failed (errno=-5)
[日  9月 13 21:27:16 2020] ata4: hard resetting link
[日  9月 13 21:27:17 2020] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[日  9月 13 21:27:17 2020] ata4.00: failed to IDENTIFY (I/O error, err_mask=0x100)
[日  9月 13 21:27:17 2020] ata4.00: revalidation failed (errno=-5)
[日  9月 13 21:27:22 2020] ata4: hard resetting link
[日  9月 13 21:27:24 2020] ata4: SATA link down (SStatus 1 SControl 310)
[日  9月 13 21:27:24 2020] ata4.00: disabled
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] tag#9 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] tag#9 Sense Key : Not Ready [current]
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] tag#9 Add. Sense: Logical unit not ready, hard reset required
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] tag#9 CDB: Read(10) 28 00 00 00 00 80 00 00 90 00
[日  9月 13 21:27:24 2020] blk_update_request: I/O error, dev sdd, sector 128
[日  9月 13 21:27:24 2020] sd 3:0:0:0: rejecting I/O to offline device
[日  9月 13 21:27:24 2020] sd 3:0:0:0: killing request
[日  9月 13 21:27:24 2020] ata4: EH complete

錯誤訊息5

[日  9月 13 21:27:24 2020] sd 3:0:0:0: rejecting I/O to offline device
[日  9月 13 21:27:24 2020] ata4.00: detaching (SCSI 3:0:0:0)
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] Synchronizing SCSI cache
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] Synchronize Cache(10) failed: Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] Stopping disk
[日  9月 13 21:27:24 2020] sd 3:0:0:0: [sdd] Start/Stop Unit failed: Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[日  9月 13 21:27:24 2020] ata4: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
[日  9月 13 21:27:24 2020] ata4: irq_stat 0x00000040, connection status changed
[日  9月 13 21:27:24 2020] ata4: SError: { CommWake DevExch }
[日  9月 13 21:27:24 2020] ata4: hard resetting link
[日  9月 13 21:27:26 2020] ata4: SATA link down (SStatus 1 SControl 300)

當排線接好的話,基本上這些訊息就不會一直在 CLI 跳出來。

當排線接好後,錯誤訊息都沒在跳出來後,再去 /etc/default/grub 把內容改回來,update-grub 即修復完成。

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料