@@ -32,7 +32,7 @@
* modelfamily Informal string about the model family/series of a
* device. Set to "" if no info (apart from device id)
* known. The entry is ignored if this string starts with
- * a dollar sign.
+ * a dollar sign. Must not start with "USB:", see below.
* modelregexp POSIX extended regular expression to match the model of
* a device. This should never be "".
* firmwareregexp POSIX extended regular expression to match a devices's
@@ -53,6 +53,23 @@
* The table will be searched from the start to end or until the first match,
* so the order in the table is important for distinct entries that could match
* the same drive.
+ *
+ *
+ * Format for USB ID entries:
+ *
+ * modelfamily String with format "USB: DEVICE; BRIDGE" where
+ * DEVICE is the name of the device and BRIDGE is
+ * the name of the USB bridge. Both may be empty
+ * if no info known.
+ * modelregexp POSIX extended regular expression to match the USB
+ * vendor:product ID in hex notation ("0x1234:0xabcd").
+ * This should never be "".
+ * firmwareregexp POSIX extended regular expression to match the USB
+ * bcdDevice info. Only compared during search if other
+ * entries with same USB vendor:product ID exist.
+ * warningmsg Not used yet.
+ * presets String with one device type ('-d') option.
+ *
*/
/*
@@ -63,28 +80,43 @@
"This is a dummy entry to hold the SVN-Id of drivedb.h",
""
},
- { "Apple SSD SM128",
+ { "Apple SSD SM128", // Samsung?
"APPLE SSD SM128",
"", "", ""
},
+ { "Apple SSD TS*", // Toshiba?
+ // tested with APPLE SSD TS064C/CJAA0201
+ "APPLE SSD TS.*",
+ "", "",
+ "-v 10,raw48,Unknown_Attribute "
+ "-v 240,raw48,Unknown_Attribute"
+ },
{ "Asus-Phison SSD",
"ASUS-PHISON SSD",
"", "", ""
},
+ { "Crucial RealSSD C300 Series", // tested with C300-CTFDDAC128MAG/0002
+ "C300-CTFDDA[AC](064|128|256)MAG",
+ "", "",
+ "-v 189,raw48,Unknown_Attribute "
+ "-v 202,raw48,Unknown_Attribute "
+ "-v 206,raw48,Unknown_Attribute"
+ },
{ "SandForce Driven SSDs",
"SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
"Corsair CSSD-F(40|60|80|120|160|240)GBP?2.*|" // Corsair Force, tested with
// Corsair CSSD-F40GB2/1.1
- "OCZ[ -](AGILITY2|VERTEX2|VERTEX-LE)( .*)?|" // tested with
+ "OCZ[ -](AGILITY2|VERTEX2(-PRO)?|VERTEX-LE)( .*)?|" // tested with
// OCZ-VERTEX2/1.11, OCZ-VERTEX2 3.5/1.11
+ // OCZ VERTEX2-PRO/1.10 (Bogus thresholds for attribute 232 and 235)
"UGB(88P|99S)GC...H[BF].", // Unigen, tested with
// UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
"", "",
- "-v 1,hex48,Raw_Read_Error_Rate " // raw24/raw32
+ "-v 1,raw24/raw32,Raw_Read_Error_Rate "
"-v 5,raw48,Retired_Block_Count "
- "-v 9,hex48,Power_On_Hours_and_Msec " // msec24hour32
+ "-v 9,msec24hour32,Power_On_Hours_and_Msec "
//"-v 12,raw48,Power_Cycle_Count "
- "-v 13,hex48,Soft_Read_Error_Rate " // raw24/raw32
+ "-v 13,raw24/raw32,Soft_Read_Error_Rate "
"-v 100,raw48,Gigabytes_Erased "
"-v 170,raw48,Reserve_Block_Count "
"-v 171,raw48,Program_Fail_Count "
@@ -96,12 +128,12 @@
"-v 184,raw48,IO_Error_Detect_Code_Ct "
//"-v 187,raw48,Reported_Uncorrect "
//"-v 194,tempminmax,Temperature_Celsius "
- "-v 195,hex48,ECC_Uncorr_Error_Count " // raw24/raw32
+ "-v 195,raw24/raw32,ECC_Uncorr_Error_Count "
//"-v 196,raw48,Reallocated_Event_Count "
"-v 198,hex48,Uncorrectable_Sector_Ct "
"-v 199,raw48,SATA_CRC_Error_Count "
- "-v 201,hex48,Unc_Soft_Read_Err_Rate " // raw24/raw32
- "-v 204,hex48,Soft_ECC_Correct_Rate " // raw24/raw32
+ "-v 201,raw24/raw32,Unc_Soft_Read_Err_Rate "
+ "-v 204,raw24/raw32,Soft_ECC_Correct_Rate "
"-v 230,raw48,Life_Curve_Status "
"-v 231,raw48,SSD_Life_Left "
//"-v 232,raw48,Available_Reservd_Space "
@@ -113,8 +145,8 @@
},
{ "Indilinx Barefoot based SSDs",
"CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
- "OCZ[ -](AGILITY|VERTEX( 1199|-TURBO)?)|" // tested with
- // OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
+ "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO)?)|" // tested with
+ // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
"Patriot[ -]Torqx.*|"
"STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive, tested with STT_FTM64GX25H/1916
"TS(18|25)M(64|128)MLC(16|32|64|128|256|512)GSSD", // ASAX Leopard Hunt II, tested with TS25M64MLC64GSSD/0.1
@@ -194,6 +226,15 @@
//"-v 232,raw48,Available_Reservd_Space "
//"-v 233,raw48,Media_Wearout_Indicator"
},
+ { "Kingston SSDNow V Series", // tested with KINGSTON SNV425S264GB/C091126a
+ "KINGSTON SNV425S2(64|128)GB",
+ "", "",
+ "-v 3,raw48,Unknown_Attribute "
+ "-v 7,raw48,Unknown_Attribute "
+ "-v 8,raw48,Unknown_Attribute "
+ "-v 10,raw48,Unknown_Attribute "
+ "-v 240,raw48,Unknown_Attribute"
+ },
{ "Transcend IDE Solid State Drive",
"TS(8|16|32|64|128)GSSD25-(M|S)",
"", "", ""
@@ -211,9 +252,11 @@
"TS(60|120)GSSD25D-M",
"", "", ""
},
- { "Transcend CompactFlash Cards", // Tested with TRANSCEND/20080820
- "TRANSCEND",
- "", "", ""
+ { "Transcend CompactFlash Cards", // tested with TRANSCEND/20080820, TS4GCF133/20100709
+ "TRANSCEND|TS4GCF133",
+ "", "",
+ "-v 7,raw48,Unknown_Attribute "
+ "-v 8,raw48,Unknown_Attribute"
},
{ "Marvell SSD SD88SA024BA0 (SUN branded)",
"MARVELL SD88SA024BA0 SUN24G 0902M0054V",
@@ -467,6 +510,18 @@
"SAMSUNG HD(253G|(324|503)H|754J|105S|153W)I",
"", "", ""
},
+ { "SAMSUNG SpinPoint F4 EG series",
+ "SAMSUNG HD204UI",
+ "", // 1AQ10001
+ "Using smartmontools with this drive may\n"
+ "result in write errors and bad blocks.\n"
+ "*****************************************************\n"
+ "***** DO NOT USE SMARTMONTOOLS WITH THIS DRIVE! *****\n"
+ "*****************************************************\n"
+ "See the following page for details:\n"
+ "http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks",
+ ""
+ },
{ "SAMSUNG SpinPoint S250 series", // tested with HD200HJ/KF100-06
"SAMSUNG HD(162|200|250)HJ",
"", "", ""
@@ -764,7 +819,7 @@
"", "", ""
},
{ "Seagate Maxtor DiamondMax 21",
- "MAXTOR STM3(160215|(250|320)820|320620|500630)AS?",
+ "MAXTOR STM3(80815|160215|(250|320)820|320620|500630)AS?",
"", "", ""
},
{ "Seagate Maxtor DiamondMax 22", // fixed firmware
@@ -1227,7 +1282,7 @@
"", "", ""
},
{ "Seagate Barracuda 7200.10 family",
- "ST3((80|160)[28]15|200820|250[34]10|(250|300|320|400)[68]20|500[68]30|750[68]40)AS?",
+ "ST3((80|160)[28]15|200820|250[34]10|(250|300|320|400)[68]20|360320|500[68]30|750[68]40)AS?",
"", "", ""
},
{ "Seagate Barracuda 7200.11 family", // unaffected firmware
@@ -1441,7 +1496,7 @@
"", "", ""
},
{ "Western Digital Caviar Black family",
- "WDC WD((500|640|750)1AAL|1001FAL|2001FAS)S-.*",
+ "WDC WD((500|640|750)1AAL|1001FA[EL]|2001FAS)S-.*",
"", "", ""
},
{ "Western Digital AV ATA family", // tested with WDC WD3200AVJB-63J5A0/01.03E01
@@ -1548,6 +1603,439 @@
"QUANTUM FIREBALLP KA(9|10).1",
"", "", ""
},
+
+ ////////////////////////////////////////////////////
+ // USB ID entries
+ ////////////////////////////////////////////////////
+
+ // ALi
+ { "USB: ; ALi M5621", // USB->PATA
+ "0x0402:0x5621",
+ "",
+ "",
|
@@ -0,0 +1,1553 @@
+/*
+ * drivedb.h - smartmontools drive database file
+ *
+ * Home page of code is: http://smartmontools.sourceforge.net
+ *
+ * Copyright (C) 2003-10 Philip Williams, Bruce Allen
+ * Copyright (C) 2008-10 Christian Franke <smartmontools-support@lists.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * You should have received a copy of the GNU General Public License
+ * (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*
+ * Structure used to store drive database entries:
+ *
+ * struct drive_settings {
+ * const char * modelfamily;
+ * const char * modelregexp;
+ * const char * firmwareregexp;
+ * const char * warningmsg;
+ * const char * presets;
+ * };
+ *
+ * The elements are used in the following ways:
+ *
+ * modelfamily Informal string about the model family/series of a
+ * device. Set to "" if no info (apart from device id)
+ * known. The entry is ignored if this string starts with
+ * a dollar sign.
+ * modelregexp POSIX extended regular expression to match the model of
+ * a device. This should never be "".
+ * firmwareregexp POSIX extended regular expression to match a devices's
+ * firmware. This is optional and should be "" if it is not
+ * to be used. If it is nonempty then it will be used to
+ * narrow the set of devices matched by modelregexp.
+ * warningmsg A message that may be displayed for matching drives. For
+ * example, to inform the user that they may need to apply a
+ * firmware patch.
+ * presets String with vendor-specific attribute ('-v') and firmware
+ * bug fix ('-F') options. Same syntax as in smartctl command
+ * line. The user's own settings override these.
+ *
+ * The regular expressions for drive model and firmware must match the full
+ * string. The effect of "^FULLSTRING$" is identical to "FULLSTRING".
+ * The form ".*SUBSTRING.*" can be used if substring match is desired.
+ *
+ * The table will be searched from the start to end or until the first match,
+ * so the order in the table is important for distinct entries that could match
+ * the same drive.
+ */
+
+/*
+const drive_settings builtin_knowndrives[] = {
+ */
+ { "$Id$",
+ "-", "-",
+ "This is a dummy entry to hold the SVN-Id of drivedb.h",
+ ""
+ },
+ { "Apple SSD SM128",
+ "APPLE SSD SM128",
+ "", "", ""
+ },
+ { "Asus-Phison SSD",
+ "ASUS-PHISON SSD",
+ "", "", ""
+ },
+ { "SandForce Driven SSDs",
+ "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
+ "Corsair CSSD-F(40|60|80|120|160|240)GBP?2.*|" // Corsair Force, tested with
+ // Corsair CSSD-F40GB2/1.1
+ "OCZ[ -](AGILITY2|VERTEX2|VERTEX-LE)( .*)?|" // tested with
+ // OCZ-VERTEX2/1.11, OCZ-VERTEX2 3.5/1.11
+ "UGB(88P|99S)GC...H[BF].", // Unigen, tested with
+ // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
+ "", "",
+ "-v 1,hex48,Raw_Read_Error_Rate " // raw24/raw32
+ "-v 5,raw48,Retired_Block_Count "
+ "-v 9,hex48,Power_On_Hours_and_Msec " // msec24hour32
+ //"-v 12,raw48,Power_Cycle_Count "
+ "-v 13,hex48,Soft_Read_Error_Rate " // raw24/raw32
+ "-v 100,raw48,Gigabytes_Erased "
+ "-v 170,raw48,Reserve_Block_Count "
+ "-v 171,raw48,Program_Fail_Count "
+ "-v 172,raw48,Erase_Fail_Count "
+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
+ "-v 177,raw48,Wear_Range_Delta "
+ "-v 181,raw48,Program_Fail_Count "
+ "-v 182,raw48,Erase_Fail_Count "
+ "-v 184,raw48,IO_Error_Detect_Code_Ct "
+ //"-v 187,raw48,Reported_Uncorrect "
+ //"-v 194,tempminmax,Temperature_Celsius "
+ "-v 195,hex48,ECC_Uncorr_Error_Count " // raw24/raw32
+ //"-v 196,raw48,Reallocated_Event_Count "
+ "-v 198,hex48,Uncorrectable_Sector_Ct "
+ "-v 199,raw48,SATA_CRC_Error_Count "
+ "-v 201,hex48,Unc_Soft_Read_Err_Rate " // raw24/raw32
+ "-v 204,hex48,Soft_ECC_Correct_Rate " // raw24/raw32
+ "-v 230,raw48,Life_Curve_Status "
+ "-v 231,raw48,SSD_Life_Left "
+ //"-v 232,raw48,Available_Reservd_Space "
+ "-v 233,raw48,SandForce_Internal "
+ "-v 234,raw48,SandForce_Internal "
+ "-v 235,raw48,SuperCap_Health "
+ "-v 241,raw48,Lifetime_Writes_GiB "
+ "-v 242,raw48,Lifetime_Reads_GiB"
+ },
+ { "Indilinx Barefoot based SSDs",
+ "CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
+ "OCZ[ -](AGILITY|VERTEX( 1199|-TURBO)?)|" // tested with
+ // OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
+ "Patriot[ -]Torqx.*|"
+ "STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive, tested with STT_FTM64GX25H/1916
+ "TS(18|25)M(64|128)MLC(16|32|64|128|256|512)GSSD", // ASAX Leopard Hunt II, tested with TS25M64MLC64GSSD/0.1
+ "", "",
+ "-v 1,raw64 " // Raw_Read_Error_Rate
+ "-v 9,raw64 " // Power_On_Hours
+ "-v 12,raw64 " // Power_Cycle_Count
+ "-v 184,raw64,Initial_Bad_Block_Count "
+ "-v 195,raw64,Program_Failure_Blk_Ct "
+ "-v 196,raw64,Erase_Failure_Blk_Ct "
+ "-v 197,raw64,Read_Failure_Blk_Ct "
+ "-v 198,raw64,Read_Sectors_Tot_Ct "
+ "-v 199,raw64,Write_Sectors_Tot_Ct "
+ "-v 200,raw64,Read_Commands_Tot_Ct "
+ "-v 201,raw64,Write_Commands_Tot_Ct "
+ "-v 202,raw64,Error_Bits_Flash_Tot_Ct "
+ "-v 203,raw64,Corr_Read_Errors_Tot_Ct "
+ "-v 204,raw64,Bad_Block_Full_Flag "
+ "-v 205,raw64,Max_PE_Count_Spec "
+ "-v 206,raw64,Min_Erase_Count "
+ "-v 207,raw64,Max_Erase_Count "
+ "-v 208,raw64,Average_Erase_Count "
+ "-v 209,raw64,Remaining_Lifetime_Perc "
+ "-v 210,raw64,Indilinx_Internal "
+ "-v 211,raw64,SATA_Error_Ct_CRC "
+ "-v 212,raw64,SATA_Error_Ct_Handshake "
+ "-v 213,raw64,Indilinx_Internal"
+ },
+ { "Intel X25-E SSDs",
+ "SSDSA2SH(032|064)G1.* INTEL", // G1 = first generation
+ "", "",
+ //"-v 3,raw48,Spin_Up_Time "
+ //"-v 4,raw48,Start_Stop_Count "
+ //"-v 5,raw48,Reallocated_Sector_Ct "
+ //"-v 9,raw48,Power_On_Hours "
+ //"-v 12,raw48,Power_Cycle_Count "
+ "-v 192,raw48,Unsafe_Shutdown_Count "
+ "-v 225,raw48,Host_Writes_32MiB "
+ "-v 226,raw48,Intel_Internal "
+ "-v 227,raw48,Intel_Internal "
+ "-v 228,raw48,Intel_Internal "
+ //"-v 232,raw48,Available_Reservd_Space "
+ //"-v 233,raw48,Media_Wearout_Indicator"
+ },
+ { "Intel X18-M/X25-M G1 SSDs",
+ "INTEL SSDSA[12]MH(080|160)G1.*", // G1 = first generation, 50nm
+ "", "",
+ //"-v 3,raw48,Spin_Up_Time "
+ //"-v 4,raw48,Start_Stop_Count "
+ //"-v 5,raw48,Reallocated_Sector_Ct "
+ //"-v 9,raw48,Power_On_Hours "
+ //"-v 12,raw48,Power_Cycle_Count "
+ "-v 192,raw48,Unsafe_Shutdown_Count "
+ "-v 225,raw48,Host_Writes_32MiB "
+ "-v 226,raw48,Intel_Internal "
+ "-v 227,raw48,Intel_Internal "
+ "-v 228,raw48,Intel_Internal "
+ //"-v 232,raw48,Available_Reservd_Space "
+ //"-v 233,raw48,Media_Wearout_Indicator"
+ },
+ { "Intel X18-M/X25-M/X25-V G2 SSDs", // tested with
+ // INTEL SSDSA2M(080|160)G2GC/2CV102J8 (X25-M),
+ // INTEL SSDSA2M040G2GC/2CV102HD (X25-V)
+ "INTEL SSDSA[12]M(040|080|160)G2.*", // G2 = second generation, 34nm
+ "", "",
+ //"-v 3,raw48,Spin_Up_Time "
+ //"-v 4,raw48,Start_Stop_Count "
+ //"-v 5,raw48,Reallocated_Sector_Ct "
+ //"-v 9,raw48,Power_On_Hours "
+ //"-v 12,raw48,Power_Cycle_Count "
+ //"-v 184,raw48,End-to-End_Error " // G2 only
+ "-v 192,raw48,Unsafe_Shutdown_Count "
+ "-v 225,raw48,Host_Writes_32MiB "
+ "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
+ "-v 227,raw48,Workld_Host_Reads_Perc " // Timed Workload Host Reads Percentage
+ "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
+ //"-v 232,raw48,Available_Reservd_Space "
+ //"-v 233,raw48,Media_Wearout_Indicator"
+ },
+ { "Transcend IDE Solid State Drive",
+ "TS(8|16|32|64|128)GSSD25-(M|S)",
+ "", "", ""
|