Thanks for the response. If I understand re: attribute names:
* Vendors seem to use the same attribute names when the id's overlap. This matches what I've seen.
* The attribute name itself is not retrieved as part of the smartctl invocation. The existing smartmon database maps the attribute IDs to the names in common use.
When someone mails in the smartctl output from a new drive, how does a smartmon developer make the determination whether, e.g., attribute 1 data is really for Raw Read Error Rate or whether the drive is overloading attribute 1 for some other purpose? Is there anything in the smartctl output that lets someone make that determination? If not, is it just assumed that for common attributes (like 1) the drive uses the standard attribute name, while non-standard attributes (say 175) would result in the developer trying to get a hand on the drive spec to determine the meaning?
From: Owen Martin [mailto:omartin@...]
Sent: Wednesday, September 17, 2008 7:34 AM
To: Grove, Michael; smartmontools-support@...
Subject: RE: [smartmontools-support] how are attribute ids mapped to attribute names and raw values interpreted?
Each drive vendor supports a specific set of attributes. Each drive
supports some or all of the attributes. The vendors appear to use the
same name when the id's overlap and unique ID's when they do not.
The only way to know for sure is to get the SMART spec from the vendor,
hence the need for the database to interpret the values.
The raw values are specific to the vendor's implementation. For example
attribute 194 is temperature. The 3 raw words are interpreted
differently, hitach shows current,min,max, Seagate shows
current,zero,min and wd shows just current.
The real problem is the ata spec. the smart attribute data is listed as
362 bytes of "vendor specific". Until the attribute spec is included
with the standard, it is always going to be open to vendor unique
[mailto:smartmontools-support-bounces@...] On Behalf
Of Grove, Michael
Sent: Wednesday, September 03, 2008 11:13 AM
Subject: [smartmontools-support] how are attribute ids mapped to
attribute names and raw values interpreted?
I've been playing with smartmon, and am curious to know how the
attribute IDs (e.g. '1') are mapped to attribute names (e.g.
'Raw_Read_Error_Rate'). From reading the FAQ entry at
http://smartmontools.sourceforge.net/faq.html#FAQ-database I can tell
that there is a database that performs this mapping based on the drive,
and that the database is updated by users running smartctl with specific
flags against their drives and mailing the output to the smartmon
developers. I know that one of the challenges with SMART is that the
attribute IDs aren't standardized (although some lists exist, e.g.
chnology) and different vendors can use the same attribute IDs for
different purposes. That makes me wonder if the text description for an
attribute ID is available in some fashion through SMART interfaces (e.g.
Windows' MSStorageDriver_FailurePredictData WBEM class). Is that the
case, or is there something else avai
lable in the SMART data structures that enables one to map attribute
IDs to meaningful names?
A related question is how the raw values are interpreted in a drive
specific way. E.g. the wikipedia entry on SMART (from above) indicates
that Power on Hours (attribute id 9) has a raw value in hours, minutes,
or seconds depending on the manufacturer. Does smartmon display the
RAW_VALUE differently based on its analysis of whether hours, minutes,
or seconds are used? Is this unit information stored in SMART data
This SF.Net email is sponsored by the Moblin Your Move Developer's
Build the coolest Linux based applications with Moblin SDK & win great
Grand prize is a trip for two to an Open Source event anywhere in the
Smartmontools-support mailing list