#1397 closed defect (wontfix)

Don't report ATA attribute failure if value is equal to threshold

Reported by: Christian Franke Owned by: Christian Franke
Priority: minor Milestone:
Component: all Version:
Keywords: ata Cc:

Description

ATA Attributes are reported as FAIL: NOW if VALUE <= THRESH since the early days of smartmontools (2002). The same applies to FAIL: PAST if WORST <= THRESH.

This is possibly because the original SMART specs did not specify whether <= or < should be used. The official ATA specs never defined SMART attributes and declared SMART READ DATA as obsolete in ACS-4 (2017).

Some recent drives return 255 for all three values which results in a bogus FAIL: NOW status (see ticket #1396):

Device Model:     Seagate IronWolfPro ZA3840NX10001-2ZH104
...
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
...
246 Unknown_Attribute       PO----   255   255   255    NOW  0
...
                            |______ P prefailure warning

Comparison should be changed to VALUE < THRESH to better handle such corner cases.

Change History (3)

comment:1 Changed 11 months ago by Christian Franke

Owner: set to Christian Franke
Status: newaccepted

comment:2 Changed 10 months ago by Christian Franke

This is possibly because the original SMART specs did not specify whether <= or < should be used.

I take that back. Quote from X3T13/2008D (ATA-3) Revision 7b, January 27, 1997:

6.6.4 Threshold exceeded condition
If one or more attribute values are less than or equal to their corresponding attribute thresholds, then the device reliability status indicates an impending degrading or fault condition.

and

Table 18 - Individual threshold data structure
...
0x00 “always passing” threshold value to be used for code test purposes
0x01 minimum value for normal operation
0xFD maximum value for normal operation
0xFE invalid for threshold value - not to be used
0xFF “always failing” threshold value to be used for code test purposes
...

ATA SMART Attributes are no longer documented in later versions of the standard.

Seagate IronWolf Pro 125 (#1396) violates this spec because it returns 0xFF as threshold.

comment:3 Changed 10 months ago by Christian Franke

Milestone: Release 7.2
Resolution: wontfix
Status: acceptedclosed

This change would violate SMART Attribute spec from ATA-3. Later specs do not exist. See above comment for details.

Note: See TracTickets for help on using tickets.