[smartmontools-support] drivedb: Too broad pattern for xerrorlba application
astian
astian at memeware.net
Fri Apr 24 16:41:48 CEST 2026
Hi,
First of all, thanks for smartmontools!
I got my hands on an old SATA2 spinning disk:
Model Family: Seagate Momentus 5400.6
Device Model: ST9500325AS
[...]
Firmware Version: 0001SDM1
User Capacity: 500,107,862,016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
[...]
Device is: In smartctl database
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 2.6, 3.0 Gb/s
[...]
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
It matches this drivedb entry:
{ "Seagate Momentus 5400.6",
"ST9(80313|160(301|314)|(12|25)0315|250317|(320|500)325|500327|640320)ASG?",
"", "",
"-F xerrorlba" // ST9500325AS/0002SDM1 (ticket #1094)
},
However this "xerrorlba" "fix" actually breaks the LBA interpretation:
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 00 00 00 54 00 a3 30 af 00 00 Error: UNC at LBA = 0x5400a330af = 360787947695
That sector does not exist. Using "-P ignore" fixes it:
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 00 00 00 00 30 54 a3 af 00 00 Error: UNC at LBA = 0x3054a3af = 810853295
Commit e4f0953ec (svn 4802, trac ticket 1094) added the -F option to
this entire family of disks but apparently not all firmware versions
have this bug.
I added this override and it worked fine:
{ "Seagate Momentus 5400.6",
"ST9500325AS",
"0001SDM1", "", ""
},
But maybe the existing buggy entry should be restricted to FW 0002SDM1,
and/or this new one for 0001SDM1 should be extended to other models, I
don't know.
Cheers.
(Btw, looks like the git conversion messed up the svn commit messages,
bunching them up into a single line. Also, the conventional HEAD is
master (fuck the sjw speech police).)
More information about the Smartmontools-support
mailing list