#1094 closed enhancement (fixed)
Seagate Momentus 5400.6 (ST9500325AS) requires '-F xerrorlba'
Reported by: | Valerio | Owned by: | Christian Franke |
---|---|---|---|
Priority: | minor | Milestone: | Release 7.0 |
Component: | drivedb | Version: | 6.6 |
Keywords: | Cc: |
Description (last modified by )
my disk is:
Model Family: Seagate Momentus 5400.6 Device Model: ST9500325AS Serial Number: 6VE28ZKM LU WWN Device Id: 5 000c50 018cbece4 Firmware Version: 0002SDM1 User Capacity: 500,107,862,016 bytes [500 GB] Sector Size: 512 bytes logical/physical Rotation Rate: 5400 rpm Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS T13/1699-D revision 4 SATA Version is: SATA 2.6, 3.0 Gb/s Local Time is: Thu Sep 27 01:03:18 2018 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled AAM feature is: Unavailable APM level is: 254 (maximum performance) Rd look-ahead is: Enabled Write cache is: Enabled ATA Security is: Disabled, NOT FROZEN [SEC1] Wt Cache Reorder: Unknown
so it has:
$ sudo fdisk -l /dev/sda Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes
Report from '-l error' say:
--------------------------- Error 50 occurred at disk power-on lifetime: 21702 hours (904 days + 6 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 00 ff ff ff 0f Error: UNC at LBA = 0x0fffffff = 268435455 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 24 00 01 ff ff ff ef 00 00:40:02.086 READ SECTOR(S) EXT 61 00 08 ff ff ff 4f 00 00:39:58.630 WRITE FPDMA QUEUED 61 00 10 ff ff ff 4f 00 00:39:58.630 WRITE FPDMA QUEUED 61 00 08 ff ff ff 4f 00 00:39:58.629 WRITE FPDMA QUEUED 61 00 08 ff ff ff 4f 00 00:39:58.629 WRITE FPDMA QUEUED
While report from '-l xerror' say:
---------------------------------- Error 50 [9] occurred at disk power-on lifetime: 21702 hours (904 days + 6 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER -- ST COUNT LBA_48 LH LM LL DV DC -- -- -- == -- == == == -- -- -- -- -- 40 -- 51 00 00 00 34 fc 00 a1 04 00 00 Error: UNC at LBA = 0x34fc00a104 = 227566199044 Commands leading to the command that caused the error were: CR FEATR COUNT LBA_48 LH LM LL DV DC Powered_Up_Time Command/Feature_Name -- == -- == -- == == == -- -- -- -- -- --------------- -------------------- 24 00 00 00 01 00 34 fc 00 a1 04 e0 00 00:40:02.086 READ SECTOR(S) EXT 61 00 00 00 08 00 36 d1 00 77 f8 40 00 00:39:58.630 WRITE FPDMA QUEUED 61 00 00 00 10 00 36 d1 00 77 c8 40 00 00:39:58.630 WRITE FPDMA QUEUED 61 00 00 00 08 00 2f e6 00 af 90 40 00 00:39:58.629 WRITE FPDMA QUEUED 61 00 00 00 08 00 2f e3 00 af d8 40 00 00:39:58.629 WRITE FPDMA QUEUED
The '-l error' seems limited by the 0x0fffffff limitation, but
the '-l xerror' LBA=227566199044 is greather than max disk sector=976773168.
Report from '-l selftest' show the right LBA bad sector:
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Self-test routine in progress 40% 21708 - # 2 Extended offline Completed: read failure 20% 21693 883031044
Also report from '-l xselftest' show the right LBA bad sector:
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Self-test routine in progress 40% 21708 - # 2 Extended offline Completed: read failure 20% 21693 883031044
Change History (10)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Description: | modified (diff) |
---|
comment:3 by , 6 years ago
Component: | smartctl → drivedb |
---|---|
Milestone: | → undecided |
Again a firmware author did not read the ATA specs properly and provides the ATA LBA registers in LE byte ordering instead of ATA register ordering. Please test whether smartctl -F xerrorlba -l xerror ...
provides the correct output. It should change to:
ER -- ST COUNT LBA_48 LH LM LL DV DC -- -- -- == -- == == == -- -- -- -- -- 40 -- 51 00 00 00 00 34 a1 fc 04 00 00 Error: UNC at LBA = 0x0034a1fc04 = 883031044
If this works, we could add -F xerrorlba
to the drive database entry for Seagate Momentus 5400.6
.
comment:4 by , 6 years ago
amazing, you have an option to fix on the fly a bug in the HDD firmware ... no words
Will test
comment:5 by , 6 years ago
works.
Did you know if once added to drive database, also gSmartControl will show right values?
comment:6 by , 6 years ago
Milestone: | undecided → Release 6.7 |
---|---|
Owner: | set to |
Status: | new → accepted |
Summary: | LBA from '-l xerror' are out of disk sector → Seagate Momentus 5400.6 (ST9500325AS) requires '-F xerrorlba' |
Type: | defect → enhancement |
Thanks for testing.
Did you know if once added to drive database, also gSmartControl will show right values?
yes, AFIAK.
comment:7 by , 6 years ago
once added to drive DB, both commands:
$ smartctl -l xerror /dev/sda
and
$ smartctl -F xerrorlba -l xerror /dev/sda
will show same results?
comment:8 by , 6 years ago
what is the effect of adding to drive DB ?
It swap LE byte ordering with ATA register ordering, or let them be read identical?
my system is:
Ubuntu 18.04.1 LTS bionic
Linux 02cor2130 4.15.0-34-generic #37-Ubuntu SMP x86_64 GNU/Linux