smartmontools SVN Rev 3317
Utility to control and monitor storage systems with "S.M.A.R.T."
drivedb.h
Go to the documentation of this file.
00001 /*
00002  * drivedb.h - smartmontools drive database file
00003  *
00004  * Home page of code is: http://smartmontools.sourceforge.net
00005  *
00006  * Copyright (C) 2003-11 Philip Williams, Bruce Allen
00007  * Copyright (C) 2008-13 Christian Franke <smartmontools-support@lists.sourceforge.net>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2, or (at your option)
00012  * any later version.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
00016  *
00017  */
00018 
00019 /*
00020  * Structure used to store drive database entries:
00021  *
00022  * struct drive_settings {
00023  *   const char * modelfamily;
00024  *   const char * modelregexp;
00025  *   const char * firmwareregexp;
00026  *   const char * warningmsg;
00027  *   const char * presets;
00028  * };
00029  *
00030  * The elements are used in the following ways:
00031  *
00032  *  modelfamily     Informal string about the model family/series of a
00033  *                  device. Set to "" if no info (apart from device id)
00034  *                  known.  The entry is ignored if this string starts with
00035  *                  a dollar sign.  Must not start with "USB:", see below.
00036  *  modelregexp     POSIX extended regular expression to match the model of
00037  *                  a device.  This should never be "".
00038  *  firmwareregexp  POSIX extended regular expression to match a devices's
00039  *                  firmware.  This is optional and should be "" if it is not
00040  *                  to be used.  If it is nonempty then it will be used to
00041  *                  narrow the set of devices matched by modelregexp.
00042  *  warningmsg      A message that may be displayed for matching drives.  For
00043  *                  example, to inform the user that they may need to apply a
00044  *                  firmware patch.
00045  *  presets         String with vendor-specific attribute ('-v') and firmware
00046  *                  bug fix ('-F') options.  Same syntax as in smartctl command
00047  *                  line.  The user's own settings override these.
00048  *
00049  * The regular expressions for drive model and firmware must match the full
00050  * string.  The effect of "^FULLSTRING$" is identical to "FULLSTRING".
00051  * The form ".*SUBSTRING.*" can be used if substring match is desired.
00052  *
00053  * The table will be searched from the start to end or until the first match,
00054  * so the order in the table is important for distinct entries that could match
00055  * the same drive.
00056  *
00057  *
00058  * Format for USB ID entries:
00059  *
00060  *  modelfamily     String with format "USB: DEVICE; BRIDGE" where
00061  *                  DEVICE is the name of the device and BRIDGE is
00062  *                  the name of the USB bridge.  Both may be empty
00063  *                  if no info known.
00064  *  modelregexp     POSIX extended regular expression to match the USB
00065  *                  vendor:product ID in hex notation ("0x1234:0xabcd").
00066  *                  This should never be "".
00067  *  firmwareregexp  POSIX extended regular expression to match the USB
00068  *                  bcdDevice info.  Only compared during search if other
00069  *                  entries with same USB vendor:product ID exist.
00070  *  warningmsg      Not used yet.
00071  *  presets         String with one device type ('-d') option.
00072  *
00073  */
00074 
00075 /*
00076 const drive_settings builtin_knowndrives[] = {
00077  */
00078   { "$Id: drivedb.h 3812 2013-04-20 18:59:19Z chrfranke $",
00079     "-", "-",
00080     "This is a dummy entry to hold the SVN-Id of drivedb.h",
00081     ""
00082   /* Default settings:
00083     "-v 1,raw48,Raw_Read_Error_Rate "
00084     "-v 2,raw48,Throughput_Performance "
00085     "-v 3,raw16(avg16),Spin_Up_Time "
00086     "-v 4,raw48,Start_Stop_Count "
00087     "-v 5,raw16(raw16),Reallocated_Sector_Ct "
00088     "-v 6,raw48,Read_Channel_Margin "             // HDD only
00089     "-v 7,raw48,Seek_Error_Rate "                 // HDD only
00090     "-v 8,raw48,Seek_Time_Performance "           // HDD only
00091     "-v 9,raw24(raw8),Power_On_Hours "
00092     "-v 10,raw48,Spin_Retry_Count "               // HDD only
00093     "-v 11,raw48,Calibration_Retry_Count "        // HDD only
00094     "-v 12,raw48,Power_Cycle_Count "
00095     "-v 13,raw48,Read_Soft_Error_Rate "
00096     //  14-174 Unknown_Attribute
00097     "-v 175,raw48,Program_Fail_Count_Chip "       // SSD only
00098     "-v 176,raw48,Erase_Fail_Count_Chip "         // SSD only
00099     "-v 177,raw48,Wear_Leveling_Count "           // SSD only
00100     "-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "        // SSD only
00101     "-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "         // SSD only
00102     "-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot "       // SSD only
00103     "-v 181,raw48,Program_Fail_Cnt_Total "
00104     "-v 182,raw48,Erase_Fail_Count_Total "        // SSD only
00105     "-v 183,raw48,Runtime_Bad_Block "
00106     "-v 184,raw48,End-to-End_Error "
00107     //  185-186 Unknown_Attribute
00108     "-v 187,raw48,Reported_Uncorrect "
00109     "-v 188,raw48,Command_Timeout "
00110     "-v 189,raw48,High_Fly_Writes "               // HDD only
00111     "-v 190,tempminmax,Airflow_Temperature_Cel "
00112     "-v 191,raw48,G-Sense_Error_Rate "            // HDD only
00113     "-v 192,raw48,Power-Off_Retract_Count "
00114     "-v 193,raw48,Load_Cycle_Count "              // HDD only
00115     "-v 194,tempminmax,Temperature_Celsius "
00116     "-v 195,raw48,Hardware_ECC_Recovered "
00117     "-v 196,raw16(raw16),Reallocated_Event_Count "
00118     "-v 197,raw48,Current_Pending_Sector "
00119     "-v 198,raw48,Offline_Uncorrectable "
00120     "-v 199,raw48,UDMA_CRC_Error_Count "
00121     "-v 200,raw48,Multi_Zone_Error_Rate "         // HDD only
00122     "-v 201,raw48,Soft_Read_Error_Rate "          // HDD only
00123     "-v 202,raw48,Data_Address_Mark_Errs "        // HDD only
00124     "-v 203,raw48,Run_Out_Cancel "
00125     "-v 204,raw48,Soft_ECC_Correction "
00126     "-v 205,raw48,Thermal_Asperity_Rate "
00127     "-v 206,raw48,Flying_Height "                 // HDD only
00128     "-v 207,raw48,Spin_High_Current "             // HDD only
00129     "-v 208,raw48,Spin_Buzz "                     // HDD only
00130     "-v 209,raw48,Offline_Seek_Performnce "       // HDD only
00131     //  210-219 Unknown_Attribute
00132     "-v 220,raw48,Disk_Shift "                    // HDD only
00133     "-v 221,raw48,G-Sense_Error_Rate "            // HDD only
00134     "-v 222,raw48,Loaded_Hours "                  // HDD only
00135     "-v 223,raw48,Load_Retry_Count "              // HDD only
00136     "-v 224,raw48,Load_Friction "                 // HDD only
00137     "-v 225,raw48,Load_Cycle_Count "              // HDD only
00138     "-v 226,raw48,Load-in_Time "                  // HDD only
00139     "-v 227,raw48,Torq-amp_Count "                // HDD only
00140     "-v 228,raw48,Power-off_Retract_Count "
00141     //  229 Unknown_Attribute
00142     "-v 230,raw48,Head_Amplitude "                // HDD only
00143     "-v 231,raw48,Temperature_Celsius "
00144     "-v 232,raw48,Available_Reservd_Space "
00145     "-v 233,raw48,Media_Wearout_Indicator "       // SSD only
00146     //  234-239 Unknown_Attribute
00147     "-v 240,raw48,Head_Flying_Hours "             // HDD only
00148     "-v 241,raw48,Total_LBAs_Written "
00149     "-v 242,raw48,Total_LBAs_Read "
00150     //  243-249 Unknown_Attribute
00151     "-v 250,raw48,Read_Error_Retry_Rate "
00152     //  251-253 Unknown_Attribute
00153     "-v 254,raw48,Free_Fall_Sensor "              // HDD only
00154   */
00155   },
00156   { "Apple SSD SM128", // Samsung?
00157     "APPLE SSD SM128",
00158     "", "", ""
00159   },
00160   { "Asus-Phison SSD",
00161     "ASUS-PHISON SSD",
00162     "", "", ""
00163   },
00164   { "Crucial/Micron RealSSD C300", // Marvell 88SS9174 BJP2
00165     "C300-CTFDDA[AC](064|128|256)MAG", // tested with C300-CTFDDAC128MAG/0002,
00166       // C300-CTFDDAC064MAG/0006
00167     "", "",
00168   //"-v 1,raw48,Raw_Read_Error_Rate "
00169   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00170   //"-v 9,raw24(raw8),Power_On_Hours "
00171   //"-v 12,raw48,Power_Cycle_Count "
00172     "-v 170,raw48,Grown_Failing_Block_Ct "
00173     "-v 171,raw48,Program_Fail_Count "
00174     "-v 172,raw48,Erase_Fail_Count "
00175     "-v 173,raw48,Wear_Leveling_Count "
00176     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00177     "-v 181,raw16,Non4k_Aligned_Access "
00178     "-v 183,raw48,SATA_Iface_Downshift "
00179   //"-v 184,raw48,End-to-End_Error "
00180   //"-v 187,raw48,Reported_Uncorrect "
00181   //"-v 188,raw48,Command_Timeout "
00182     "-v 189,raw48,Factory_Bad_Block_Ct "
00183   //"-v 194,tempminmax,Temperature_Celsius "
00184   //"-v 195,raw48,Hardware_ECC_Recovered "
00185   //"-v 196,raw16(raw16),Reallocated_Event_Count "
00186   //"-v 197,raw48,Current_Pending_Sector "
00187   //"-v 198,raw48,Offline_Uncorrectable "
00188   //"-v 199,raw48,UDMA_CRC_Error_Count "
00189     "-v 202,raw48,Perc_Rated_Life_Used "
00190     "-v 206,raw48,Write_Error_Rate"
00191   },
00192   { "Crucial/Micron RealSSD m4/C400", // Marvell 9176, fixed firmware
00193     "C400-MTFDDA[ACK](064|128|256|512)MAM|"
00194     "M4-CT(064|128|256|512)M4SSD[23]", // tested with M4-CT512M4SSD2/0309
00195     "030[9-Z]|03[1-Z].|0[4-Z]..|[1-Z]....*", // >= "0309"
00196     "",
00197   //"-v 1,raw48,Raw_Read_Error_Rate "
00198   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00199   //"-v 9,raw24(raw8),Power_On_Hours "
00200   //"-v 12,raw48,Power_Cycle_Count "
00201     "-v 170,raw48,Grown_Failing_Block_Ct "
00202     "-v 171,raw48,Program_Fail_Count "
00203     "-v 172,raw48,Erase_Fail_Count "
00204     "-v 173,raw48,Wear_Leveling_Count "
00205     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00206     "-v 181,raw16,Non4k_Aligned_Access "
00207     "-v 183,raw48,SATA_Iface_Downshift "
00208   //"-v 184,raw48,End-to-End_Error "
00209   //"-v 187,raw48,Reported_Uncorrect "
00210   //"-v 188,raw48,Command_Timeout "
00211     "-v 189,raw48,Factory_Bad_Block_Ct "
00212   //"-v 194,tempminmax,Temperature_Celsius "
00213   //"-v 195,raw48,Hardware_ECC_Recovered "
00214   //"-v 196,raw16(raw16),Reallocated_Event_Count "
00215   //"-v 197,raw48,Current_Pending_Sector "
00216   //"-v 198,raw48,Offline_Uncorrectable "
00217   //"-v 199,raw48,UDMA_CRC_Error_Count "
00218     "-v 202,raw48,Perc_Rated_Life_Used "
00219     "-v 206,raw48,Write_Error_Rate"
00220   },
00221   { "Crucial/Micron RealSSD m4/C400", // Marvell 9176, buggy or unknown firmware
00222     "C400-MTFDDA[ACK](064|128|256|512)MAM|" // tested with C400-MTFDDAC256MAM/0002
00223     "M4-CT(064|128|256|512)M4SSD[23]", // tested with M4-CT064M4SSD2/0002,
00224       // M4-CT064M4SSD2/0009, M4-CT256M4SSD3/000F
00225     "",
00226     "This drive may hang after 5184 hours of power-on time:\n"
00227     "http://www.tomshardware.com/news/Crucial-m4-Firmware-BSOD,14544.html\n"
00228     "See the following web pages for firmware updates:\n"
00229     "http://www.crucial.com/support/firmware.aspx\n"
00230     "http://www.micron.com/products/solid-state-storage/client-ssd#software",
00231     "-v 170,raw48,Grown_Failing_Block_Ct "
00232     "-v 171,raw48,Program_Fail_Count "
00233     "-v 172,raw48,Erase_Fail_Count "
00234     "-v 173,raw48,Wear_Leveling_Count "
00235     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00236     "-v 181,raw16,Non4k_Aligned_Access "
00237     "-v 183,raw48,SATA_Iface_Downshift "
00238     "-v 189,raw48,Factory_Bad_Block_Ct "
00239     "-v 202,raw48,Perc_Rated_Life_Used "
00240     "-v 206,raw48,Write_Error_Rate"
00241   },
00242   { "SandForce Driven SSDs",
00243     "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
00244     "ADATA SSD S(396|510|599) .?..GB|" // tested with ADATA SSD S510 60GB/320ABBF0,
00245       // ADATA SSD S599 256GB/3.1.0, 64GB/3.4.6
00246     "Corsair CSSD-F(40|60|80|115|120|160|240)GBP?2.*|" // Corsair Force, tested with
00247       // Corsair CSSD-F40GB2/1.1, Corsair CSSD-F115GB2-A/2.1a
00248     "Corsair Force (3 SSD|GS|GT)|" // SF-2281, tested with
00249       // Corsair Force 3 SSD/1.3.2, GT/1.3.3, GS/5.03
00250     "FM-25S2S-(60|120|240)GBP2|" // G.SKILL Phoenix Pro, SF-1200, tested with
00251       // FM-25S2S-240GBP2/4.2
00252     "FTM(06|12|24|48)CT25H|" // Supertalent TeraDrive CT, tested with
00253       // FTM24CT25H/STTMP2P1
00254     "KINGSTON SH10[03]S3(90|120|240|480)G|" // HyperX (3K), SF-2281, tested with
00255       // SH100S3240G/320ABBF0, SH103S3120G/505ABBF0
00256     "KINGSTON SVP200S3(7A)?(60|90|120|240|480)G|" // V+ 200, SF-2281, tested with
00257       // SVP200S37A480G/502ABBF0, SVP200S390G/332ABBF0
00258     "KINGSTON SMS450S3(32|64|128)G|" // mSATA, SF-2281, tested with SMS450S3128G/503ABBF0
00259     "KINGSTON (SV300|SKC100|SE100)S3.*G|" // other SF-2281
00260     "MKNSSDCR(45|60|90|120|180|240|480)GB(-DX)?|" // Mushkin Chronos (deluxe), SF-2281,
00261       // tested with MKNSSDCR120GB
00262     "Mushkin MKNSSDCL(40|60|80|90|115|120|180|240|480)GB-DX2?|" // Mushkin Callisto deluxe,
00263       // SF-1200/1222, Mushkin MKNSSDCL60GB-DX/361A13F0
00264     "OCZ[ -](AGILITY2([ -]EX)?|COLOSSUS2|ONYX2|VERTEX(2|-LE))( [123]\\..*)?|" // SF-1200,
00265       // tested with OCZ-VERTEX2/1.11, OCZ-VERTEX2 3.5/1.11
00266     "OCZ-NOCTI|" // mSATA, SF-2100, tested with OCZ-NOCTI/2.15
00267     "OCZ-REVODRIVE3?( X2)?|" // PCIe, SF-1200/2281, tested with
00268       // OCZ-REVODRIVE( X2)?/1.20, OCZ-REVODRIVE3 X2/2.11
00269     "OCZ[ -](VELO|VERTEX2[ -](EX|PRO))( [123]\\..*)?|" // SF-1500, tested with
00270       // OCZ VERTEX2-PRO/1.10 (Bogus thresholds for attribute 232 and 235)
00271     "D2[CR]STK251...-....|" // OCZ Deneva 2 C/R, SF-22xx/25xx,
00272       // tested with D2CSTK251M11-0240/2.08, D2CSTK251A10-0240/2.15
00273     "OCZ-(AGILITY3|SOLID3|VERTEX3( MI)?)|"  // SF-2200, tested with OCZ-VERTEX3/2.02,
00274       // OCZ-AGILITY3/2.11, OCZ-SOLID3/2.15, OCZ-VERTEX3 MI/2.15
00275     "OCZ Z-DRIVE R4 [CR]M8[48]|" // PCIe, SF-2282/2582, tested with OCZ Z-DRIVE R4 CM84/2.13
00276       // (Bogus attributes under Linux)
00277     "TALOS2|" // OCZ Talos 2 C/R, SAS (works with -d sat), 2*SF-2282, tested with TALOS2/3.20E
00278     "(APOC|DENC|DENEVA|FTNC|GFGC|MANG|MMOC|NIMC|TMSC).*|" // other OCZ SF-1200,
00279       // tested with DENCSTE251M11-0120/1.33, DENEVA PCI-E/1.33
00280     "(DENR|DRSAK|EC188|NIMR|PSIR|TRSAK).*|" // other OCZ SF-1500
00281     "OWC Mercury Electra [36]G SSD|" // tested with
00282       // OWC Mercury Electra 6G SSD/502ABBF0
00283     "OWC Mercury Extreme Pro (RE )?SSD|" // tested with
00284       // OWC Mercury Extreme Pro SSD/360A13F0
00285     "Patriot Pyro|" // tested with Patriot Pyro/332ABBF0
00286     "SanDisk SDSSDX(60|120|240|480)GG25|" // SanDisk Extreme, SF-2281, tested with
00287       // SDSSDX240GG25/R201
00288     "SuperSSpeed S301 [0-9]*GB|" // SF-2281, tested with SuperSSpeed S301 128GB/503
00289     "(TX32|TX31C1|VN0.?..GCNMK).*|" // Smart Storage Systems XceedSTOR
00290     "(TX22D1|TX21B1).*|" // Smart Storage Systems XceedIOPS2
00291     "TX52D1.*|" // Smart Storage Systems Xcel-200
00292     "TS(64|128|256|512)GSSD320|" // Transcend SSD320, SF-2281, tested with TS128GSSD320
00293     "UGB(88P|99S)GC...H[BF].", // Unigen, tested with
00294       // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
00295     "", "",
00296     "-v 1,raw24/raw32,Raw_Read_Error_Rate "
00297     "-v 5,raw48,Retired_Block_Count "
00298     "-v 9,msec24hour32,Power_On_Hours_and_Msec "
00299   //"-v 12,raw48,Power_Cycle_Count "
00300     "-v 13,raw24/raw32,Soft_Read_Error_Rate "
00301     "-v 100,raw48,Gigabytes_Erased "
00302     "-v 170,raw48,Reserve_Block_Count "
00303     "-v 171,raw48,Program_Fail_Count "
00304     "-v 172,raw48,Erase_Fail_Count "
00305     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00306     "-v 177,raw48,Wear_Range_Delta "
00307     "-v 181,raw48,Program_Fail_Count "
00308     "-v 182,raw48,Erase_Fail_Count "
00309     "-v 184,raw48,IO_Error_Detect_Code_Ct "
00310   //"-v 187,raw48,Reported_Uncorrect "
00311     "-v 189,tempminmax,Airflow_Temperature_Cel "
00312   //"-v 194,tempminmax,Temperature_Celsius "
00313     "-v 195,raw24/raw32,ECC_Uncorr_Error_Count "
00314   //"-v 196,raw16(raw16),Reallocated_Event_Count "
00315     "-v 198,raw24/raw32:210zr54,Uncorrectable_Sector_Ct " // KINGSTON SE100S3100G/510ABBF0
00316     "-v 199,raw48,SATA_CRC_Error_Count "
00317     "-v 201,raw24/raw32,Unc_Soft_Read_Err_Rate "
00318     "-v 204,raw24/raw32,Soft_ECC_Correct_Rate "
00319     "-v 230,raw48,Life_Curve_Status "
00320     "-v 231,raw48,SSD_Life_Left "
00321   //"-v 232,raw48,Available_Reservd_Space "
00322     "-v 233,raw48,SandForce_Internal "
00323     "-v 234,raw48,SandForce_Internal "
00324     "-v 235,raw48,SuperCap_Health "
00325     "-v 241,raw48,Lifetime_Writes_GiB "
00326     "-v 242,raw48,Lifetime_Reads_GiB"
00327   },
00328   { "Indilinx Barefoot based SSDs",
00329     "Corsair CSSD-V(32|60|64|128|256)GB2|" // Corsair Nova, tested with Corsair CSSD-V32GB2/2.2
00330     "CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
00331     "G.SKILL FALCON (64|128|256)GB SSD|" // tested with G.SKILL FALCON 128GB SSD/2030
00332     "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO)?)|" // tested with
00333       // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
00334     "Patriot[ -]Torqx.*|"
00335     "RENICE Z2|" // tested with RENICE Z2/2030
00336     "STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive GX, tested with STT_FTM64GX25H/1916
00337     "TS(18|25)M(64|128)MLC(16|32|64|128|256|512)GSSD|" // ASAX Leopard Hunt II, tested with TS25M64MLC64GSSD/0.1
00338     "FM-25S2I-(64|128)GBFII|" // G.Skill FALCON II, tested with FM-25S2I-64GBFII
00339     "TS(60|120)GSSD25D-M", // Transcend Ultra SSD (SATA II), see also Ticket #80
00340     "", "",
00341     "-v 1,raw64 " // Raw_Read_Error_Rate
00342     "-v 9,raw64 " // Power_On_Hours
00343     "-v 12,raw64 " // Power_Cycle_Count
00344     "-v 184,raw64,Initial_Bad_Block_Count "
00345     "-v 195,raw64,Program_Failure_Blk_Ct "
00346     "-v 196,raw64,Erase_Failure_Blk_Ct "
00347     "-v 197,raw64,Read_Failure_Blk_Ct "
00348     "-v 198,raw64,Read_Sectors_Tot_Ct "
00349     "-v 199,raw64,Write_Sectors_Tot_Ct "
00350     "-v 200,raw64,Read_Commands_Tot_Ct "
00351     "-v 201,raw64,Write_Commands_Tot_Ct "
00352     "-v 202,raw64,Error_Bits_Flash_Tot_Ct "
00353     "-v 203,raw64,Corr_Read_Errors_Tot_Ct "
00354     "-v 204,raw64,Bad_Block_Full_Flag "
00355     "-v 205,raw64,Max_PE_Count_Spec "
00356     "-v 206,raw64,Min_Erase_Count "
00357     "-v 207,raw64,Max_Erase_Count "
00358     "-v 208,raw64,Average_Erase_Count "
00359     "-v 209,raw64,Remaining_Lifetime_Perc "
00360     "-v 210,raw64,Indilinx_Internal "
00361     "-v 211,raw64,SATA_Error_Ct_CRC "
00362     "-v 212,raw64,SATA_Error_Ct_Handshake "
00363     "-v 213,raw64,Indilinx_Internal"
00364   },
00365   { "Indilinx Barefoot_2/Everest/Martini based SSDs",
00366     "OCZ VERTEX[ -]PLUS|" // tested with OCZ VERTEX-PLUS/3.55, OCZ VERTEX PLUS/3.55
00367     "OCZ-VERTEX PLUS R2|" // Barefoot 2, tested with OCZ-VERTEX PLUS R2/1.2
00368     "OCZ-PETROL|" // Everest 1, tested with OCZ-PETROL/3.12
00369     "OCZ-AGILITY4|" // Everest 2, tested with OCZ-AGILITY4/1.5.2
00370     "OCZ-VERTEX4", // Everest 2, tested with OCZ-VERTEX4/1.5
00371     "", "", ""
00372   //"-v 1,raw48,Raw_Read_Error_Rate "
00373   //"-v 3,raw16(avg16),Spin_Up_Time "
00374   //"-v 4,raw48,Start_Stop_Count "
00375   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00376   //"-v 9,raw24(raw8),Power_On_Hours "
00377   //"-v 12,raw48,Power_Cycle_Count "
00378     "-v 232,raw48,Lifetime_Writes " // LBA?
00379   //"-v 233,raw48,Media_Wearout_Indicator"
00380   },
00381   { "Indilinx Barefoot 3 based SSDs",
00382     "OCZ-VECTOR", // tested with OCZ-VECTOR/1.03
00383     "", "", ""
00384     "-v 5,raw48,Runtime_Bad_Block "
00385   //"-v 9,raw24(raw8),Power_On_Hours "
00386   //"-v 12,raw48,Power_Cycle_Count "
00387     "-v 171,raw48,Avail_OP_Block_Count "
00388     "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
00389     "-v 187,raw48,Total_Unc_NAND_Reads "
00390     "-v 195,raw48,Total_Prog_Failures "
00391     "-v 196,raw48,Total_Erase_Failures "
00392     "-v 197,raw48,Total_Unc_Read_Failures "
00393     "-v 198,raw48,Host_Reads_GiB "
00394     "-v 199,raw48,Host_Writes_GiB "
00395     "-v 208,raw48,Average_Erase_Count "
00396     "-v 210,raw48,SATA_CRC_Error_Count "
00397     "-v 233,raw48,Remaining_Lifetime_Perc "
00398     "-v 249,raw48,Total_NAND_Prog_Ct_GiB"
00399   },
00400   { "InnoDisk InnoLite SATADOM D150QV-L SSDs", // tested with InnoLite SATADOM D150QV-L/120319
00401     "InnoLite SATADOM D150QV-L",
00402     "", "",
00403   //"-v 1,raw48,Raw_Read_Error_Rate "
00404   //"-v 2,raw48,Throughput_Performance "
00405   //"-v 3,raw16(avg16),Spin_Up_Time "
00406   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00407   //"-v 7,raw48,Seek_Error_Rate " // from InnoDisk iSMART Linux tool, useless for SSD
00408   //"-v 8,raw48,Seek_Time_Performance "
00409   //"-v 9,raw24(raw8),Power_On_Hours "
00410   //"-v 10,raw48,Spin_Retry_Count "
00411   //"-v 12,raw48,Power_Cycle_Count "
00412     "-v 168,raw48,SATA_PHY_Error_Count "
00413     "-v 170,raw48,Bad_Block_Count "
00414     "-v 173,raw48,Erase_Count "
00415     "-v 175,raw48,Bad_Cluster_Table_Count "
00416     "-v 192,raw48,Unexpect_Power_Loss_Ct "
00417   //"-v 194,tempminmax,Temperature_Celsius "
00418   //"-v 197,raw48,Current_Pending_Sector "
00419     "-v 229,hex48,Flash_ID "
00420     "-v 235,raw48,Later_Bad_Block "
00421     "-v 236,raw48,Unstable_Power_Count "
00422     "-v 240,raw48,Write_Head"
00423   },
00424   { "Intel X25-E SSDs",
00425     "SSDSA2SH(032|064)G1.* INTEL",  // G1 = first generation
00426     "", "",
00427   //"-v 3,raw16(avg16),Spin_Up_Time "
00428   //"-v 4,raw48,Start_Stop_Count "
00429   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00430   //"-v 9,raw24(raw8),Power_On_Hours "
00431   //"-v 12,raw48,Power_Cycle_Count "
00432     "-v 192,raw48,Unsafe_Shutdown_Count "
00433     "-v 225,raw48,Host_Writes_32MiB "
00434     "-v 226,raw48,Intel_Internal "
00435     "-v 227,raw48,Intel_Internal "
00436     "-v 228,raw48,Intel_Internal "
00437   //"-v 232,raw48,Available_Reservd_Space "
00438   //"-v 233,raw48,Media_Wearout_Indicator"
00439   },
00440   { "Intel X18-M/X25-M G1 SSDs",
00441     "INTEL SSDSA[12]MH(080|160)G1.*",  // G1 = first generation, 50nm
00442     "", "",
00443   //"-v 3,raw16(avg16),Spin_Up_Time "
00444   //"-v 4,raw48,Start_Stop_Count "
00445   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00446   //"-v 9,raw24(raw8),Power_On_Hours "
00447   //"-v 12,raw48,Power_Cycle_Count "
00448     "-v 192,raw48,Unsafe_Shutdown_Count "
00449     "-v 225,raw48,Host_Writes_32MiB "
00450     "-v 226,raw48,Intel_Internal "
00451     "-v 227,raw48,Intel_Internal "
00452     "-v 228,raw48,Intel_Internal "
00453   //"-v 232,raw48,Available_Reservd_Space "
00454   //"-v 233,raw48,Media_Wearout_Indicator"
00455   },
00456   { "Intel X18-M/X25-M/X25-V G2 SSDs", // fixed firmware
00457       // tested with INTEL SSDSA2M(080|160)G2GC/2CV102J8 (X25-M)
00458     "INTEL SSDSA[12]M(040|080|120|160)G2.*",  // G2 = second generation, 34nm
00459     "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
00460     "",
00461   //"-v 3,raw16(avg16),Spin_Up_Time "
00462   //"-v 4,raw48,Start_Stop_Count "
00463   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00464   //"-v 9,raw24(raw8),Power_On_Hours "
00465   //"-v 12,raw48,Power_Cycle_Count "
00466   //"-v 184,raw48,End-to-End_Error " // G2 only
00467     "-v 192,raw48,Unsafe_Shutdown_Count "
00468     "-v 225,raw48,Host_Writes_32MiB "
00469     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
00470     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
00471     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
00472   //"-v 232,raw48,Available_Reservd_Space "
00473   //"-v 233,raw48,Media_Wearout_Indicator"
00474   },
00475   { "Intel X18-M/X25-M/X25-V G2 SSDs", // buggy or unknown firmware
00476       // tested with INTEL SSDSA2M040G2GC/2CV102HD (X25-V)
00477     "INTEL SSDSA[12]M(040|080|120|160)G2.*",
00478     "",
00479     "This drive may require a firmware update to\n"
00480     "fix possible drive hangs when reading SMART self-test log:\n"
00481     "http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18363",
00482     "-v 192,raw48,Unsafe_Shutdown_Count "
00483     "-v 225,raw48,Host_Writes_32MiB "
00484     "-v 226,raw48,Workld_Media_Wear_Indic "
00485     "-v 227,raw48,Workld_Host_Reads_Perc "
00486     "-v 228,raw48,Workload_Minutes"
00487   },
00488   { "Intel 313 Series SSDs", // tested with INTEL SSDSA2VP020G3/9CV10379
00489     "INTEL SSDSA2VP(020|024)G3",
00490     "", "",
00491   //"-v 3,raw16(avg16),Spin_Up_Time "
00492   //"-v 4,raw48,Start_Stop_Count "
00493   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00494   //"-v 9,raw24(raw8),Power_On_Hours "
00495   //"-v 12,raw48,Power_Cycle_Count "
00496     "-v 170,raw48,Reserve_Block_Count "
00497     "-v 171,raw48,Program_Fail_Count "
00498     "-v 172,raw48,Erase_Fail_Count "
00499     "-v 183,raw48,SATA_Downshift_Count "
00500   //"-v 184,raw48,End-to-End_Error "
00501   //"-v 187,raw48,Reported_Uncorrect "
00502     "-v 192,raw48,Unsafe_Shutdown_Count "
00503     "-v 225,raw48,Host_Writes_32MiB "
00504     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
00505     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
00506     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
00507   //"-v 232,raw48,Available_Reservd_Space "
00508   //"-v 233,raw48,Media_Wearout_Indicator "
00509     "-v 241,raw48,Host_Writes_32MiB "
00510     "-v 242,raw48,Host_Reads_32MiB"
00511   },
00512   { "Intel 320 Series SSDs", // tested with INTEL SSDSA2CT040G3/4PC10362,
00513       // INTEL SSDSA2CW160G3/4PC10362, INTEL SSDSA2BT040G3/4PC10362
00514     "INTEL SSDSA[12][BC][WT](040|080|120|160|300|600)G3",
00515     "", "",
00516     "-F nologdir "
00517   //"-v 3,raw16(avg16),Spin_Up_Time "
00518   //"-v 4,raw48,Start_Stop_Count "
00519   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00520   //"-v 9,raw24(raw8),Power_On_Hours "
00521   //"-v 12,raw48,Power_Cycle_Count "
00522     "-v 170,raw48,Reserve_Block_Count "
00523     "-v 171,raw48,Program_Fail_Count "
00524     "-v 172,raw48,Erase_Fail_Count "
00525   //"-v 184,raw48,End-to-End_Error "
00526   //"-v 187,raw48,Reported_Uncorrect "
00527     "-v 192,raw48,Unsafe_Shutdown_Count "
00528     "-v 225,raw48,Host_Writes_32MiB "
00529     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
00530     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
00531     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
00532   //"-v 232,raw48,Available_Reservd_Space "
00533   //"-v 233,raw48,Media_Wearout_Indicator "
00534     "-v 241,raw48,Host_Writes_32MiB "
00535     "-v 242,raw48,Host_Reads_32MiB"
00536   },
00537   { "Intel 710 Series SSDs", // tested with INTEL SSDSA2BZ[12]00G3/6PB10362
00538     "INTEL SSDSA2BZ(100|200|300)G3",
00539     "", "",
00540     "-F nologdir "
00541   //"-v 3,raw16(avg16),Spin_Up_Time "
00542   //"-v 4,raw48,Start_Stop_Count "
00543   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00544   //"-v 9,raw24(raw8),Power_On_Hours "
00545   //"-v 12,raw48,Power_Cycle_Count "
00546     "-v 170,raw48,Reserve_Block_Count "
00547     "-v 171,raw48,Program_Fail_Count "
00548     "-v 172,raw48,Erase_Fail_Count "
00549     "-v 174,raw48,Unexpect_Power_Loss_Ct " // Missing in 710 specification from September 2011
00550     "-v 183,raw48,SATA_Downshift_Count "
00551   //"-v 184,raw48,End-to-End_Error "
00552   //"-v 187,raw48,Reported_Uncorrect "
00553   //"-v 190,tempminmax,Airflow_Temperature_Cel "
00554     "-v 192,raw48,Unsafe_Shutdown_Count "
00555     "-v 225,raw48,Host_Writes_32MiB "
00556     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
00557     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
00558     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
00559   //"-v 232,raw48,Available_Reservd_Space "
00560   //"-v 233,raw48,Media_Wearout_Indicator "
00561     "-v 241,raw48,Host_Writes_32MiB "
00562     "-v 242,raw48,Host_Reads_32MiB"
00563   },
00564   { "Intel 510 Series SSDs",
00565     "INTEL SSDSC2MH(120|250)A2",
00566     "", "",
00567   //"-v 3,raw16(avg16),Spin_Up_Time "
00568   //"-v 4,raw48,Start_Stop_Count "
00569   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00570   //"-v 9,raw24(raw8),Power_On_Hours "
00571   //"-v 12,raw48,Power_Cycle_Count "
00572     "-v 192,raw48,Unsafe_Shutdown_Count "
00573     "-v 225,raw48,Host_Writes_32MiB "
00574   //"-v 232,raw48,Available_Reservd_Space "
00575   //"-v 233,raw48,Media_Wearout_Indicator"
00576   },
00577   { "Intel 520 Series SSDs", // tested with INTEL SSDSC2CW120A3/400i, SSDSC2BW480A3F/400i
00578     "INTEL SSDSC2[BC]W(060|120|180|240|480)A3F?",
00579     "", "",
00580   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00581     "-v 9,msec24hour32,Power_On_Hours_and_Msec "
00582   //"-v 12,raw48,Power_Cycle_Count "
00583     "-v 170,raw48,Available_Reservd_Space "
00584     "-v 171,raw48,Program_Fail_Count "
00585     "-v 172,raw48,Erase_Fail_Count "
00586     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00587   //"-v 184,raw48,End-to-End_Error "
00588     "-v 187,raw48,Uncorrectable_Error_Cnt "
00589   //"-v 192,raw48,Power-Off_Retract_Count "
00590     "-v 225,raw48,Host_Writes_32MiB "
00591     "-v 226,raw48,Workld_Media_Wear_Indic "
00592     "-v 227,raw48,Workld_Host_Reads_Perc "
00593     "-v 228,raw48,Workload_Minutes "
00594   //"-v 232,raw48,Available_Reservd_Space "
00595   //"-v 233,raw48,Media_Wearout_Indicator "
00596     "-v 241,raw48,Host_Writes_32MiB "
00597     "-v 242,raw48,Host_Reads_32MiB "
00598     "-v 249,raw48,NAND_Writes_1GiB"
00599   },
00600   { "Intel 330 Series SSDs", // tested with INTEL SSDSC2CT180A3/300i, SSDSC2CT240A3/300i
00601     "INTEL SSDSC2CT(060|120|180|240)A3",
00602     "", "",
00603   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00604     "-v 9,msec24hour32,Power_On_Hours_and_Msec "
00605   //"-v 12,raw48,Power_Cycle_Count "
00606   //"-v 181,raw48,Program_Fail_Cnt_Total " // ] Missing in 330 specification from April 2012
00607   //"-v 182,raw48,Erase_Fail_Count_Total " // ]
00608   //"-v 192,raw48,Power-Off_Retract_Count "
00609     "-v 225,raw48,Host_Writes_32MiB "
00610   //"-v 232,raw48,Available_Reservd_Space "
00611   //"-v 233,raw48,Media_Wearout_Indicator "
00612     "-v 241,raw48,Host_Writes_32MiB "
00613     "-v 242,raw48,Host_Reads_32MiB "
00614     "-v 249,raw48,NAND_Writes_1GiB"
00615   },
00616   { "Intel DC S3700 Series SSDs", // tested with INTEL SSDSC2BA200G3/5DV10250
00617     "INTEL SSDSC(1N|2B)A(100|200|400|800)G3",
00618     "", "",
00619   //"-v 3,raw16(avg16),Spin_Up_Time "
00620   //"-v 4,raw48,Start_Stop_Count "
00621   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00622   //"-v 9,raw24(raw8),Power_On_Hours "
00623   //"-v 12,raw48,Power_Cycle_Count "
00624     "-v 170,raw48,Available_Reservd_Space "
00625     "-v 171,raw48,Program_Fail_Count "
00626     "-v 172,raw48,Erase_Fail_Count "
00627     "-v 174,raw48,Unsafe_Shutdown_Count "
00628     "-v 175,raw48,Power_Loss_Cap_Test "
00629     "-v 183,raw48,SATA_Downshift_Count "
00630   //"-v 184,raw48,End-to-End_Error "
00631   //"-v 187,raw48,Reported_Uncorrect "
00632     "-v 190,tempminmax,Temperature_Case "
00633     "-v 192,raw48,Unsafe_Shutdown_Count "
00634     "-v 194,tempminmax,Temperature_Internal "
00635   //"-v 197,raw48,Current_Pending_Sector "
00636     "-v 199,raw48,CRC_Error_Count "
00637     "-v 225,raw48,Host_Writes_32MiB "
00638     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
00639     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
00640     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
00641   //"-v 232,raw48,Available_Reservd_Space "
00642   //"-v 233,raw48,Media_Wearout_Indicator "
00643     "-v 234,raw48,Thermal_Throttle "
00644     "-v 241,raw48,Host_Writes_32MiB "
00645     "-v 242,raw48,Host_Reads_32MiB"
00646   },
00647   { "Kingston branded X25-V SSDs", // fixed firmware
00648     "KINGSTON SSDNow 40GB",
00649     "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
00650     "",
00651     "-v 192,raw48,Unsafe_Shutdown_Count "
00652     "-v 225,raw48,Host_Writes_32MiB "
00653     "-v 226,raw48,Workld_Media_Wear_Indic "
00654     "-v 227,raw48,Workld_Host_Reads_Perc "
00655     "-v 228,raw48,Workload_Minutes"
00656   },
00657   { "Kingston branded X25-V SSDs", // buggy or unknown firmware
00658     "KINGSTON SSDNow 40GB",
00659     "",
00660     "This drive may require a firmware update to\n"
00661     "fix possible drive hangs when reading SMART self-test log.\n"
00662     "To update Kingston branded drives, a modified Intel update\n"
00663     "tool must be used. Search for \"kingston 40gb firmware\".",
00664     "-v 192,raw48,Unsafe_Shutdown_Count "
00665     "-v 225,raw48,Host_Writes_32MiB "
00666     "-v 226,raw48,Workld_Media_Wear_Indic "
00667     "-v 227,raw48,Workld_Host_Reads_Perc "
00668     "-v 228,raw48,Workload_Minutes"
00669   },
00670   { "JMicron based SSDs", // JMicron JMF60x
00671     "Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
00672     "TS(2|4|8|16|32|64|128|192)GSSD25S?-(M|S)", // Transcend IDE and SATA, tested with TS32GSSD25-M/V090331
00673     "[BV].*", // other Transcend SSD versions will be catched by subsequent entry
00674     "",
00675   //"-v 9,raw24(raw8),Power_On_Hours " // raw value always 0?
00676   //"-v 12,raw48,Power_Cycle_Count "
00677   //"-v 194,tempminmax,Temperature_Celsius " // raw value always 0?
00678     "-v 229,hex64:w012345r,Halt_System/Flash_ID " // Halt, Flash[7]
00679     "-v 232,hex64:w012345r,Firmware_Version_Info " // "YYMMDD", #Channels, #Banks
00680     "-v 233,hex48:w01234,ECC_Fail_Record " // Fail number, Row[3], Channel, Bank
00681     "-v 234,raw24/raw24:w01234,Avg/Max_Erase_Count "
00682     "-v 235,raw24/raw24:w01z23,Good/Sys_Block_Count"
00683   },
00684   { "JMicron based SSDs", // JMicron JMF61x
00685     "ADATA S596 Turbo|"  // tested with ADATA S596 Turbo 256GB SATA SSD (JMicron JMF616)
00686     "APPLE SSD TS.*|"  // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
00687     "KINGSTON SNV425S2(64|128)GB|"  // SSDNow V Series (2. Generation, JMF618),
00688                                     // tested with KINGSTON SNV425S264GB/C091126a
00689     "KINGSTON SSDNOW 30GB|" // tested with KINGSTON SSDNOW 30GB/AJXA0202
00690     "KINGSTON SS100S2(8|16)G|"  // SSDNow S100 Series, tested with KINGSTON SS100S28G/D100309a
00691     "KINGSTON SVP?100S2B?(64|96|128|256|512)G|"  // SSDNow V100/V+100 Series,
00692       // tested with KINGSTON SVP100S296G/CJR10202, KINGSTON SV100S2256G/D110225a
00693     "KINGSTON SV200S3(64|128|256)G|" // SSDNow V200 Series, tested with KINGSTON SV200S3128G/E120506a
00694     "TOSHIBA THNS128GG4BBAA|"  // Toshiba / Super Talent UltraDrive DX,
00695                                // tested with Toshiba 128GB 2.5" SSD (built in MacBooks)
00696     "TOSHIBA THNSNC128GMLJ|" // tested with THNSNC128GMLJ/CJTA0202 (built in Toshiba Protege/Dynabook)
00697     "TS(8|16|32|64|128|192|256|512)GSSD25S?-(MD?|S)", // Transcend IDE and SATA (JMF612), tested with
00698       // TS256GSSD25S-M/101028, TS32GSSD25-M/20101227
00699     "", "",
00700   //"-v 1,raw48,Raw_Read_Error_Rate "
00701   //"-v 2,raw48,Throughput_Performance "
00702     "-v 3,raw48,Unknown_Attribute "
00703   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00704     "-v 7,raw48,Unknown_Attribute "
00705     "-v 8,raw48,Unknown_Attribute "
00706   //"-v 9,raw24(raw8),Power_On_Hours "
00707     "-v 10,raw48,Unknown_Attribute "
00708   //"-v 12,raw48,Power_Cycle_Count "
00709   //"-v 167,raw48,Unknown_Attribute "
00710     "-v 168,raw48,SATA_Phy_Error_Count "
00711   //"-v 169,raw48,Unknown_Attribute "
00712     "-v 170,raw16,Bad_Block_Count "
00713     "-v 173,raw16,Erase_Count "
00714     "-v 175,raw48,Bad_Cluster_Table_Count "
00715     "-v 192,raw48,Unexpect_Power_Loss_Ct "
00716   //"-v 194,tempminmax,Temperature_Celsius "
00717   //"-v 197,raw48,Current_Pending_Sector "
00718     "-v 240,raw48,Unknown_Attribute"
00719   },
00720   { "Plextor M3 (Pro) Series SSDs", // Marvell 9174, tested with PLEXTOR PX-128M3/1.01,
00721       // PLEXTOR PX-128M3P/1.04, PLEXTOR PX-256M3/1.05
00722       // (1.04/5 Firmware self-test log lifetime unit is bogus, possibly 1/256 hours)
00723     "PLEXTOR PX-(64|128|256|512)M3P?",
00724     "", "",
00725   //"-v 1,raw48,Raw_Read_Error_Rate "
00726   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00727   //"-v 9,raw24(raw8),Power_On_Hours "
00728   //"-v 12,raw48,Power_Cycle_Count "
00729   //"-v 177,raw48,Wear_Leveling_Count "
00730   //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
00731   //"-v 181,raw48,Program_Fail_Cnt_Total "
00732   //"-v 182,raw48,Erase_Fail_Count_Total "
00733   //"-v 187,raw48,Reported_Uncorrect "
00734   //"-v 192,raw48,Power-Off_Retract_Count "
00735   //"-v 196,raw16(raw16),Reallocated_Event_Count "
00736   //"-v 198,raw48,Offline_Uncorrectable "
00737   //"-v 199,raw48,UDMA_CRC_Error_Count "
00738   //"-v 232,raw48,Available_Reservd_Space "
00739     ""
00740   },
00741   { "Samsung based SSDs",
00742     "SAMSUNG SSD PM800 .*GB|"  // SAMSUNG PM800 SSDs, tested with SAMSUNG SSD PM800 TH 64GB/VBM25D1Q
00743     "SAMSUNG SSD PM810 .*GB|"  // SAMSUNG PM810 (470 series) SSDs, tested with SAMSUNG SSD PM810 2.5" 128GB/AXM06D1Q
00744     "SAMSUNG 470 Series SSD|"  // tested with SAMSUNG 470 Series SSD 64GB/AXM09B1Q
00745     "SAMSUNG SSD 830 Series|"  // tested with SAMSUNG SSD 830 Series 64GB/CXM03B1Q
00746     "Samsung SSD 840 (PRO )?Series|" // tested with Samsung SSD 840 PRO Series 128GB/DXM04B0Q,
00747       // Samsung SSD 840 Series/DXT06B0Q
00748     "SAMSUNG MZ7WD((120|240)HAFV|480HAGM|960HAGP)-00003", // SM843T Series, tested with
00749       // SAMSUNG MZ7WD120HAFV-00003/DXM85W3Q
00750     "", "",
00751   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
00752   //"-v 9,raw24(raw8),Power_On_Hours "
00753   //"-v 12,raw48,Power_Cycle_Count "
00754   //"-v 175,raw48,Program_Fail_Count_Chip "
00755   //"-v 176,raw48,Erase_Fail_Count_Chip "
00756   //"-v 177,raw48,Wear_Leveling_Count "
00757   //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
00758   //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "
00759   //"-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot "
00760   //"-v 181,raw48,Program_Fail_Cnt_Total "
00761   //"-v 182,raw48,Erase_Fail_Count_Total "
00762   //"-v 183,raw48,Runtime_Bad_Block "
00763   //"-v 184,raw48,End-to-End_Error " // SM843T Series
00764     "-v 187,raw48,Uncorrectable_Error_Cnt "
00765   //"-v 190,tempminmax,Airflow_Temperature_Cel "  // seems to be some sort of temperature value for 470 Series?
00766   //"-v 194,tempminmax,Temperature_Celsius "
00767     "-v 195,raw48,ECC_Error_Rate "
00768   //"-v 198,raw48,Offline_Uncorrectable "
00769     "-v 199,raw48,CRC_Error_Count "
00770     "-v 201,raw48,Supercap_Status "
00771     "-v 202,raw48,Exception_Mode_Status "
00772     "-v 235,raw48,POR_Recovery_Count " // 830/840 Series
00773   //"-v 241,raw48,Total_LBAs_Written"
00774   },
00775   { "Smart Storage Systems Xcel-10 SSDs",  // based on http://www.smartm.com/files/salesLiterature/storage/xcel10.pdf
00776     "SMART A25FD-(32|64|128)GI32N", // tested with SMART A25FD-128GI32N/B9F23D4K
00777     "",
00778     "", // attributes info from http://www.adtron.com/pdf/SMART_Attributes_Xcel-10_810800014_RevB.pdf
00779     "-v 1,raw48,Not_Supported "
00780     "-v 2,raw48,Not_Supported "
00781   //"-v 9,raw24(raw8),Power_On_Hours "
00782   //"-v 12,raw48,Power_Cycle_Count "
00783     "-v 191,raw48,Not_Supported "
00784   //"-v 192,raw48,Power-Off_Retract_Count "
00785     "-v 197,raw48,ECC_Error_Count "
00786   //"-v 198,raw48,Offline_Uncorrectable "
00787   //"-v 199,raw48,UDMA_CRC_Error_Count "
00788     "-v 251,raw48,Min_Spares_Remain_Perc " // percentage of the total number of spare blocks available
00789     "-v 252,raw48,Added_Bad_Flash_Blk_Ct " // number of bad flash blocks
00790     "-v 254,raw48,Total_Erase_Blocks_Ct" // number of times the drive has erased any erase block
00791   },
00792   { "Smart Storage Systems XceedSecure2 SSDs",
00793     "(SMART|Adtron) ([AIS]25FBS|S35FCS).*",
00794     "", "",
00795     "-v 9,sec2hour,Power_On_Hours "
00796     "-v 194,hex64,Proprietary_194"
00797   },
00798   { "Smart Storage Systems XceedUltraX/Adtron A25FBX SSDs",
00799     "(SMART|Adtron) (A|I)25FBX.*",
00800     "", "",
00801     "-v 9,hex64,Proprietary_9 "
00802     "-v 194,hex48,Proprietary_194"
00803   },
00804   { "Smart Storage Systems Adtron A25FB 2xN SSDs",
00805     "(SMART|Adtron) A25FB.*2.N",
00806     "", "",
00807     "-v 110,hex64,Proprietary_HWC "
00808     "-v 111,hex64,Proprietary_MP "
00809     "-v 112,hex64,Proprietary_RtR "
00810     "-v 113,hex64,Proprietary_RR "
00811     "-v 120,hex64,Proprietary_HFAll "
00812     "-v 121,hex64,Proprietary_HF1st "
00813     "-v 122,hex64,Proprietary_HF2nd "
00814     "-v 123,hex64,Proprietary_HF3rd "
00815     "-v 125,hex64,Proprietary_SFAll "
00816     "-v 126,hex64,Proprietary_SF1st "
00817     "-v 127,hex64,Proprietary_SF2nd "
00818     "-v 128,hex64,Proprietary_SF3rd "
00819     "-v 194,raw24/raw32:zvzzzw,Fractional_Temperature"
00820   },
00821   { "Smart Storage Systems Adtron A25FB 3xN SSDs",
00822     "(SMART|Adtron) A25FB-.*3.N",
00823     "", "",
00824     "-v 9,sec2hour,Power_On_Hours "
00825     "-v 113,hex48,Proprietary_RR "
00826     "-v 130,raw48:54321,Minimum_Spares_All_Zs"
00827   //"-v 194,tempminmax,Temperature_Celsius"
00828   },
00829   { "STEC Mach2 CompactFlash Cards", // tested with STEC M2P CF 1.0.0/K1385MS
00830     "STEC M2P CF 1.0.0",
00831     "", "",
00832     "-v 100,raw48,Erase_Program_Cycles "
00833     "-v 103,raw48,Remaining_Energy_Storg "
00834     "-v 170,raw48,Reserved_Block_Count "
00835     "-v 171,raw48,Program_Fail_Count "
00836     "-v 172,raw48,Erase_Fail_Count "
00837     "-v 173,raw48,Wear_Leveling_Count "
00838     "-v 174,raw48,Unexpect_Power_Loss_Ct "
00839     "-v 211,raw48,Unknown_Attribute " // ] Missing in specification
00840     "-v 212,raw48,Unknown_Attribute"  // ] from September 2012
00841   },
00842   { "Transcend CompactFlash Cards", // tested with TRANSCEND/20080820,
00843       // TS4GCF133/20100709, TS16GCF133/20100709
00844     "TRANSCEND|TS(4|8|16)GCF133",
00845     "", "",
00846     "-v 7,raw48,Unknown_Attribute "
00847     "-v 8,raw48,Unknown_Attribute"
00848   },
00849   { "Marvell SSD SD88SA024BA0 (SUN branded)",
00850     "MARVELL SD88SA024BA0 SUN24G 0902M0054V",
00851     "", "", ""
00852   },
00853   { "HP 1TB SATA disk GB1000EAFJL",
00854     "GB1000EAFJL",
00855     "", "", ""
00856   },
00857   { "HP 500GB SATA disk MM0500EANCR",
00858     "MM0500EANCR",
00859     "", "", ""
00860   },
00861   { "HP 250GB SATA disk VB0250EAVER",
00862     "VB0250EAVER",
00863     "", "", ""
00864   },
00865   { "IBM Deskstar 60GXP",  // ER60A46A firmware
00866     "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
00867     "ER60A46A",
00868     "", ""
00869   },
00870   { "IBM Deskstar 60GXP",  // All other firmware
00871     "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
00872     "",
00873     "IBM Deskstar 60GXP drives may need upgraded SMART firmware.\n"
00874     "Please see http://haque.net/dtla_update/",
00875     ""
00876   },
00877   { "IBM Deskstar 40GV & 75GXP (A5AA/A6AA firmware)",
00878     "(IBM-)?DTLA-30[57]0[123467][05].*",
00879     "T[WX][123468AG][OF]A[56]AA",
00880     "", ""
00881   },
00882   { "IBM Deskstar 40GV & 75GXP (all other firmware)",
00883     "(IBM-)?DTLA-30[57]0[123467][05].*",
00884     "",
00885     "IBM Deskstar 40GV and 75GXP drives may need upgraded SMART firmware.\n"
00886     "Please see http://haque.net/dtla_update/",
00887     ""
00888   },
00889   { "", // ExcelStor J240, J340, J360, J680, J880 and J8160
00890     "ExcelStor Technology J(24|34|36|68|88|816)0",
00891     "", "", ""
00892   },
00893   { "", // Fujitsu M1623TAU
00894     "FUJITSU M1623TAU",
00895     "",
00896     "",
00897     "-v 9,seconds"
00898   },
00899   { "Fujitsu MHG",
00900     "FUJITSU MHG2...ATU?.*",
00901     "",
00902     "",
00903     "-v 9,seconds"
00904   },
00905   { "Fujitsu MHH",
00906     "FUJITSU MHH2...ATU?.*",
00907     "",
00908     "",
00909     "-v 9,seconds"
00910   },
00911   { "Fujitsu MHJ",
00912     "FUJITSU MHJ2...ATU?.*",
00913     "",
00914     "",
00915     "-v 9,seconds"
00916   },
00917   { "Fujitsu MHK",
00918     "FUJITSU MHK2...ATU?.*",
00919     "",
00920     "",
00921     "-v 9,seconds"
00922   },
00923   { "",  // Fujitsu MHL2300AT
00924     "FUJITSU MHL2300AT",
00925     "",
00926     "This drive's firmware has a harmless Drive Identity Structure\n"
00927       "checksum error bug.",
00928     "-v 9,seconds"
00929   },
00930   { "",  // MHM2200AT, MHM2150AT, MHM2100AT, MHM2060AT
00931     "FUJITSU MHM2(20|15|10|06)0AT",
00932     "",
00933     "This drive's firmware has a harmless Drive Identity Structure\n"
00934       "checksum error bug.",
00935     "-v 9,seconds"
00936   },
00937   { "Fujitsu MHN",
00938     "FUJITSU MHN2...AT",
00939     "",
00940     "",
00941     "-v 9,seconds"
00942   },
00943   { "", // Fujitsu MHR2020AT
00944     "FUJITSU MHR2020AT",
00945     "",
00946     "",
00947     "-v 9,seconds"
00948   },
00949   { "", // Fujitsu MHR2040AT
00950     "FUJITSU MHR2040AT",
00951     "",    // Tested on 40BA
00952     "",
00953     "-v 9,seconds -v 192,emergencyretractcyclect "
00954     "-v 198,offlinescanuncsectorct -v 200,writeerrorcount"
00955   },
00956   { "Fujitsu MHS AT",
00957     "FUJITSU MHS20[6432]0AT(  .)?",
00958     "",
00959     "",
00960     "-v 9,seconds -v 192,emergencyretractcyclect "
00961     "-v 198,offlinescanuncsectorct -v 200,writeerrorcount "
00962     "-v 201,detectedtacount"
00963   },
00964   { "Fujitsu MHT", // tested with FUJITSU MHT2030AC/909B
00965     "FUJITSU MHT2...(AC|AH|AS|AT|BH)U?.*",
00966     "",
00967     "",
00968     "-v 9,seconds"
00969   },
00970   { "Fujitsu MHU",
00971     "FUJITSU MHU2...ATU?.*",
00972     "",
00973     "",
00974     "-v 9,seconds"
00975   },
00976   { "Fujitsu MHV",
00977     "FUJITSU MHV2...(AH|AS|AT|BH|BS|BT).*",
00978     "",
00979     "",
00980     "-v 9,seconds"
00981   },
00982   { "Fujitsu MPA..MPG",
00983     "FUJITSU MP[A-G]3...A[HTEV]U?.*",
00984     "",
00985     "",
00986     "-v 9,seconds"
00987   },
00988   { "Fujitsu MHY BH",
00989     "FUJITSU MHY2(04|06|08|10|12|16|20|25)0BH.*",
00990     "", "",
00991     "-v 240,raw48,Transfer_Error_Rate"
00992   },
00993   { "Fujitsu MHW AC", // tested with FUJITSU MHW2060AC/00900004
00994     "FUJITSU MHW20(40|60)AC",
00995     "", "", ""
00996   },
00997   { "Fujitsu MHW BH",
00998     "FUJITSU MHW2(04|06|08|10|12|16)0BH.*",
00999     "", "", ""
01000   },
01001   { "Fujitsu MHW BJ",
01002     "FUJITSU MHW2(08|12|16)0BJ.*",
01003     "", "", ""
01004   },
01005   { "Fujitsu MHZ BH",
01006     "FUJITSU MHZ2(04|08|12|16|20|25|32)0BH.*",
01007     "", "", ""
01008   },
01009   { "Fujitsu MHZ BJ",
01010     "FUJITSU MHZ2(08|12|16|20|25|32)0BJ.*",
01011     "",
01012     "",
01013     "-v 9,minutes"
01014   },
01015   { "Fujitsu MHZ BS",
01016     "FUJITSU MHZ2(12|25)0BS.*",
01017     "", "", ""
01018   },
01019   { "Fujitsu MHZ BK",
01020     "FUJITSU MHZ2(08|12|16|25)0BK.*",
01021     "", "", ""
01022   },
01023   { "Fujitsu MJA BH",
01024     "FUJITSU MJA2(08|12|16|25|32|40|50)0BH.*",
01025     "", "", ""
01026   },
01027   { "", // Samsung SV4012H (known firmware)
01028     "SAMSUNG SV4012H",
01029     "RM100-08",
01030     "",
01031     "-v 9,halfminutes -F samsung"
01032   },
01033   { "", // Samsung SV4012H (all other firmware)
01034     "SAMSUNG SV4012H",
01035     "",
01036     "May need -F samsung disabled; see manual for details.",
01037     "-v 9,halfminutes -F samsung"
01038   },
01039   { "", // Samsung SV0412H (known firmware)
01040     "SAMSUNG SV0412H",
01041     "SK100-01",
01042     "",
01043     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
01044   },
01045   { "", // Samsung SV0412H (all other firmware)
01046     "SAMSUNG SV0412H",
01047     "",
01048     "May need -F samsung disabled; see manual for details.",
01049     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
01050   },
01051   { "", // Samsung SV1204H (known firmware)
01052     "SAMSUNG SV1204H",
01053     "RK100-1[3-5]",
01054     "",
01055     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
01056   },
01057   { "", // Samsung SV1204H (all other firmware)
01058     "SAMSUNG SV1204H",
01059     "",
01060     "May need -F samsung disabled; see manual for details.",
01061     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
01062   },
01063   { "", // SAMSUNG SV0322A tested with FW JK200-35
01064     "SAMSUNG SV0322A",
01065     "", "", ""
01066   },
01067   { "SAMSUNG SpinPoint V80", // tested with SV1604N/TR100-23
01068     "SAMSUNG SV(0211|0401|0612|0802|1203|1604)N",
01069     "",
01070     "",
01071     "-v 9,halfminutes -F samsung2"
01072   },
01073   { "", // SAMSUNG SP40A2H with RR100-07 firmware
01074     "SAMSUNG SP40A2H",
01075     "RR100-07",
01076     "",
01077     "-v 9,halfminutes -F samsung"
01078   },
01079   { "", // SAMSUNG SP80A4H with RT100-06 firmware
01080     "SAMSUNG SP80A4H",
01081     "RT100-06",
01082     "",
01083     "-v 9,halfminutes -F samsung"
01084   },
01085   { "", // SAMSUNG SP8004H with QW100-61 firmware
01086     "SAMSUNG SP8004H",
01087     "QW100-61",
01088     "",
01089     "-v 9,halfminutes -F samsung"
01090   },
01091   { "SAMSUNG SpinPoint F1 DT", // tested with HD103UJ/1AA01113
01092     "SAMSUNG HD(083G|16[12]G|25[12]H|32[12]H|50[12]I|642J|75[23]L|10[23]U)J",
01093     "", "", ""
01094   },
01095   { "SAMSUNG SpinPoint F1 EG", // tested with HD103UI/1AA01113
01096     "SAMSUNG HD(252H|322H|502I|642J|753L|103U)I",
01097     "", "", ""
01098   },
01099   { "SAMSUNG SpinPoint F1 RE", // tested with HE103UJ/1AA01113
01100     "SAMSUNG HE(252H|322H|502I|642J|753L|103U)J",
01101     "", "", ""
01102   },
01103   { "SAMSUNG SpinPoint F2 EG", // tested with HD154UI/1AG01118
01104     "SAMSUNG HD(502H|10[23]S|15[34]U)I",
01105     "", "", ""
01106   },
01107   { "SAMSUNG SpinPoint F3", // tested with HD502HJ/1AJ100E4
01108     "SAMSUNG HD(502H|754J|103S)J",
01109     "", "", ""
01110   },
01111   { "Seagate Barracuda SpinPoint F3", // tested with ST1000DM005 HD103SJ/1AJ100E5
01112     "ST[0-9DM]* HD(502H|754J|103S)J",
01113     "", "", ""
01114   },
01115   { "SAMSUNG SpinPoint F3 EG", // tested with HD503HI/1AJ100E4, HD153WI/1AN10002
01116     "SAMSUNG HD(253G|(324|503)H|754J|105S|(153|203)W)I",
01117     "", "", ""
01118   },
01119   { "SAMSUNG SpinPoint F3 RE", // tested with HE103SJ/1AJ30001
01120     "SAMSUNG HE(502H|754J|103S)J",
01121     "", "", ""
01122   },
01123   { "SAMSUNG SpinPoint F4 EG (AF)",// tested with HD204UI/1AQ10001(buggy|fixed)
01124     "SAMSUNG HD(155|204)UI",
01125     "", // 1AQ10001
01126     "Using smartmontools or hdparm with this\n"
01127     "drive may result in data loss due to a firmware bug.\n"
01128     "****** THIS DRIVE MAY OR MAY NOT BE AFFECTED! ******\n"
01129     "Buggy and fixed firmware report same version number!\n"
01130     "See the following web pages for details:\n"
01131     "http://knowledge.seagate.com/articles/en_US/FAQ/223571en\n"
01132     "http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks",
01133     ""
01134   },
01135   { "SAMSUNG SpinPoint S250", // tested with HD200HJ/KF100-06
01136     "SAMSUNG HD(162|200|250)HJ",
01137     "", "", ""
01138   },
01139   { "SAMSUNG SpinPoint T133", // tested with HD300LJ/ZT100-12, HD400LJ/ZZ100-14, HD401LJ/ZZ100-15
01140     "SAMSUNG HD(250KD|(30[01]|320|40[01])L[DJ])",
01141     "", "", ""
01142   },
01143   { "SAMSUNG SpinPoint T166", // tested with HD501LJ/CR100-1[01]
01144     "SAMSUNG HD(080G|160H|32[01]K|403L|50[01]L)J",
01145     "", "",
01146     "-v 197,increasing" // at least HD501LJ/CR100-11
01147   },
01148   { "SAMSUNG SpinPoint P120", // VF100-37 firmware, tested with SP2514N/VF100-37
01149     "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
01150     "VF100-37",
01151     "",
01152     "-F samsung3"
01153   },
01154   { "SAMSUNG SpinPoint P120", // other firmware, tested with SP2504C/VT100-33
01155     "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
01156     "",
01157     "May need -F samsung3 enabled; see manual for details.",
01158     ""
01159   },
01160   { "SAMSUNG SpinPoint P80 SD", // tested with HD160JJ/ZM100-33
01161     "SAMSUNG HD(080H|120I|160J)J",
01162     "", "", ""
01163   },
01164   { "SAMSUNG SpinPoint P80", // BH100-35 firmware, tested with SP0842N/BH100-35
01165     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
01166     "BH100-35",
01167     "",
01168     "-F samsung3"
01169   },
01170   { "SAMSUNG SpinPoint P80", // firmware *-35 or later
01171     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
01172     ".*-3[5-9]",
01173     "May need -F samsung3 enabled; see manual for details.",
01174     ""
01175   },
01176   { "SAMSUNG SpinPoint P80", // firmware *-25...34, tested with
01177       // SP0401N/TJ100-30, SP1614C/SW100-25 and -34
01178     "SAMSUNG SP(04[05]1|08[0124]2|12[0145]3|16[0145]4)[CN]",
01179     ".*-(2[5-9]|3[0-4])",
01180     "",
01181     "-v 9,halfminutes -v 198,increasing"
01182   },
01183   { "SAMSUNG SpinPoint P80", // firmware *-23...24, tested with
01184     // SP0802N/TK100-23,
01185     // SP1213N/TL100-23,
01186     // SP1604N/TM100-23 and -24
01187     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
01188     ".*-2[34]",
01189     "",
01190     "-v 9,halfminutes -F samsung2"
01191   },
01192   { "SAMSUNG SpinPoint P80", // unknown firmware
01193     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
01194     "",
01195     "May need -F samsung2 or -F samsung3 enabled; see manual for details.",
01196     ""
01197   },
01198   { "SAMSUNG SpinPoint M40/60/80", // tested with HM120IC/AN100-16, HM160JI/AD100-16
01199     "SAMSUNG HM(0[468]0H|120I|1[026]0J)[CI]",
01200     "",
01201     "",
01202     "-v 9,halfminutes"
01203   },
01204   { "SAMSUNG SpinPoint M5", // tested with HM160HI/HH100-12
01205     "SAMSUNG HM(((061|080)G|(121|160)H|250J)I|160HC)",
01206     "", "", ""
01207   },
01208   { "SAMSUNG SpinPoint M6", // tested with HM320JI/2SS00_01 M6
01209     "SAMSUNG HM(251J|320[HJ]|[45]00L)I",
01210     "", "", ""
01211   },
01212   { "SAMSUNG SpinPoint M7", // tested with HM500JI/2AC101C4
01213     "SAMSUNG HM(250H|320I|[45]00J)I",
01214     "", "", ""
01215   },
01216   { "SAMSUNG SpinPoint M7E (AF)", // tested with HM321HI/2AJ10001, HM641JI/2AJ10001
01217     "SAMSUNG HM(161G|(251|321)H|501I|641J)I",
01218     "", "", ""
01219   },
01220   { "SAMSUNG SpinPoint M7U (USB)", // tested with HM252HX/2AC101C4
01221     "SAMSUNG HM(162H|252H|322I|502J)X",
01222     "", "", ""
01223   },
01224   { "SAMSUNG SpinPoint M8 (AF)", // tested with HN-M101MBB/2AR10001
01225     "SAMSUNG HN-M(250|320|500|640|750|101)MBB",
01226     "", "", ""
01227   },
01228   { "Seagate Momentus SpinPoint M8 (AF)", // tested with
01229       // ST750LM022 HN-M750MBB/2AR10001, ST320LM001 HN-M320MBB/2AR10002
01230     "ST(250|320|500|640|750|1000)LM0[012][124] HN-M[0-9]*MBB",
01231     "", "", ""
01232   },
01233   { "SAMSUNG SpinPoint M8U (USB)", // tested with HN-M500XBB/2AR10001
01234     "SAMSUNG HN-M(320|500|750|101)XBB",
01235     "", "", ""
01236   },
01237   { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001
01238     "ST(250|320|500|640|750|1000)LM0[012][3459] HN-M[0-9]*ABB",
01239     "", "", ""
01240   },
01241   { "SAMSUNG SpinPoint MP5", // tested with HM250HJ/2AK10001
01242     "SAMSUNG HM(250H|320H|500J|640J)J",
01243     "", "", ""
01244   },
01245   { "SAMSUNG SpinPoint MT2", // tested with HM100UI/2AM10001
01246     "SAMSUNG HM100UI",
01247     "", "", ""
01248   },
01249   { "SAMSUNG HM100UX (S2 Portable)", // tested with HM100UX/2AM10001
01250     "SAMSUNG HM100UX",
01251     "", "", ""
01252   },
01253   { "SAMSUNG SpinPoint M", // tested with MP0402H/UC100-11
01254     "SAMSUNG MP0(302|402|603|804)H",
01255     "",
01256     "",
01257     "-v 9,halfminutes"
01258   },
01259   { "SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)", // tested with HS25YJZ/3AU10-01
01260     "SAMSUNG HS(122H|2[05]YJ)Z",
01261     "", "", ""
01262   },
01263   { "Maxtor Fireball 541DX",
01264     "Maxtor 2B0(0[468]|1[05]|20)H1",
01265     "",
01266     "",
01267     "-v 9,minutes -v 194,unknown"
01268   },
01269   { "Maxtor Fireball 3",
01270     "Maxtor 2F0[234]0[JL]0",
01271     "",
01272     "",
01273     "-v 9,minutes"
01274   },
01275   { "Maxtor DiamondMax 1280 ATA",  // no self-test log, ATA2-Fast
01276     "Maxtor 8(1280A2|2160A4|2560A4|3840A6|4000A6|5120A8)",
01277     "",
01278     "",
01279     "-v 9,minutes"
01280   },
01281   { "Maxtor DiamondMax 2160 Ultra ATA",
01282     "Maxtor 8(2160D2|3228D3|3240D3|4320D4|6480D6|8400D8|8455D8)",
01283     "",
01284     "",
01285     "-v 9,minutes"
01286   },
01287   { "Maxtor DiamondMax 2880 Ultra ATA",
01288     "Maxtor 9(0510D4|0576D4|0648D5|0720D5|0840D6|0845D6|0864D6|1008D7|1080D8|1152D8)",
01289     "",
01290     "",
01291     "-v 9,minutes"
01292   },
01293   { "Maxtor DiamondMax 3400 Ultra ATA",
01294     "Maxtor 9(1(360|350|202)D8|1190D7|10[12]0D6|0840D5|06[48]0D4|0510D3|1(350|202)E8|1010E6|0840E5|0640E4)",
01295     "",
01296     "",
01297     "-v 9,minutes"
01298   },
01299   { "Maxtor DiamondMax D540X-4G",
01300     "Maxtor 4G(120J6|160J[68])",
01301     "",
01302     "",
01303     "-v 9,minutes -v 194,unknown"
01304   },
01305   { "Maxtor DiamondMax D540X-4K",
01306     "MAXTOR 4K(020H1|040H2|060H3|080H4)",
01307     "", "", ""
01308   },
01309   { "Maxtor DiamondMax Plus D740X",
01310     "MAXTOR 6L0(20[JL]1|40[JL]2|60[JL]3|80[JL]4)",
01311     "", "", ""
01312   },
01313   { "Maxtor DiamondMax Plus 5120 Ultra ATA 33",
01314     "Maxtor 9(0512D2|0680D3|0750D3|0913D4|1024D4|1360D6|1536D6|1792D7|2048D8)",
01315     "",
01316     "",
01317     "-v 9,minutes"
01318   },
01319   { "Maxtor DiamondMax Plus 6800 Ultra ATA 66",
01320     "Maxtor 9(2732U8|2390U7|204[09]U6|1707U5|1366U4|1024U3|0845U3|0683U2)",
01321     "",
01322     "",
01323     "-v 9,minutes"
01324   },
01325   { "Maxtor DiamondMax D540X-4D",
01326     "Maxtor 4D0(20H1|40H2|60H3|80H4)",
01327     "",
01328     "",
01329     "-v 9,minutes -v 194,unknown"
01330   },
01331   { "Maxtor DiamondMax 16",
01332     "Maxtor 4(R0[68]0[JL]0|R1[26]0L0|A160J0|R120L4)",
01333     "",
01334     "",
01335     "-v 9,minutes"
01336   },
01337   { "Maxtor DiamondMax 4320 Ultra ATA",
01338     "Maxtor (91728D8|91512D7|91303D6|91080D5|90845D4|90645D3|90648D[34]|90432D2)",
01339     "",
01340     "",
01341     "-v 9,minutes"
01342   },
01343   { "Maxtor DiamondMax 17 VL",
01344     "Maxtor 9(0431U1|0641U2|0871U2|1301U3|1741U4)",
01345     "",
01346     "",
01347     "-v 9,minutes"
01348   },
01349   { "Maxtor DiamondMax 20 VL",
01350     "Maxtor (94091U8|93071U6|92561U5|92041U4|91731U4|91531U3|91361U3|91021U2|90841U2|90651U2)",
01351     "",
01352     "",
01353     "-v 9,minutes"
01354   },
01355   { "Maxtor DiamondMax VL 30",  // U: ATA66, H: ATA100
01356     "Maxtor (33073U4|32049U3|31536U2|30768U1|33073H4|32305H3|31536H2|30768H1)",
01357     "",
01358     "",
01359     "-v 9,minutes"
01360   },
01361   { "Maxtor DiamondMax 36",
01362     "Maxtor (93652U8|92739U6|91826U4|91369U3|90913U2|90845U2|90435U1)",
01363     "",
01364     "",
01365     "-v 9,minutes"
01366   },
01367   { "Maxtor DiamondMax 40 ATA 66",
01368     "Maxtor 9(0684U2|1024U2|1362U3|1536U3|2049U4|2562U5|3073U6|4098U8)",
01369     "",
01370     "",
01371     "-v 9,minutes"
01372   },
01373   { "Maxtor DiamondMax Plus 40 (Ultra ATA 66 and Ultra ATA 100)",
01374     "Maxtor (54098[UH]8|53073[UH]6|52732[UH]6|52049[UH]4|51536[UH]3|51369[UH]3|51024[UH]2)",
01375     "",
01376     "",
01377     "-v 9,minutes"
01378   },
01379   { "Maxtor DiamondMax 40 VL Ultra ATA 100",
01380     "Maxtor 3(1024H1|1535H2|2049H2|3073H3|4098H4)( B)?",
01381     "",
01382     "",
01383     "-v 9,minutes"
01384   },
01385   { "Maxtor DiamondMax Plus 45 Ulta ATA 100",
01386     "Maxtor 5(4610H6|4098H6|3073H4|2049H3|1536H2|1369H2|1023H2)",
01387     "",
01388     "",
01389     "-v 9,minutes"
01390   },
01391   { "Maxtor DiamondMax 60 ATA 66",
01392     "Maxtor 9(1023U2|1536U2|2049U3|2305U3|3073U4|4610U6|6147U8)",
01393     "",
01394     "",
01395     "-v 9,minutes"
01396   },
01397   { "Maxtor DiamondMax 60 ATA 100",
01398     "Maxtor 9(1023H2|1536H2|2049H3|2305H3|3073H4|4098H6|4610H6|6147H8)",
01399     "",
01400     "",
01401     "-v 9,minutes"
01402   },
01403   { "Maxtor DiamondMax Plus 60",
01404     "Maxtor 5T0(60H6|40H4|30H3|20H2|10H1)",
01405     "",
01406     "",
01407     "-v 9,minutes"
01408   },
01409   { "Maxtor DiamondMax 80",
01410     "Maxtor (98196H8|96147H6)",
01411     "",
01412     "",
01413     "-v 9,minutes"
01414   },
01415   { "Maxtor DiamondMax 536DX",
01416     "Maxtor 4W(100H6|080H6|060H4|040H3|030H2)",
01417     "",
01418     "",
01419     "-v 9,minutes"
01420   },
01421   { "Maxtor DiamondMax Plus 8",
01422     "Maxtor 6(E0[234]|K04)0L0",
01423     "",
01424     "",
01425     "-v 9,minutes"
01426   },
01427   { "Maxtor DiamondMax 10 (ATA/133 and SATA/150)",
01428     "Maxtor 6(B(30|25|20|16|12|10|08)0[MPRS]|L(080[MLP]|(100|120)[MP]|160[MP]|200[MPRS]|250[RS]|300[RS]))0",
01429     "",
01430     "",
01431     "-v 9,minutes"
01432   },
01433   { "Maxtor DiamondMax 10 (SATA/300)",
01434     "Maxtor 6V(080E|160E|200E|250F|300F|320F)0",
01435     "", "", ""
01436   },
01437   { "Maxtor DiamondMax Plus 9",
01438     "Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)",
01439     "",
01440     "",
01441     "-v 9,minutes"
01442   },
01443   { "Maxtor DiamondMax 11",
01444     "Maxtor 6H[45]00[FR]0",
01445     "", "", ""
01446   },
01447   { "Maxtor DiamondMax 17",
01448     "Maxtor 6G(080L|160[PE])0",
01449     "", "", ""
01450   },
01451   { "Seagate Maxtor DiamondMax 20",
01452     "MAXTOR STM3(40|80|160)[28]1[12]0?AS?",
01453     "", "", ""
01454   },
01455   { "Seagate Maxtor DiamondMax 21", // tested with MAXTOR STM3250310AS/3.AAF
01456     "MAXTOR STM3(80[28]15|160215|250310|(250|320)820|320620|500630)AS?",
01457     "", "", ""
01458   },
01459   { "Seagate Maxtor DiamondMax 22", // fixed firmware
01460     "(MAXTOR )?STM3(500320|750330|1000340)AS?",
01461     "MX1A", // http://knowledge.seagate.com/articles/en_US/FAQ/207969en
01462     "", ""
01463   },
01464   { "Seagate Maxtor DiamondMax 22", // fixed firmware
01465     "(MAXTOR )?STM3(160813|320614|640323|1000334)AS?",
01466     "MX1B", // http://knowledge.seagate.com/articles/en_US/FAQ/207975en
01467     "", ""
01468   },
01469   { "Seagate Maxtor DiamondMax 22", // buggy firmware
01470     "(MAXTOR )?STM3(500320|750330|1000340)AS?",
01471     "MX15",
01472     "There are known problems with these drives,\n"
01473     "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
01474     "see the following Seagate web pages:\n"
01475     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
01476     "http://knowledge.seagate.com/articles/en_US/FAQ/207969en",
01477     ""
01478   },
01479   { "Seagate Maxtor DiamondMax 22", // unknown firmware
01480     "(MAXTOR )?STM3(160813|32061[34]|500320|640323|750330|10003(34|40))AS?",
01481     "",
01482     "There are known problems with these drives,\n"
01483     "see the following Seagate web pages:\n"
01484     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
01485     "http://knowledge.seagate.com/articles/en_US/FAQ/207969en\n"
01486     "http://knowledge.seagate.com/articles/en_US/FAQ/207975en",
01487     ""
01488   },
01489   { "Seagate Maxtor DiamondMax 23", // new firmware
01490     "STM3((160|250)31|(320|500)41|(750|1000)52)8AS?",
01491     "CC3[D-Z]",
01492     "", ""
01493   },
01494   { "Seagate Maxtor DiamondMax 23", // unknown firmware
01495     "STM3((160|250)31|(320|500)41|(750|1000)52)8AS?",
01496     "",
01497     "A firmware update for this drive may be available,\n"
01498     "see the following Seagate web pages:\n"
01499     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
01500     "http://knowledge.seagate.com/articles/en_US/FAQ/213911en",
01501     ""
01502   },
01503   { "Maxtor MaXLine Plus II",
01504     "Maxtor 7Y250[PM]0",
01505     "",
01506     "",
01507     "-v 9,minutes"
01508   },
01509   { "Maxtor MaXLine II",
01510     "Maxtor [45]A(25|30|32)0[JN]0",
01511     "",
01512     "",
01513     "-v 9,minutes"
01514   },
01515   { "Maxtor MaXLine III (ATA/133 and SATA/150)",
01516     "Maxtor 7L(25|30)0[SR]0",
01517     "",
01518     "",
01519     "-v 9,minutes"
01520   },
01521   { "Maxtor MaXLine III (SATA/300)",
01522     "Maxtor 7V(25|30)0F0",
01523     "", "", ""
01524   },
01525   { "Maxtor MaXLine Pro 500",  // There is also a 7H500R0 model, but I
01526     "Maxtor 7H500F0",               // haven't added it because I suspect
01527     "",                               // it might need vendoropts_9_minutes
01528     "", ""                            // and nobody has submitted a report yet
01529   },
01530   { "", // HITACHI_DK14FA-20B
01531     "HITACHI_DK14FA-20B",
01532     "",
01533     "",
01534     "-v 9,minutes -v 193,loadunload"
01535   },
01536   { "HITACHI Travelstar DK23XX/DK23XXB",
01537     "HITACHI_DK23..-..B?",
01538     "",
01539     "",
01540     "-v 9,minutes -v 193,loadunload"
01541   },
01542   { "Hitachi Endurastar J4K20/N4K20 (formerly DK23FA-20J)",
01543     "(HITACHI_DK23FA-20J|HTA422020F9AT[JN]0)",
01544     "",
01545     "",
01546     "-v 9,minutes -v 193,loadunload"
01547   },
01548   { "Hitachi Endurastar J4K30/N4K30",
01549     "HE[JN]4230[23]0F9AT00",
01550     "",
01551     "",
01552     "-v 9,minutes -v 193,loadunload"
01553   },
01554   { "Hitachi Travelstar C4K60",  // 1.8" slim drive
01555     "HTC4260[23]0G5CE00|HTC4260[56]0G8CE00",
01556     "",
01557     "",
01558     "-v 9,minutes -v 193,loadunload"
01559   },
01560   { "IBM Travelstar 4GT",
01561     "IBM-DTCA-2(324|409)0",
01562     "", "", ""
01563   },
01564   { "IBM Travelstar 6GN",
01565     "IBM-DBCA-20(324|486|648)0",
01566     "", "", ""
01567   },
01568   { "IBM Travelstar 25GS, 18GT, and 12GN",
01569     "IBM-DARA-2(25|18|15|12|09|06)000",
01570     "", "", ""
01571   },
01572   { "IBM Travelstar 14GS",
01573     "IBM-DCYA-214000",
01574     "", "", ""
01575   },
01576   { "IBM Travelstar 4LP",
01577     "IBM-DTNA-2(180|216)0",
01578     "", "", ""
01579   },
01580   { "IBM Travelstar 48GH, 30GN, and 15GN",
01581     "(IBM-|Hitachi )?IC25(T048ATDA05|N0(30|20|15|12|10|07|06|05)ATDA04)-.",
01582     "", "", ""
01583   },
01584   { "IBM Travelstar 32GH, 30GT, and 20GN",
01585     "IBM-DJSA-2(32|30|20|10|05)",
01586     "", "", ""
01587   },
01588   { "IBM Travelstar 4GN",
01589     "IBM-DKLA-2(216|324|432)0",
01590     "", "", ""
01591   },
01592   { "IBM/Hitachi Travelstar 60GH and 40GN",
01593     "(IBM-|Hitachi )?IC25(T060ATC[SX]05|N0[4321]0ATC[SX]04)-.",
01594     "", "", ""
01595   },
01596   { "IBM/Hitachi Travelstar 40GNX",
01597     "(IBM-|Hitachi )?IC25N0[42]0ATC[SX]05-.",
01598     "", "", ""
01599   },
01600   { "Hitachi Travelstar 80GN",
01601     "(Hitachi )?IC25N0[23468]0ATMR04-.",
01602     "", "", ""
01603   },
01604   { "Hitachi Travelstar 4K40",
01605     "(Hitachi )?HTS4240[234]0M9AT00",
01606     "", "", ""
01607   },
01608   { "Hitachi Travelstar 4K120",
01609     "(Hitachi )?(HTS4212(60|80|10|12)H9AT00|HTS421260G9AT00)",
01610     "", "", ""
01611   },
01612   { "Hitachi Travelstar 5K80",
01613     "(Hitachi )?HTS5480[8642]0M9AT00",
01614     "", "", ""
01615   },
01616   { "Hitachi Travelstar 5K100",
01617     "(Hitachi )?HTS5410[1864]0G9(AT|SA)00",
01618     "", "", ""
01619   },
01620   { "Hitachi Travelstar E5K100",
01621     "(Hitachi )?HTE541040G9(AT|SA)00",
01622     "", "", ""
01623   },
01624   { "Hitachi Travelstar 5K120",
01625     "(Hitachi )?HTS5412(60|80|10|12)H9(AT|SA)00",
01626     "", "", ""
01627   },
01628   { "Hitachi Travelstar 5K160",
01629     "(Hitachi |HITACHI )?HTS5416([468]0|1[26])J9(AT|SA)00",
01630     "", "", ""
01631   },
01632   { "Hitachi Travelstar E5K160",
01633     "(Hitachi )?HTE5416(12|16|60|80)J9(AT|SA)00",
01634     "", "", ""
01635   },
01636   { "Hitachi Travelstar 5K250",
01637     "(Hitachi |HITACHI )?HTS5425(80|12|16|20|25)K9(A3|SA)00",
01638     "", "", ""
01639   },
01640   { "Hitachi Travelstar 5K320", // tested with HITACHI HTS543232L9SA00/FB4ZC4EC,
01641     // Hitachi HTS543212L9SA02/FBBAC52F
01642     "(Hitachi |HITACHI )?HT(S|E)5432(80|12|16|25|32)L9(A3(00)?|SA0[012])",
01643     "", "", ""
01644   },
01645   { "Hitachi Travelstar 5K500.B",
01646     "(Hitachi )?HT[ES]5450(12|16|25|32|40|50)B9A30[01]",
01647     "", "", ""
01648   },
01649   { "Hitachi/HGST Travelstar Z5K500", // tested with HGST HTS545050A7E380/GG2OAC90
01650     "HGST HT[ES]5450(25|32|50)A7E38[01]",
01651     "", "", ""
01652   },
01653   { "Hitachi/HGST Travelstar 5K750", // tested with Hitachi HTS547575A9E384/JE4OA60A
01654     "Hitachi HT[ES]5475(50|64|75)A9E38[14]",
01655     "", "", ""
01656   },
01657   { "Hitachi Travelstar 7K60",
01658     "(Hitachi )?HTS726060M9AT00",
01659     "", "", ""
01660   },
01661   { "Hitachi Travelstar E7K60",
01662     "(Hitachi )?HTE7260[46]0M9AT00",
01663     "", "", ""
01664   },
01665   { "Hitachi Travelstar 7K100",
01666     "(Hitachi )?HTS7210[168]0G9(AT|SA)00",
01667     "", "", ""
01668   },
01669   { "Hitachi Travelstar E7K100",
01670     "(Hitachi )?HTE7210[168]0G9(AT|SA)00",
01671     "", "", ""
01672   },
01673   { "Hitachi Travelstar 7K200", // tested with HITACHI HTS722016K9SA00/DCDZC75A
01674     "(Hitachi |HITACHI )?HTS7220(80|10|12|16|20)K9(A3|SA)00",
01675     "", "", ""
01676   },
01677   { "Hitachi Travelstar 7K320", // tested with
01678     // HTS723225L9A360/FCDOC30F, HTS723216L9A362/FC2OC39F
01679     "(Hitachi )?HT[ES]7232(80|12|16|25|32)L9(A300|A36[02]|SA61)",
01680     "", "", ""
01681   },
01682   { "Hitachi Travelstar Z7K320", // tested with HITACHI HTS723232A7A364/EC2ZB70B
01683     "(HITACHI )?HT[ES]7232(16|25|32)A7A36[145]",
01684     "", "", ""
01685   },
01686   { "Hitachi Travelstar 7K500",
01687     "(Hitachi )?HT[ES]7250(12|16|25|32|50)A9A36[2-5]",
01688     "", "", ""
01689   },
01690   { "HGST Travelstar 7K1000", // tested with HGST HTS721010A9E630/JB0OA3B0
01691     "HGST HTS721010A9E630",
01692     "", "", ""
01693   },
01694   { "IBM Deskstar 14GXP and 16GP",
01695     "IBM-DTTA-3(7101|7129|7144|5032|5043|5064|5084|5101|5129|5168)0",
01696     "", "", ""
01697   },
01698   { "IBM Deskstar 25GP and 22GXP",
01699     "IBM-DJNA-3(5(101|152|203|250)|7(091|135|180|220))0",
01700     "", "", ""
01701   },
01702   { "IBM Deskstar 37GP and 34GXP",
01703     "IBM-DPTA-3(5(375|300|225|150)|7(342|273|205|136))0",
01704     "", "", ""
01705   },
01706   { "IBM/Hitachi Deskstar 120GXP",
01707     "(IBM-)?IC35L((020|040|060|080|120)AVVA|0[24]0AVVN)07-[01]",
01708     "", "", ""
01709   },
01710   { "IBM/Hitachi Deskstar GXP-180",
01711     "(IBM-)?IC35L(030|060|090|120|180)AVV207-[01]",
01712     "", "", ""
01713   },
01714   { "Hitachi Deskstar 5K3000", // tested with HDS5C3030ALA630/MEAOA5C0
01715     "(Hitachi )?HDS5C30(15|20|30)ALA63[02].*",
01716     "", "", ""
01717   },
01718   { "Hitachi Deskstar 5K4000", // tested with HDS5C4040ALE630/MPAOA250
01719     "(Hitachi )?HDS5C40(30|40)ALE63[01].*",
01720     "", "", ""
01721   },
01722   { "Hitachi Deskstar 7K80",
01723     "(Hitachi )?HDS7280([48]0PLAT20|(40)?PLA320|80PLA380).*",
01724     "", "", ""
01725   },
01726   { "Hitachi Deskstar 7K160",
01727     "(Hitachi )?HDS7216(80|16)PLA[3T]80.*",
01728     "", "", ""
01729   },
01730   { "Hitachi Deskstar 7K250",
01731     "(Hitachi )?HDS7225((40|80|12|16)VLAT20|(12|16|25)VLAT80|(80|12|16|25)VLSA80)",
01732     "", "", ""
01733   },
01734   { "Hitachi Deskstar 7K250 (SUN branded)",
01735     "HITACHI HDS7225SBSUN250G.*",
01736     "", "", ""
01737   },
01738   { "Hitachi Deskstar T7K250",
01739     "(Hitachi )?HDT7225((25|20|16)DLA(T80|380))",
01740     "", "", ""
01741   },
01742   { "Hitachi Deskstar 7K400",
01743     "(Hitachi )?HDS724040KL(AT|SA)80",
01744     "", "", ""
01745   },
01746   { "Hitachi Deskstar 7K500",
01747     "(Hitachi )?HDS725050KLA(360|T80)",
01748     "", "", ""
01749   },
01750   { "Hitachi Deskstar P7K500",
01751     "(Hitachi )?HDP7250(16|25|32|40|50)GLA(36|38|T8)0",
01752     "", "", ""
01753   },
01754   { "Hitachi Deskstar T7K500",
01755     "(Hitachi )?HDT7250(25|32|40|50)VLA(360|380|T80)",
01756     "", "", ""
01757   },
01758   { "Hitachi Deskstar 7K1000",
01759     "(Hitachi )?HDS7210(50|75|10)KLA330",
01760     "", "", ""
01761   },
01762   { "Hitachi Deskstar 7K1000.B",
01763     "(Hitachi )?HDT7210((16|25)SLA380|(32|50|64|75|10)SLA360)",
01764     "", "", ""
01765   },
01766   { "Hitachi Deskstar 7K1000.C", // tested with Hitachi HDS721010CLA330/JP4OA3MA
01767     "(Hitachi )?HDS7210((16|25)CLA382|(32|50)CLA362|(64|75|10)CLA33[02])",
01768     "", "", ""
01769   },
01770   { "Hitachi Deskstar 7K1000.D", // tested with HDS721010DLE630/MS2OA5Q0
01771     "Hitachi HDS7210(25|32|50|75|10)DLE630",
01772     "", "", ""
01773   },
01774   { "Hitachi Deskstar E7K1000", // tested with HDE721010SLA330/ST6OA31B
01775     "Hitachi HDE7210(50|75|10)SLA330",
01776     "", "", ""
01777   },
01778   { "Hitachi Deskstar 7K2000",
01779     "Hitachi HDS722020ALA330",
01780     "", "", ""
01781   },
01782   { "Hitachi Deskstar 7K3000", // tested with HDS723030ALA640/MKAOA3B0
01783     "Hitachi HDS7230((15|20)BLA642|30ALA640)",
01784     "", "", ""
01785   },
01786   { "Hitachi/HGST Deskstar 7K4000", // tested with Hitachi HDS724040ALE640/MJAOA250
01787     "Hitachi HDS724040ALE640",
01788     "", "", ""
01789   },
01790   { "Hitachi Ultrastar A7K1000", // tested with
01791     // HUA721010KLA330      44X2459 42C0424IBM/GKAOAB4A
01792     "(Hitachi )?HUA7210(50|75|10)KLA330.*",
01793     "", "", ""
01794   },
01795   { "Hitachi Ultrastar A7K2000", // tested with
01796     // HUA722010CLA330      43W7629 42C0401IBM
01797     "(Hitachi )?HUA7220(50|10|20)[AC]LA33[01].*",
01798     "", "", ""
01799   },
01800   { "Hitachi Ultrastar 7K3000", // tested with HUA723030ALA640/MKAOA580
01801     "Hitachi HUA7230(20|30)ALA640",
01802     "", "", ""
01803   },
01804   { "Hitachi Ultrastar 7K4000", // tested with Hitachi HUS724040ALE640/MJAOA3B0
01805     "Hitachi HUS7240(20|30|40)ALE640",
01806     "", "", ""
01807   },
01808   { "Toshiba 2.5\" HDD (10-20 GB)",
01809     "TOSHIBA MK(101[67]GAP|15[67]GAP|20(1[678]GAP|(18|23)GAS))",
01810     "", "", ""
01811   },
01812   { "Toshiba 2.5\" HDD (30-60 GB)",
01813     "TOSHIBA MK((6034|4032)GSX|(6034|4032)GAX|(6026|4026|4019|3019)GAXB?|(6025|6021|4025|4021|4018|3025|3021|3018)GAS|(4036|3029)GACE?|(4018|3017)GAP)",
01814     "", "", ""
01815   },
01816   { "Toshiba 2.5\" HDD (80 GB and above)",
01817     "TOSHIBA MK(80(25GAS|26GAX|32GAX|32GSX)|10(31GAS|32GAX)|12(33GAS|34G[AS]X)|2035GSS)",
01818     "", "", ""
01819   },
01820   { "Toshiba 2.5\" HDD MK..37GSX", // tested with TOSHIBA MK1637GSX/DL032C
01821     "TOSHIBA MK(12|16)37GSX",
01822     "", "", ""
01823   },
01824   { "Toshiba 2.5\" HDD MK..50GACY", // tested with TOSHIBA MK8050GACY/TF105A
01825     "TOSHIBA MK8050GACY",
01826     "", "", ""
01827   },
01828   { "Toshiba 2.5\" HDD MK..52GSX",
01829     "TOSHIBA MK(80|12|16|25|32)52GSX",
01830     "", "", ""
01831   },
01832   { "Toshiba 2.5\" HDD MK..55GSX", // tested with TOSHIBA MK5055GSX/FG001A, MK3255GSXF/FH115B
01833     "TOSHIBA MK(12|16|25|32|40|50)55GSXF?",
01834     "", "", ""
01835   },
01836   { "Toshiba 2.5\" HDD MK..56GSY", // tested with TOSHIBA MK2556GSYF/LJ001D
01837     "TOSHIBA MK(16|25|32|50)56GSYF?",
01838     "",
01839     "",
01840     "-v 9,minutes"
01841   },
01842   { "Toshiba 2.5\" HDD MK..59GSXP (AF)",
01843     "TOSHIBA MK(32|50|64|75)59GSXP?",
01844     "", "", ""
01845   },
01846   { "Toshiba 2.5\" HDD MK..59GSM (AF)",
01847     "TOSHIBA MK(75|10)59GSM",
01848     "", "", ""
01849   },
01850   { "Toshiba 2.5\" HDD MK..61GSYN", // tested with TOSHIBA MK5061GSYN/MH000A
01851     "TOSHIBA MK(16|25|32|50|64)61GSYN",
01852     "", "", ""
01853   },
01854   { "Toshiba 2.5\" HDD MK..65GSX", // tested with TOSHIBA MK5065GSX/GJ003A, MK3265GSXN/GH012H
01855     "TOSHIBA MK(16|25|32|50|64)65GSXN?",
01856     "", "", ""
01857   },
01858   { "Toshiba 2.5\" HDD MK..76GSX", // tested with TOSHIBA MK3276GSX/GS002D
01859     "TOSHIBA MK(16|25|32|50|64)76GSX",
01860     "",
01861     "",
01862     "-v 9,minutes"
01863   },
01864   { "Toshiba 2.5\" HDD MQ01ABD...", // tested with TOSHIBA MQ01ABD100/AX001U
01865     "TOSHIBA MQ01ABD(025|032|050|064|075|100)",
01866     "", "", ""
01867   },
01868   { "Toshiba 3.5\" HDD MK.002TSKB", // tested with TOSHIBA MK1002TSKB/MT1A
01869     "TOSHIBA MK(10|20)02TSKB",
01870     "", "", ""
01871   },
01872   { "Toshiba 1.8\" HDD",
01873     "TOSHIBA MK[23468]00[4-9]GA[HL]",
01874     "", "", ""
01875   },
01876   { "Toshiba 1.8\" HDD MK..29GSG",
01877     "TOSHIBA MK(12|16|25)29GSG",
01878     "", "", ""
01879   },
01880   { "", // TOSHIBA MK6022GAX
01881     "TOSHIBA MK6022GAX",
01882     "", "", ""
01883   },
01884   { "", // TOSHIBA MK6409MAV
01885     "TOSHIBA MK6409MAV",
01886     "", "", ""
01887   },
01888   { "Toshiba MKx019GAXB (SUN branded)",
01889     "TOS MK[34]019GAXB SUN[34]0G",
01890     "", "", ""
01891   },
01892   { "Seagate Momentus",
01893     "ST9(20|28|40|48)11A",
01894     "", "", ""
01895   },
01896   { "Seagate Momentus 42",
01897     "ST9(2014|3015|4019)A",
01898     "", "", ""
01899   },
01900   { "Seagate Momentus 4200.2", // tested with ST960812A/3.05
01901     "ST9(100822|808210|60812|50212|402113|30219)A",
01902     "", "", ""
01903   },
01904   { "Seagate Momentus 5400.2",
01905     "ST9(808211|6082[12]|408114|308110|120821|10082[34]|8823|6812|4813|3811)AS?",
01906     "", "", ""
01907   },
01908   { "Seagate Momentus 5400.3",
01909     "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AS?",
01910     "", "", ""
01911   },
01912   { "Seagate Momentus 5400.3 ED",
01913     "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AB",
01914     "", "", ""
01915   },
01916   { "Seagate Momentus 5400.4",
01917     "ST9(120817|(160|200|250)827)AS",
01918     "", "", ""
01919   },
01920   { "Seagate Momentus 5400.5",
01921     "ST9((80|120|160)310|(250|320)320)AS",
01922     "", "", ""
01923   },
01924   { "Seagate Momentus 5400.6",
01925     "ST9(80313|160(301|314)|(12|25)0315|250317|(320|500)325|500327|640320)ASG?",
01926     "", "", ""
01927   },
01928   { "Seagate Momentus 5400.7",
01929     "ST9(160316|(250|320)310|(500|640)320)AS",
01930     "", "", ""
01931   },
01932   { "Seagate Momentus 5400.7 (AF)", // tested with ST9640322AS/0001BSM2
01933       // (device reports 4KiB LPS with 1 sector offset)
01934     "ST9(320312|400321|640322|750423)AS",
01935     "", "", ""
01936   },
01937   { "Seagate Momentus 5400 PSD", // Hybrid drives
01938     "ST9(808212|(120|160)8220)AS",
01939     "", "", ""
01940   },
01941   { "Seagate Momentus 7200.1",
01942     "ST9(10021|80825|6023|4015)AS?",
01943     "", "", ""
01944   },
01945   { "Seagate Momentus 7200.2",
01946     "ST9(80813|100821|120823|160823|200420)ASG?",
01947     "", "", ""
01948   },
01949   { "Seagate Momentus 7200.3",
01950     "ST9((80|120|160)411|(250|320)421)ASG?",
01951     "", "", ""
01952   },
01953   { "Seagate Momentus 7200.4",
01954     "ST9(160412|250410|320423|500420)ASG?",
01955     "", "", ""
01956   },
01957   { "Seagate Momentus 7200 FDE.2",
01958     "ST9((160413|25041[12]|320426|50042[12])AS|(16041[489]|2504[16]4|32042[67]|500426)ASG)",
01959     "", "", ""
01960   },
01961   { "Seagate Momentus 7200.5", // tested with ST9750420AS/0001SDM5, ST9750420AS/0002SDM1
01962     "ST9(50042[34]|64042[012]|75042[02])ASG?",
01963     "", "", ""
01964   },
01965   { "Seagate Momentus XT", // fixed firmware
01966     "ST9(2505610|3205620|5005620)AS",
01967     "SD2[68]", // http://knowledge.seagate.com/articles/en_US/FAQ/215451en
01968     "", ""
01969   },
01970   { "Seagate Momentus XT", // buggy firmware, tested with ST92505610AS/SD24
01971     "ST9(2505610|3205620|5005620)AS",
01972     "SD2[45]",
01973     "These drives may corrupt large files,\n"
01974     "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
01975     "see the following web pages for details:\n"
01976     "http://knowledge.seagate.com/articles/en_US/FAQ/215451en\n"
01977     "http://forums.seagate.com/t5/Momentus-XT-Momentus-Momentus/Momentus-XT-corrupting-large-files-Linux/td-p/109008\n"
01978     "http://superuser.com/questions/313447/seagate-momentus-xt-corrupting-files-linux-and-mac",
01979     ""
01980   },
01981   { "Seagate Momentus XT", // unknown firmware
01982     "ST9(2505610|3205620|5005620)AS",
01983     "",
01984     "These drives may corrupt large files,\n"
01985     "see the following web pages for details:\n"
01986     "http://knowledge.seagate.com/articles/en_US/FAQ/215451en\n"
01987     "http://forums.seagate.com/t5/Momentus-XT-Momentus-Momentus/Momentus-XT-corrupting-large-files-Linux/td-p/109008\n"
01988     "http://superuser.com/questions/313447/seagate-momentus-xt-corrupting-files-linux-and-mac",
01989     ""
01990   },
01991   { "Seagate Momentus XT (AF)", // tested with ST750LX003-1AC154/SM12
01992     "ST750LX003-.*",
01993     "", "", ""
01994   },
01995   { "Seagate Momentus Thin", // tested with ST320LT007-9ZV142/0004LVM1
01996     "ST(160|250|320)LT0(07|09|11|14)-.*",
01997     "", "", ""
01998   },
01999   { "Seagate Medalist 1010, 1720, 1721, 2120, 3230 and 4340",  // ATA2, with -t permissive
02000     "ST3(1010|1720|1721|2120|3230|4340)A",
02001     "", "", ""
02002   },
02003   { "Seagate Medalist 2110, 3221, 4321, 6531, and 8641",
02004     "ST3(2110|3221|4321|6531|8641)A",
02005     "", "", ""
02006   },
02007   { "Seagate U4",
02008     "ST3(2112|4311|6421|8421)A",
02009     "", "", ""
02010   },
02011   { "Seagate U5",
02012     "ST3(40823|30621|20413|15311|10211)A",
02013     "", "", ""
02014   },
02015   { "Seagate U6",
02016     "ST3(8002|6002|4081|3061|2041)0A",
02017     "", "", ""
02018   },
02019   { "Seagate U7",
02020     "ST3(30012|40012|60012|80022|120020)A",
02021     "", "", ""
02022   },
02023   { "Seagate U8",
02024     "ST3(4313|6811|8410|4313|13021|17221)A",
02025     "", "", ""
02026   },
02027   { "Seagate U9", // tested with ST3160022ACE/9.51
02028     "ST3(80012|120025|160022)A(CE)?",
02029     "", "", ""
02030   },
02031   { "Seagate U10",
02032     "ST3(20423|15323|10212)A",
02033     "", "", ""
02034   },
02035   { "Seagate UX",
02036     "ST3(10014A(CE)?|20014A)",
02037     "", "", ""
02038   },
02039   { "Seagate Barracuda ATA",
02040     "ST3(2804|2724|2043|1362|1022|681)0A",
02041     "", "", ""
02042   },
02043   { "Seagate Barracuda ATA II",
02044     "ST3(3063|2042|1532|1021)0A",
02045     "", "", ""
02046   },
02047   { "Seagate Barracuda ATA III",
02048     "ST3(40824|30620|20414|15310|10215)A",
02049     "", "", ""
02050   },
02051   { "Seagate Barracuda ATA IV",
02052     "ST3(20011|30011|40016|60021|80021)A",
02053     "", "", ""
02054   },
02055   { "Seagate Barracuda ATA V",
02056     "ST3(12002(3A|4A|9A|3AS)|800(23A|15A|23AS)|60(015A|210A)|40017A)",
02057     "", "", ""
02058   },
02059   { "Seagate Barracuda 5400.1",
02060     "ST340015A",
02061     "", "", ""
02062   },
02063   { "Seagate Barracuda 7200.7 and 7200.7 Plus", // tested with "ST380819AS          39M3701 39M0171 IBM"/3.03
02064     "ST3(200021A|200822AS?|16002[13]AS?|12002[26]AS?|1[26]082[78]AS|8001[13]AS?|8081[79]AS|60014A|40111AS|40014AS?)( .* IBM)?",
02065     "", "", ""
02066   },
02067   { "Seagate Barracuda 7200.8",
02068     "ST3(400[68]32|300[68]31|250[68]23|200826)AS?",
02069     "", "", ""
02070   },
02071   { "Seagate Barracuda 7200.9",
02072     "ST3(402111?|80[28]110?|120[28]1[0134]|160[28]1[012]|200827|250[68]24|300[68]22|(320|400)[68]33|500[68](32|41))AS?.*",
02073     "", "", ""
02074   },
02075   { "Seagate Barracuda 7200.10",
02076     "ST3((80|160)[28]15|200820|250[34]10|(250|300|320|400)[68]20|360320|500[68]30|750[68]40)AS?",
02077     "", "", ""
02078   },
02079   { "Seagate Barracuda 7200.11", // unaffected firmware
02080     "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
02081     "CC.?.?", // http://knowledge.seagate.com/articles/en_US/FAQ/207957en
02082     "", ""
02083   },
02084   { "Seagate Barracuda 7200.11", // fixed firmware
02085     "ST3(500[368]20|750[36]30|1000340)AS?",
02086     "SD1A", // http://knowledge.seagate.com/articles/en_US/FAQ/207951en
02087     "", ""
02088   },
02089   { "Seagate Barracuda 7200.11", // fixed firmware
02090     "ST3(160813|320[68]13|640[36]23|1000333|1500341)AS?",
02091     "SD[12]B", // http://knowledge.seagate.com/articles/en_US/FAQ/207957en
02092     "", ""
02093   },
02094   { "Seagate Barracuda 7200.11", // buggy or fixed firmware
02095     "ST3(500[368]20|640[35]30|750[36]30|1000340)AS?",
02096     "(AD14|SD1[5-9]|SD81)",
02097     "There are known problems with these drives,\n"
02098     "THIS DRIVE MAY OR MAY NOT BE AFFECTED,\n"
02099     "see the following web pages for details:\n"
02100     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02101     "http://knowledge.seagate.com/articles/en_US/FAQ/207951en\n"
02102     "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632758",
02103     ""
02104   },
02105   { "Seagate Barracuda 7200.11", // unknown firmware
02106     "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
02107     "",
02108     "There are known problems with these drives,\n"
02109     "see the following Seagate web pages:\n"
02110     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02111     "http://knowledge.seagate.com/articles/en_US/FAQ/207951en\n"
02112     "http://knowledge.seagate.com/articles/en_US/FAQ/207957en",
02113     ""
02114   },
02115   { "Seagate Barracuda 7200.12", // new firmware
02116     "ST3(160318|250318|320418|50041[08]|750528|1000528)AS",
02117     "CC4[9A-Z]",
02118     "", ""
02119   },
02120   { "Seagate Barracuda 7200.12", // unknown firmware
02121     "ST3(160318|250318|320418|50041[08]|750528|1000528)AS",
02122     "",
02123     "A firmware update for this drive may be available,\n"
02124     "see the following Seagate web pages:\n"
02125     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02126     "http://knowledge.seagate.com/articles/en_US/FAQ/213891en",
02127     ""
02128   },
02129   { "Seagate Barracuda 7200.12", // tested with ST3250312AS/JC45, ST31000524AS/JC45,
02130       // ST3500413AS/JC4B, ST3750525AS/JC4B
02131     "ST3(160318|25031[128]|320418|50041[038]|750(518|52[358])|100052[348])AS",
02132     "", "", ""
02133   },
02134   { "Seagate Barracuda XT", // tested with ST32000641AS/CC13,
02135       // ST4000DX000-1C5160/CC42
02136     "ST(3(2000641|3000651)AS|4000DX000-.*)",
02137     "", "", ""
02138   },
02139   { "Seagate Barracuda 7200.14 (AF)", // new firmware, tested with
02140       // ST3000DM001-9YN166/CC4H, ST3000DM001-9YN166/CC9E
02141     "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
02142     "CC(4[H-Z]|[5-9A-Z]..*)", // >= "CC4H"
02143     "",
02144     "-v 188,raw16 -v 240,msec24hour32" // tested with ST3000DM001-9YN166/CC4H
02145   },
02146   { "Seagate Barracuda 7200.14 (AF)", // old firmware, tested with
02147       // ST1000DM003-9YN162/CC46
02148     "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
02149     "CC4[679CG]",
02150     "A firmware update for this drive is available,\n"
02151     "see the following Seagate web pages:\n"
02152     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02153     "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
02154     "-v 188,raw16 -v 240,msec24hour32"
02155   },
02156   { "Seagate Barracuda 7200.14 (AF)", // unknown firmware
02157     "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
02158     "",
02159     "A firmware update for this drive may be available,\n"
02160     "see the following Seagate web pages:\n"
02161     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02162     "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
02163     "-v 188,raw16 -v 240,msec24hour32"
02164   },
02165   { "Seagate Barracuda 7200.14 (AF)", // < 1TB, tested with ST250DM000-1BC141
02166     "ST(250|320|500|750)DM00[0-3]-.*",
02167     "", "",
02168     "-v 188,raw16 -v 240,msec24hour32"
02169   },
02170   { "Seagate Desktop HDD.15", // tested with ST4000DM000-1CD168/CC43
02171     "ST4000DM000-.*",
02172     "", "",
02173     "-v 188,raw16 -v 240,msec24hour32"
02174   },
02175   { "Seagate Barracuda LP", // new firmware
02176     "ST3(500412|1000520|1500541|2000542)AS",
02177     "CC3[5-9A-Z]",
02178     "",
02179     "" // -F xerrorlba ?
02180   },
02181   { "Seagate Barracuda LP", // unknown firmware
02182     "ST3(500412|1000520|1500541|2000542)AS",
02183     "",
02184     "A firmware update for this drive may be available,\n"
02185     "see the following Seagate web pages:\n"
02186     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02187     "http://knowledge.seagate.com/articles/en_US/FAQ/213915en",
02188     "-F xerrorlba" // tested with ST31000520AS/CC32
02189   },
02190   { "Seagate Barracuda Green (AF)", // new firmware
02191     "ST((10|15|20)00DL00[123])-.*",
02192     "CC3[2-9A-Z]",
02193     "", ""
02194   },
02195   { "Seagate Barracuda Green (AF)", // unknown firmware
02196     "ST((10|15|20)00DL00[123])-.*",
02197     "",
02198     "A firmware update for this drive may be available,\n"
02199     "see the following Seagate web pages:\n"
02200     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02201     "http://knowledge.seagate.com/articles/en_US/FAQ/218171en",
02202     ""
02203   },
02204   { "Seagate Barracuda ES",
02205     "ST3(250[68]2|32062|40062|50063|75064)0NS",
02206     "", "", ""
02207   },
02208   { "Seagate Barracuda ES.2", // fixed firmware
02209     "ST3(25031|50032|75033|100034)0NS",
02210     "SN[01]6|"         // http://knowledge.seagate.com/articles/en_US/FAQ/207963en
02211     "MA(0[^7]|[^0].)", // http://dellfirmware.seagate.com/dell_firmware/DellFirmwareRequest.jsp
02212     "",
02213     "-F xerrorlba" // tested with ST31000340NS/SN06
02214   },
02215   { "Seagate Barracuda ES.2", // buggy firmware (Dell)
02216     "ST3(25031|50032|75033|100034)0NS",
02217     "MA07",
02218     "There are known problems with these drives,\n"
02219     "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
02220     "see the following Seagate web page:\n"
02221     "http://dellfirmware.seagate.com/dell_firmware/DellFirmwareRequest.jsp",
02222     ""
02223   },
02224   { "Seagate Barracuda ES.2", // unknown firmware
02225     "ST3(25031|50032|75033|100034)0NS",
02226     "",
02227     "There are known problems with these drives,\n"
02228     "see the following Seagate web pages:\n"
02229     "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
02230     "http://knowledge.seagate.com/articles/en_US/FAQ/207963en",
02231     ""
02232   },
02233   { "Seagate Constellation (SATA)", // tested with ST9500530NS/SN03
02234     "ST9(160511|500530)NS",
02235     "", "", ""
02236   },
02237   { "Seagate Constellation ES (SATA)", // tested with ST31000524NS/SN11
02238     "ST3(50051|100052|200064)4NS",
02239     "", "", ""
02240   },
02241   { "Seagate Constellation ES (SATA 6Gb/s)", // tested with ST1000NM0011/SN02
02242     "ST(5|10|20)00NM0011",
02243     "", "", ""
02244   },
02245   { "Seagate Constellation ES.2 (SATA 6Gb/s)", // tested with ST33000650NS
02246     "ST3300065[012]NS",
02247     "", "", ""
02248   },
02249   { "Seagate Pipeline HD 5900.1",
02250     "ST3(160310|320[34]10|500(321|422))CS",
02251     "", "", ""
02252   },
02253   { "Seagate Pipeline HD 5900.2", // tested with ST31000322CS/SC13
02254     "ST3(160316|250[34]12|320(311|413)|500(312|414)|1000(322|424))CS",
02255     "", "", ""
02256   },
02257   { "Seagate Medalist 17240, 13030, 10231, 8420, and 4310",
02258     "ST3(17240|13030|10231|8420|4310)A",
02259     "", "", ""
02260   },
02261   { "Seagate Medalist 17242, 13032, 10232, 8422, and 4312",
02262     "ST3(1724|1303|1023|842|431)2A",
02263     "", "", ""
02264   },
02265   { "Seagate NL35",
02266     "ST3(250623|250823|400632|400832|250824|250624|400633|400833|500641|500841)NS",
02267     "", "", ""
02268   },
02269   { "Seagate SV35.2",
02270     "ST3(160815|250820|320620|500630|750640)[AS]V",
02271     "", "", ""
02272   },
02273   { "Seagate SV35.5", // tested with ST31000525SV/CV12
02274     "ST3(250311|500410|1000525)SV",
02275     "", "", ""
02276   },
02277   { "Seagate SV35", // tested with ST2000VX000-9YW164/CV12
02278     "ST([123]000VX00[20]|31000526SV|3500411SV)(-.*)?",
02279     "", "", ""
02280   },
02281   { "Seagate DB35", // tested with ST3250823ACE/3.03
02282     "ST3(200826|250823|300831|400832)ACE",
02283     "", "", ""
02284   },
02285   { "Seagate DB35.2", // tested with ST3160212SCE/3.ACB
02286     "ST3(802110|120213|160212|200827|250824|300822|400833|500841)[AS]CE",
02287     "", "", ""
02288   },
02289   { "Seagate DB35.3",
02290     "ST3(750640SCE|((80|160)215|(250|320|400)820|500830|750840)[AS]CE)",
02291     "", "", ""
02292   },
02293   { "Seagate LD25.2", // tested with ST940210AS/3.ALC
02294     "ST9(40|80)210AS?",
02295     "", "", ""
02296   },
02297   { "Seagate ST1.2 CompactFlash", // tested with ST68022CF/3.01
02298     "ST6[468]022CF",
02299     "", "", ""
02300   },
02301   { "Western Digital Protege",
02302   /* Western Digital drives with this comment all appear to use Attribute 9 in
02303    * a  non-standard manner.  These entries may need to be updated when it
02304    * is understood exactly how Attribute 9 should be interpreted.
02305    * UPDATE: this is probably explained by the WD firmware bug described in the
02306    * smartmontools FAQ */
02307     "WDC WD([2468]00E|1[26]00A)B-.*",
02308     "", "", ""
02309   },
02310   { "Western Digital Caviar",
02311   /* Western Digital drives with this comment all appear to use Attribute 9 in
02312    * a  non-standard manner.  These entries may need to be updated when it
02313    * is understood exactly how Attribute 9 should be interpreted.
02314    * UPDATE: this is probably explained by the WD firmware bug described in the
02315    * smartmontools FAQ */
02316     "WDC WD(2|3|4|6|8|10|12|16|18|20|25)00BB-.*",
02317     "", "", ""
02318   },
02319   { "Western Digital Caviar WDxxxAB",
02320   /* Western Digital drives with this comment all appear to use Attribute 9 in
02321    * a  non-standard manner.  These entries may need to be updated when it
02322    * is understood exactly how Attribute 9 should be interpreted.
02323    * UPDATE: this is probably explained by the WD firmware bug described in the
02324    * smartmontools FAQ */
02325     "WDC WD(3|4|6|8|25)00AB-.*",
02326     "", "", ""
02327   },
02328   { "Western Digital Caviar WDxxxAA",
02329   /* Western Digital drives with this comment all appear to use Attribute 9 in
02330    * a  non-standard manner.  These entries may need to be updated when it
02331    * is understood exactly how Attribute 9 should be interpreted.
02332    * UPDATE: this is probably explained by the WD firmware bug described in the
02333    * smartmontools FAQ */
02334     "WDC WD...?AA(-.*)?",
02335     "", "", ""
02336   },
02337   { "Western Digital Caviar WDxxxBA",
02338   /* Western Digital drives with this comment all appear to use Attribute 9 in
02339    * a  non-standard manner.  These entries may need to be updated when it
02340    * is understood exactly how Attribute 9 should be interpreted.
02341    * UPDATE: this is probably explained by the WD firmware bug described in the
02342    * smartmontools FAQ */
02343     "WDC WD...BA",
02344     "", "", ""
02345   },
02346   { "Western Digital Caviar AC", // add only 5400rpm/7200rpm (ata33 and faster)
02347     "WDC AC((116|121|125|225|132|232)|([1-4][4-9][0-9])|([1-4][0-9][0-9][0-9]))00[A-Z]?.*",
02348     "", "", ""
02349   },
02350   { "Western Digital Caviar SE",
02351   /* Western Digital drives with this comment all appear to use Attribute 9 in
02352    * a  non-standard manner.  These entries may need to be updated when it
02353    * is understood exactly how Attribute 9 should be interpreted.
02354    * UPDATE: this is probably explained by the WD firmware bug described in the
02355    * smartmontools FAQ
02356    * UPDATE 2: this does not apply to more recent models, at least WD3200AAJB */
02357     "WDC WD(4|6|8|10|12|16|18|20|25|30|32|40|50)00(JB|PB)-.*",
02358     "", "", ""
02359   },
02360   { "Western Digital Caviar Blue EIDE",  // WD Caviar SE EIDE
02361     /* not completely accurate: at least also WD800JB, WD(4|8|20|25)00BB sold as Caviar Blue */
02362     "WDC WD(16|25|32|40|50)00AAJB-.*",
02363     "", "", ""
02364   },
02365   { "Western Digital Caviar Blue EIDE",  // WD Caviar SE16 EIDE
02366     "WDC WD(25|32|40|50)00AAKB-.*",
02367     "", "", ""
02368   },
02369   { "Western Digital RE EIDE",
02370     "WDC WD(12|16|25|32)00SB-.*",
02371     "", "", ""
02372   },
02373   { "Western Digital Caviar Serial ATA",
02374     "WDC WD(4|8|20|32)00BD-.*",
02375     "", "", ""
02376   },
02377   { "Western Digital Caviar SE Serial ATA", // tested with WDC WD3000JD-98KLB0/08.05J08
02378     "WDC WD(4|8|12|16|20|25|30|32|40)00(JD|KD|PD)-.*",
02379     "", "", ""
02380   },
02381   { "Western Digital Caviar SE Serial ATA",
02382     "WDC WD(8|12|16|20|25|30|32|40|50)00JS-.*",
02383     "", "", ""
02384   },
02385   { "Western Digital Caviar SE16 Serial ATA",
02386     "WDC WD(16|20|25|32|40|50|75)00KS-.*",
02387     "", "", ""
02388   },
02389   { "Western Digital Caviar Blue Serial ATA",  // WD Caviar SE Serial ATA
02390     /* not completely accurate: at least also WD800BD, (4|8)00JD sold as Caviar Blue */
02391     "WDC WD((8|12|16|25|32)00AABS|(8|12|16|25|32|40|50)00AAJS)-.*",
02392     "", "", ""
02393   },
02394   { "Western Digital Caviar Blue Serial ATA",  // WD Caviar SE16 Serial ATA
02395     "WDC WD((16|20|25|32|40|50|64|75)00AAKS|10EALS)-.*",
02396     "", "", ""
02397   },
02398   { "Western Digital Caviar Blue Serial ATA",  // SATA 3.0 variants
02399     "WDC WD((25|32|50)00AAKX|7500AALX|10EALX)-.*",
02400     "", "", ""
02401   },
02402   { "Western Digital RE Serial ATA",
02403     "WDC WD(12|16|25|32)00(SD|YD|YS)-.*",
02404     "", "", ""
02405   },
02406   { "Western Digital RE2 Serial ATA",
02407     "WDC WD((40|50|75)00(YR|YS|AYYS)|(16|32|40|50)0[01]ABYS)-.*",
02408     "", "", ""
02409   },
02410   { "Western Digital RE2-GP",
02411     "WDC WD(5000AB|7500AY|1000FY)PS-.*",
02412     "", "", ""
02413   },
02414   { "Western Digital RE3 Serial ATA", // tested with WDC WD7502ABYS-02A6B0/03.00C06
02415     "WDC WD((25|32|50|75)02A|(75|10)02F)BYS-.*",
02416     "", "", ""
02417   },
02418   { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02
02419     "WDC WD((((25|50)03A|1003F)BYX)|((15|20)03FYYS))-.*",
02420     "", "", ""
02421   },
02422   { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01
02423     "WDC WD2002FYPS-.*",
02424     "", "", ""
02425   },
02426   { "Western Digital RE4 (SATA 6Gb/s)", // tested with WDC WD2000FYYZ-01UL1B0/01.01K01
02427     "WDC WD(20|30|40)00FYYZ-.*",
02428     "", "", ""
02429   },
02430   { "Western Digital Caviar Green",
02431     "WDC WD((50|64|75)00AA(C|V)S|(50|64|75)00AADS|10EA(C|V)S|(10|15|20)EADS)-.*",
02432     "",
02433     "",
02434     "-F xerrorlba" // tested with WDC WD7500AADS-00M2B0/01.00A01
02435   },
02436   { "Western Digital Caviar Green (AF)",
02437     "WDC WD(((64|75|80)00AA|(10|15|20)EA|(25|30)EZ)R|20EAC)S-.*",
02438     "", "", ""
02439   },
02440   { "Western Digital Caviar Green (AF, SATA 6Gb/s)", // tested with
02441       // WDC WD10EZRX-00A8LB0/01.01A01, WDC WD20EZRX-00DC0B0/80.00A80,
02442       // WDC WD30EZRX-00MMMB0/80.00A80
02443     "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30)EZ)RX-.*",
02444     "", "", ""
02445   },
02446   { "Western Digital Caviar Black",
02447     "WDC WD((500|640|750)1AAL|1001FA[EL]|2001FAS)S-.*",
02448     "", "", ""
02449   },
02450   { "Western Digital Caviar Black",  // SATA 6 Gb/s variants, tested with
02451       //  WDC WD4001FAEX-00MJRA0/01.01L01
02452     "WDC WD(5002AAL|(64|75)02AAE|((10|15|20)02|4001)FAE)X-.*",
02453     "", "", ""
02454   },
02455   { "Western Digital Caviar Black (AF)", // tested with WDC WD5003AZEX-00RKKA0/80.00A80
02456     "WDC WD(5003AZE)X-.*",
02457     "", "", ""
02458   },
02459   { "Western Digital AV ATA", // tested with WDC WD3200AVJB-63J5A0/01.03E01
02460     "WDC WD(8|16|25|32|50)00AV[BJ]B-.*",
02461     "", "", ""
02462   },
02463   { "Western Digital AV SATA",
02464     "WDC WD(16|25|32)00AVJS-.*",
02465     "", "", ""
02466   },
02467   { "Western Digital AV-GP",
02468     "WDC WD((16|25|32|50|64|75)00AV[CDV]S|(10|15|20)EV[CDV]S)-.*",
02469     "", "", ""
02470   },
02471   { "Western Digital AV-GP (AF)", // tested with WDC WD10EURS-630AB1/80.00A80, WDC WD10EUCX-63YZ1Y0/51.0AB52
02472     "WDC WD(7500AURS|10EU[CR]X|(10|15|20|25|30)EURS)-.*",
02473     "", "", ""
02474   },
02475   { "Western Digital AV-25",
02476     "WDC WD((16|25|32|50)00BUD|5000BUC)T-.*",
02477     "", "", ""
02478   },
02479   { "Western Digital Raptor",
02480     "WDC WD((360|740|800)GD|(360|740|800|1500)ADF[DS])-.*",
02481     "", "", ""
02482   },
02483   { "Western Digital Raptor X",
02484     "WDC WD1500AHFD-.*",
02485     "", "", ""
02486   },
02487   { "Western Digital VelociRaptor", // tested with WDC WD1500HLHX-01JJPV0/04.05G04
02488     "WDC WD(((800H|(1500|3000)[BH]|1600H|3000G)LFS)|((1500|3000|4500|6000)[BH]LHX))-.*",
02489     "", "", ""
02490   },
02491   { "Western Digital VelociRaptor (AF)", // tested with WDC WD1000DHTZ-04N21V0/04.06A00
02492     "WDC WD(2500H|5000H|1000D)HTZ-.*",
02493     "", "", ""
02494   },
02495   { "Western Digital Scorpio EIDE",
02496     "WDC WD(4|6|8|10|12|16)00(UE|VE)-.*",
02497     "", "", ""
02498   },
02499   { "Western Digital Scorpio Blue EIDE", // tested with WDC WD3200BEVE-00A0HT0/11.01A11
02500     "WDC WD(4|6|8|10|12|16|25|32)00BEVE-.*",
02501     "", "", ""
02502   },
02503   { "Western Digital Scorpio Serial ATA",
02504     "WDC WD(4|6|8|10|12|16|25)00BEAS-.*",
02505     "", "", ""
02506   },
02507   { "Western Digital Scorpio Blue Serial ATA",
02508     "WDC WD((4|6|8|10|12|16|25)00BEVS|(8|12|16|25|32|40|50|64)00BEVT|7500KEVT|10TEVT)-.*",
02509     "", "", ""
02510   },
02511   { "Western Digital Scorpio Blue Serial ATA (AF)", // tested with
02512       // WDC WD10JPVT-00A1YT0/01.01A01
02513     "WDC WD((16|25|32|50|64|75)00BPVT|10[JT]PVT)-.*",
02514     "", "", ""
02515   },
02516   { "Western Digital Scorpio Black", // tested with WDC WD5000BEKT-00KA9T0/01.01A01
02517     "WDC WD(8|12|16|25|32|50)00B[EJ]KT-.*",
02518     "", "", ""
02519   },
02520   { "Western Digital Scorpio Black (AF)",
02521     "WDC WD(50|75)00BPKT-.*",
02522     "", "", ""
02523   },
02524   { "Western Digital Red (AF)", // tested with WDC WD10EFRX-68JCSN0/01.01A01
02525     "WDC WD(10|20|30)EFRX-.*",
02526     "", "", ""
02527   },
02528   { "Western Digital My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
02529     "WDC WD(25|32|40|50)00BMV[UVW]-.*",  // *W-* = USB 3.0
02530     "", "", ""
02531   },
02532   { "Western Digital My Passport (USB, AF)", // tested with
02533       // WDC WD5000KMVV-11TK7S1/01.01A01, WDC WD10TMVW-11ZSMS5/01.01A01,
02534       // WDC WD10JMVW-11S5XS1/01.01A01, WDC WD20NMVW-11W68S0/01.01A01
02535     "WDC WD(5000[LK]|7500K|10[JT]|20N)MV[VW]-.*", // *W-* = USB 3.0
02536     "", "", ""
02537   },
02538   { "Quantum Bigfoot", // tested with TS10.0A/A21.0G00, TS12.7A/A21.0F00
02539     "QUANTUM BIGFOOT TS(10\\.0|12\\.7)A",
02540     "", "", ""
02541   },
02542   { "Quantum Fireball lct15",
02543     "QUANTUM FIREBALLlct15 ([123]0|22)",
02544     "", "", ""
02545   },
02546   { "Quantum Fireball lct20",
02547     "QUANTUM FIREBALLlct20 [1234]0",
02548     "", "", ""
02549   },
02550   { "Quantum Fireball CX",
02551     "QUANTUM FIREBALL CX10.2A",
02552     "", "", ""
02553   },
02554   { "Quantum Fireball CR",
02555     "QUANTUM FIREBALL CR(4.3|6.4|8.4|13.0)A",
02556     "", "", ""
02557   },
02558   { "Quantum Fireball EX", // tested with QUANTUM FIREBALL EX10.2A/A0A.0D00
02559     "QUANTUM FIREBALL EX(3\\.2|6\\.4|10\\.2)A",
02560     "", "", ""
02561   },
02562   { "Quantum Fireball ST",
02563     "QUANTUM FIREBALL ST(3.2|4.3|4300)A",
02564     "", "", ""
02565   },
02566   { "Quantum Fireball SE",
02567     "QUANTUM FIREBALL SE4.3A",
02568     "", "", ""
02569   },
02570   { "Quantum Fireball Plus LM",
02571     "QUANTUM FIREBALLP LM(10.2|15|20.[45]|30)",
02572     "", "", ""
02573   },
02574   { "Quantum Fireball Plus AS",
02575     "QUANTUM FIREBALLP AS(10.2|20.5|30.0|40.0|60.0)",
02576     "", "", ""
02577   },
02578   { "Quantum Fireball Plus KX",
02579     "QUANTUM FIREBALLP KX27.3",
02580     "", "", ""
02581   },
02582   { "Quantum Fireball Plus KA",
02583     "QUANTUM FIREBALLP KA(9|10).1",
02584     "", "", ""
02585   },
02586 
02587   ////////////////////////////////////////////////////
02588   // USB ID entries
02589   ////////////////////////////////////////////////////
02590 
02591   // Hewlett-Packard
02592   { "USB: HP Desktop HD BD07; ", // 2TB
02593     "0x03f0:0xbd07",
02594     "",
02595     "",
02596     "-d sat"
02597   },
02598   // ALi
02599   { "USB: ; ALi M5621", // USB->PATA
02600     "0x0402:0x5621",
02601     "",
02602     "",
02603     "" // unsupported
02604   },
02605   // VIA
02606   { "USB: Connectland BE-USB2-35BP-LCM; VIA VT6204",
02607     "0x040d:0x6204",
02608     "",
02609     "",
02610     "" // unsupported
02611   },
02612   // Buffalo / Melco
02613   { "USB: Buffalo JustStore Portable HD-PVU2; ",
02614     "0x0411:0x0181",
02615     "",
02616     "",
02617     "-d sat"
02618   },
02619   { "USB: Buffalo MiniStation Stealth HD-PCTU2; ",
02620     "0x0411:0x01d9",
02621     "", // 0x0108
02622     "",
02623     "-d sat"
02624   },
02625   // LG Electronics
02626   { "USB: LG Mini HXD5; JMicron",
02627     "0x043e:0x70f1",
02628     "", // 0x0100
02629     "",
02630     "-d usbjmicron"
02631   },
02632   // Philips
02633   { "USB: Philips; ", // SDE3273FC/97 2.5" SATA HDD enclosure
02634     "0x0471:0x2021",
02635     "", // 0x0103
02636     "",
02637     "-d sat"
02638   },
02639   // Toshiba
02640   { "USB: Toshiba Canvio 500GB; SunPlus",
02641     "0x0480:0xa004",
02642     "",
02643     "",
02644     "-d usbsunplus"
02645   },
02646   { "USB: Toshiba Canvio Basics; ",
02647     "0x0480:0xa006",
02648     "", // 0x0001
02649     "",
02650     "-d sat"
02651   },
02652   // Cypress
02653   { "USB: ; Cypress CY7C68300A (AT2)",
02654     "0x04b4:0x6830",
02655     "0x0001",
02656     "",
02657     "" // unsupported
02658   },
02659   { "USB: ; Cypress CY7C68300B/C (AT2LP)",
02660     "0x04b4:0x6830",
02661     "0x0240",
02662     "",
02663     "-d usbcypress"
02664   },
02665   // Fujitsu
02666   { "USB: Fujitsu/Zalman ZM-VE300; ", // USB 3.0
02667     "0x04c5:0x2028",
02668     "", // 0x0001
02669     "",
02670     "-d sat"
02671   },
02672   // Myson Century
02673   { "USB: ; Myson Century CS8818",
02674     "0x04cf:0x8818",
02675     "", // 0xb007
02676     "",
02677     "" // unsupported
02678   },
02679   // Samsung
02680   { "USB: Samsung S2 Portable; JMicron",
02681     "0x04e8:0x1f0[568]",
02682     "",
02683     "",
02684     "-d usbjmicron"
02685   },
02686   { "USB: Samsung S1 Portable; JMicron",
02687     "0x04e8:0x2f03",
02688     "",
02689     "",
02690     "-d usbjmicron"
02691   },
02692   { "USB: Samsung Story Station; ",
02693     "0x04e8:0x5f0[56]",
02694     "",
02695     "",
02696     "-d sat"
02697   },
02698   { "USB: Samsung G2 Portable; JMicron",
02699     "0x04e8:0x6032",
02700     "",
02701     "",
02702     "-d usbjmicron"
02703   },
02704   { "USB: Samsung Story Station 3.0; ",
02705     "0x04e8:0x6052",
02706     "",
02707     "",
02708     "-d sat"
02709   },
02710   { "USB: Samsung Story Station 3.0; ",
02711     "0x04e8:0x6054",
02712     "",
02713     "",
02714     "-d sat"
02715   },
02716   { "USB: Samsung M2 Portable 3.0; ",
02717     "0x04e8:0x60c5",
02718     "",
02719     "",
02720     "-d sat"
02721   },
02722   { "USB: Samsung M3 Portable USB 3.0; ", // 1TB
02723     "0x04e8:0x61b6",
02724     "", // 0x0e00
02725     "",
02726     "-d sat"
02727   },
02728   // Sunplus
02729   { "USB: ; SunPlus",
02730     "0x04fc:0x0c05",
02731     "",
02732     "",
02733     "-d usbsunplus"
02734   },
02735   { "USB: ; SunPlus SPDIF215",
02736     "0x04fc:0x0c15",
02737     "", // 0xf615
02738     "",
02739     "-d usbsunplus"
02740   },
02741   { "USB: ; SunPlus SPDIF225", // USB+SATA->SATA
02742     "0x04fc:0x0c25",
02743     "", // 0x0103
02744     "",
02745     "-d usbsunplus"
02746   },
02747   // Iomega
02748   { "USB: Iomega Prestige Desktop USB 3.0; ",
02749     "0x059b:0x0070",
02750     "", // 0x0004
02751     "",
02752     "-d sat" // ATA output registers missing
02753   },
02754   { "USB: Iomega LPHD080-0; ",
02755     "0x059b:0x0272",
02756     "",
02757     "",
02758     "-d usbcypress"
02759   },
02760   { "USB: Iomega MDHD500-U; ",
02761     "0x059b:0x0275",
02762     "", // 0x0001
02763     "",
02764     "" // unsupported
02765   },
02766   { "USB: Iomega MDHD-UE; ",
02767     "0x059b:0x0277",
02768     "",
02769     "",
02770     "-d usbjmicron"
02771   },
02772   { "USB: Iomega LDHD-UP; Sunplus",
02773     "0x059b:0x0370",
02774     "",
02775     "",
02776     "-d usbsunplus"
02777   },
02778   { "USB: Iomega GDHDU2; JMicron",
02779     "0x059b:0x0475",
02780     "", // 0x0100
02781     "",
02782     "-d usbjmicron"
02783   },
02784   // LaCie
02785   { "USB: LaCie hard disk (FA Porsche design);",
02786     "0x059f:0x0651",
02787     "",
02788     "",
02789     "" // unsupported
02790   },
02791   { "USB: LaCie hard disk; JMicron",
02792     "0x059f:0x0951",
02793     "",
02794     "",
02795     "-d usbjmicron"
02796   },
02797   { "USB: LaCie hard disk (Neil Poulton design);",
02798     "0x059f:0x1018",
02799     "",
02800     "",
02801     "-d sat"
02802   },
02803   { "USB: LaCie Desktop Hard Drive; JMicron",
02804     "0x059f:0x1019",
02805     "",
02806     "",
02807     "-d usbjmicron"
02808   },
02809   { "USB: LaCie Rugged Hard Drive; JMicron",
02810     "0x059f:0x101d",
02811     "", // 0x0001
02812     "",
02813     "-d usbjmicron,x"
02814   },
02815   { "USB: LaCie Little Disk USB2; JMicron",
02816     "0x059f:0x1021",
02817     "",
02818     "",
02819     "-d usbjmicron"
02820   },
02821   { "USB: LaCie hard disk; ",
02822     "0x059f:0x1029",
02823     "", // 0x0100
02824     "",
02825     "-d sat"
02826   },
02827   { "USB: Lacie rikiki; JMicron",
02828     "0x059f:0x102a",
02829     "",
02830     "",
02831     "-d usbjmicron,x"
02832   },
02833   { "USB: LaCie rikiki USB 3.0; ",
02834     "0x059f:0x10(49|57)",
02835     "",
02836     "",
02837     "-d sat"
02838   },
02839   { "USB: LaCie minimus USB 3.0; ",
02840     "0x059f:0x104a",
02841     "",
02842     "",
02843     "-d sat"
02844   },
02845   { "USB: LaCie Rugged Mini USB 3.0; ",
02846     "0x059f:0x1051",
02847     "", // 0x0000
02848     "",
02849     "-d sat"
02850   },
02851   // In-System Design
02852   { "USB: ; In-System/Cypress ISD-300A1",
02853     "0x05ab:0x0060",
02854     "", // 0x1101
02855     "",
02856     "-d usbcypress"
02857   },
02858   // Genesys Logic
02859   { "USB: ; Genesys Logic GL881E",
02860     "0x05e3:0x0702",
02861     "",
02862     "",
02863     "" // unsupported
02864   },
02865   { "USB: ; Genesys Logic", // TODO: requires '-T permissive'
02866     "0x05e3:0x0718",
02867     "", // 0x0041
02868     "",
02869     "-d sat"
02870   },
02871   // Micron
02872   { "USB: Micron USB SSD; ",
02873     "0x0634:0x0655",
02874     "",
02875     "",
02876     "" // unsupported
02877   },
02878   // Prolific
02879   { "USB: ; Prolific PL2507", // USB->PATA
02880     "0x067b:0x2507",
02881     "",
02882     "",
02883     "-d usbjmicron,0" // Port number is required
02884   },
02885   { "USB: ; Prolific PL3507", // USB+IEE1394->PATA
02886     "0x067b:0x3507",
02887     "", // 0x0001
02888     "",
02889     "-d usbjmicron,p"
02890   },
02891   // Imation
02892   { "USB: Imation ; ", // Imation Odyssey external USB dock
02893     "0x0718:0x1000",
02894     "", // 0x5104
02895     "",
02896     "-d sat"
02897   },
02898   // Freecom
02899   { "USB: Freecom Mobile Drive XXS; JMicron",
02900     "0x07ab:0xfc88",
02901     "", // 0x0101
02902     "",
02903     "-d usbjmicron,x"
02904   },
02905   { "USB: Freecom Hard Drive XS; Sunplus",
02906     "0x07ab:0xfc8e",
02907     "", // 0x010f
02908     "",
02909     "-d usbsunplus"
02910   },
02911   { "USB: Freecom; ", // Intel labeled
02912     "0x07ab:0xfc8f",
02913     "", // 0x0000
02914     "",
02915     "-d sat"
02916   },
02917   { "USB: Freecom Classic HD 120GB; ",
02918     "0x07ab:0xfccd",
02919     "",
02920     "",
02921     "" // unsupported
02922   },
02923   { "USB: Freecom HD 500GB; JMicron",
02924     "0x07ab:0xfcda",
02925     "",
02926     "",
02927     "-d usbjmicron"
02928   },
02929   // Oxford Semiconductor, Ltd
02930   { "USB: ; Oxford",
02931     "0x0928:0x0000",
02932     "",
02933     "",
02934     "" // unsupported
02935   },
02936   { "USB: ; Oxford OXU921DS",
02937     "0x0928:0x0002",
02938     "",
02939     "",
02940     "" // unsupported
02941   },
02942   { "USB: ; Oxford", // Zalman ZM-VE200
02943     "0x0928:0x0010",
02944     "", // 0x0304
02945     "",
02946     "-d sat"
02947   },
02948   // Toshiba
02949   { "USB: Toshiba PX1270E-1G16; Sunplus",
02950     "0x0930:0x0b03",
02951     "",
02952     "",
02953     "-d usbsunplus"
02954   },
02955   { "USB: Toshiba PX1396E-3T01; Sunplus", // similar to Dura Micro 501
02956     "0x0930:0x0b09",
02957     "",
02958     "",
02959     "-d usbsunplus"
02960   },
02961   { "USB: Toshiba Stor.E Steel; Sunplus",
02962     "0x0930:0x0b11",
02963     "",
02964     "",
02965     "-d usbsunplus"
02966   },
02967   { "USB: Toshiba Stor.E; ",
02968     "0x0930:0x0b1[9ab]",
02969     "", // 0x0001
02970     "",
02971     "-d sat"
02972   },
02973   // Lumberg, Inc.
02974   { "USB: Toshiba Stor.E; Sunplus",
02975     "0x0939:0x0b16",
02976     "",
02977     "",
02978     "-d usbsunplus"
02979   },
02980   // Seagate
02981   { "USB: Seagate External Drive; Cypress",
02982     "0x0bc2:0x0503",
02983     "", // 0x0240
02984     "",
02985     "-d usbcypress"
02986   },
02987   { "USB: Seagate FreeAgent Go; ",
02988     "0x0bc2:0x2(000|100|101)",
02989     "",
02990     "",
02991     "-d sat"
02992   },
02993   { "USB: Seagate FreeAgent Go FW; ",
02994     "0x0bc2:0x2200",
02995     "",
02996     "",
02997     "-d sat"
02998   },
02999   { "USB: Seagate Expansion Portable; ",
03000     "0x0bc2:0x2300",
03001     "",
03002     "",
03003     "-d sat"
03004   },
03005   { "USB: Seagate FreeAgent Desktop; ",
03006     "0x0bc2:0x3000",
03007     "",
03008     "",
03009     "-d sat"
03010   },
03011   { "USB: Seagate FreeAgent Desk; ",
03012     "0x0bc2:0x3001",
03013     "",
03014     "",
03015     "-d sat"
03016   },
03017   { "USB: Seagate Expansion External; ", // 2TB
03018     "0x0bc2:0x33(00|32)",
03019     "",
03020     "",
03021     "-d sat"
03022   },
03023   { "USB: Seagate FreeAgent GoFlex USB 2.0; ",
03024     "0x0bc2:0x5021",
03025     "",
03026     "",
03027     "-d sat"
03028   },
03029   { "USB: Seagate FreeAgent GoFlex USB 3.0; ",
03030     "0x0bc2:0x5031",
03031     "",
03032     "",
03033     "-d sat,12"
03034   },
03035   { "USB: Seagate FreeAgent; ",
03036     "0x0bc2:0x5040",
03037     "",
03038     "",
03039     "-d sat"
03040   },
03041   { "USB: Seagate FreeAgent GoFlex USB 3.0; ", // 2TB
03042     "0x0bc2:0x5071",
03043     "",
03044     "",
03045     "-d sat"
03046   },
03047   { "USB: Seagate FreeAgent GoFlex Desk USB 3.0; ", // 3TB
03048     "0x0bc2:0x50a1",
03049     "",
03050     "",
03051     "-d sat,12" // "-d sat" does not work (ticket #151)
03052   },
03053   { "USB: Seagate FreeAgent GoFlex Desk USB 3.0; ", // 4TB
03054     "0x0bc2:0x50a5",
03055     "", // 0x0100
03056     "",
03057     "-d sat"
03058   },
03059   { "USB: Seagate Backup Plus USB 3.0; ", // 1TB
03060     "0x0bc2:0xa013",
03061     "", // 0x0100
03062     "",
03063     "-d sat"
03064   },
03065   { "USB: Seagate Backup Plus Desktop USB 3.0; ", // 3TB, 8 LBA/1 PBA offset
03066     "0x0bc2:0xa0a4",
03067     "",
03068     "",
03069     "-d sat"
03070   },
03071   // Dura Micro
03072   { "USB: Dura Micro; Cypress",
03073     "0x0c0b:0xb001",
03074     "", // 0x1110
03075     "",
03076     "-d usbcypress"
03077   },
03078   { "USB: Dura Micro 509; Sunplus",
03079     "0x0c0b:0xb159",
03080     "", // 0x0103
03081     "",
03082     "-d usbsunplus"
03083   },
03084   // Maxtor
03085   { "USB: Maxtor OneTouch 200GB; ",
03086     "0x0d49:0x7010",
03087     "",
03088     "",
03089     "" // unsupported
03090   },
03091   { "USB: Maxtor OneTouch; ",
03092     "0x0d49:0x7300",
03093     "", // 0x0121
03094     "",
03095     "-d sat"
03096   },
03097   { "USB: Maxtor OneTouch 4; ",
03098     "0x0d49:0x7310",
03099     "", // 0x0125
03100     "",
03101     "-d sat"
03102   },
03103   { "USB: Maxtor OneTouch 4 Mini; ",
03104     "0x0d49:0x7350",
03105     "", // 0x0125
03106     "",
03107     "-d sat"
03108   },
03109   { "USB: Maxtor BlackArmor Portable; ",
03110     "0x0d49:0x7550",
03111     "",
03112     "",
03113     "-d sat"
03114   },
03115   { "USB: Maxtor Basics Desktop; ",
03116     "0x0d49:0x7410",
03117     "", // 0x0122
03118     "",
03119     "-d sat"
03120   },
03121   { "USB: Maxtor Basics Portable; ",
03122     "0x0d49:0x7450",
03123     "", // 0x0122
03124     "",
03125     "-d sat"
03126   },
03127   // Oyen Digital
03128   { "USB: Oyen Digital MiniPro USB 3.0; ",
03129     "0x0dc4:0x020a",
03130     "",
03131     "",
03132     "-d sat"
03133   },
03134   // Cowon Systems, Inc.
03135   { "USB: Cowon iAudio X5; ",
03136     "0x0e21:0x0510",
03137     "",
03138     "",
03139     "-d usbcypress"
03140   },
03141   // iRiver
03142   { "USB: iRiver iHP-120/140 MP3 Player; Cypress",
03143     "0x1006:0x3002",
03144     "", // 0x0100
03145     "",
03146     "-d usbcypress"
03147   },
03148   // Western Digital
03149   { "USB: WD My Passport (IDE); Cypress",
03150     "0x1058:0x0701",
03151     "", // 0x0240
03152     "",
03153     "-d usbcypress"
03154   },
03155   { "USB: WD My Passport Portable; ",
03156     "0x1058:0x0702",
03157     "", // 0x0102
03158     "",
03159     "-d sat"
03160   },
03161   { "USB: WD My Passport Essential; ",
03162     "0x1058:0x0704",
03163     "", // 0x0175
03164     "",
03165     "-d sat"
03166   },
03167   { "USB: WD My Passport Elite; ",
03168     "0x1058:0x0705",
03169     "", // 0x0175
03170     "",
03171     "-d sat"
03172   },
03173   { "USB: WD My Passport 070A; ",
03174     "0x1058:0x070a",
03175     "", // 0x1028
03176     "",
03177     "-d sat"
03178   },
03179   { "USB: WD My Passport 0730; ",
03180     "0x1058:0x0730",
03181     "", // 0x1008
03182     "",
03183     "-d sat"
03184   },
03185   { "USB: WD My Passport Essential SE USB 3.0; ",
03186     "0x1058:0x074[02]",
03187     "",
03188     "",
03189     "-d sat"
03190   },
03191   { "USB: WD My Passport USB 3.0; ",
03192     "0x1058:0x07[4a]8",
03193     "",
03194     "",
03195     "-d sat"
03196   },
03197   { "USB: WD My Book ES; ",
03198     "0x1058:0x0906",
03199     "", // 0x0012
03200     "",
03201     "-d sat"
03202   },
03203   { "USB: WD My Book Essential; ",
03204     "0x1058:0x0910",
03205     "", // 0x0106
03206     "",
03207     "-d sat"
03208   },
03209   { "USB: WD Elements Desktop; ",
03210     "0x1058:0x1001",
03211     "", // 0x0104
03212     "",
03213     "-d sat"
03214   },
03215   { "USB: WD Elements Desktop WDE1UBK...; ",
03216     "0x1058:0x1003",
03217     "", // 0x0175
03218     "",
03219     "-d sat"
03220   },
03221   { "USB: WD Elements; ",
03222     "0x1058:0x1010",
03223     "", // 0x0105
03224     "",
03225     "-d sat"
03226   },
03227   { "USB: WD Elements Desktop; ", // 2TB
03228     "0x1058:0x1021",
03229     "", // 0x2002
03230     "",
03231     "-d sat"
03232   },
03233   { "USB: WD Elements SE; ", // 1TB
03234     "0x1058:0x1023",
03235     "",
03236     "",
03237     "-d sat"
03238   },
03239   { "USB: WD Elements SE USB 3.0; ",
03240     "0x1058:0x1042",
03241     "",
03242     "",
03243     "-d sat"
03244   },
03245   { "USB: WD My Book Essential; ",
03246     "0x1058:0x1100",
03247     "", // 0x0165
03248     "",
03249     "-d sat"
03250   },
03251   { "USB: WD My Book Office Edition; ", // 1TB
03252     "0x1058:0x1101",
03253     "", // 0x0165
03254     "",
03255     "-d sat"
03256   },
03257   { "USB: WD My Book; ",
03258     "0x1058:0x1102",
03259     "", // 0x1028
03260     "",
03261     "-d sat"
03262   },
03263   { "USB: WD My Book Studio II; ", // 2x1TB
03264     "0x1058:0x1105",
03265     "",
03266     "",
03267     "-d sat"
03268   },
03269   { "USB: WD My Book Essential; ",
03270     "0x1058:0x1110",
03271     "", // 0x1030
03272     "",
03273     "-d sat"
03274   },
03275   { "USB: WD My Book Essential USB 3.0; ", // 3TB
03276     "0x1058:0x11[34]0",
03277     "", // 0x1012/0x1003
03278     "",
03279     "-d sat"
03280   },
03281   // Atech Flash Technology
03282   { "USB: ; Atech", // Enclosure from Kingston SSDNow notebook upgrade kit
03283     "0x11b0:0x6298",
03284     "", // 0x0108
03285     "",
03286     "-d sat"
03287   },
03288   // A-DATA
03289   { "USB: A-DATA SH93; Cypress",
03290     "0x125f:0xa93a",
03291     "", // 0x0150
03292     "",
03293     "-d usbcypress"
03294   },
03295   { "USB: A-DATA DashDrive; Cypress",
03296     "0x125f:0xa94a",
03297     "",
03298     "",
03299     "-d usbcypress"
03300   },
03301   // Initio
03302   { "USB: ; Initio 316000",
03303     "0x13fd:0x0540",
03304     "",
03305     "",
03306     "" // unsupported
03307   },
03308   { "USB: ; Initio", // Thermaltake BlacX
03309     "0x13fd:0x0840",
03310     "",
03311     "",
03312     "-d sat"
03313   },
03314   { "USB: ; Initio", // USB->SATA+PATA, Chieftec CEB-25I
03315     "0x13fd:0x1040",
03316     "", // 0x0106
03317     "",
03318     "" // unsupported
03319   },
03320   { "USB: ; Initio 6Y120L0", // CoolerMaster XCraft RX-3HU
03321     "0x13fd:0x1150",
03322     "",
03323     "",
03324     "" // unsupported
03325   },
03326   { "USB: ; Initio", // USB->SATA
03327     "0x13fd:0x1240",
03328     "", // 0x0104
03329     "",
03330     "-d sat"
03331   },
03332   { "USB: ; Initio", // USB+SATA->SATA
03333     "0x13fd:0x1340",
03334     "", // 0x0208
03335     "",
03336     "-d sat"
03337   },
03338   { "USB: Intenso Memory Station 2,5\"; Initio",
03339     "0x13fd:0x1840",
03340     "",
03341     "",
03342     "-d sat"
03343   },
03344   { "USB: ; Initio", // NexStar CX USB enclosure
03345     "0x13fd:0x1e40",
03346     "",
03347     "",
03348     "-d sat"
03349   },
03350   // Super Top
03351   { "USB: Super Top generic enclosure; Cypress",
03352     "0x14cd:0x6116",
03353     "", // 0x0160 also reported as unsupported
03354     "",
03355     "-d usbcypress"
03356   },
03357   // JMicron
03358   { "USB: ; JMicron USB 3.0",
03359     "0x152d:0x0539",
03360     "", // 0x0100
03361     "",
03362     "-d usbjmicron"
03363   },
03364   { "USB: ; JMicron ", // USB->SATA->4xSATA (port multiplier)
03365     "0x152d:0x0551",
03366     "", // 0x0100
03367     "",
03368     "-d usbjmicron,x"
03369   },
03370   { "USB: OCZ THROTTLE OCZESATATHR8G; JMicron JMF601",
03371     "0x152d:0x0602",
03372     "",
03373     "",
03374     "" // unsupported
03375   },
03376   { "USB: ; JMicron JM20329", // USB->SATA
03377     "0x152d:0x2329",
03378     "", // 0x0100
03379     "",
03380     "-d usbjmicron"
03381   },
03382   { "USB: ; JMicron JM20336", // USB+SATA->SATA, USB->2xSATA
03383     "0x152d:0x2336",
03384     "", // 0x0100
03385     "",
03386     "-d usbjmicron,x"
03387   },
03388   { "USB: Generic JMicron adapter; JMicron",
03389     "0x152d:0x2337",
03390     "",
03391     "",
03392     "-d usbjmicron"
03393   },
03394   { "USB: ; JMicron JM20337/8", // USB->SATA+PATA, USB+SATA->PATA
03395     "0x152d:0x2338",
03396     "", // 0x0100
03397     "",
03398     "-d usbjmicron"
03399   },
03400   { "USB: ; JMicron JM20339", // USB->SATA
03401     "0x152d:0x2339",
03402     "", // 0x0100
03403     "",
03404     "-d usbjmicron,x"
03405   },
03406   { "USB: ; JMicron", // USB+SATA->SATA
03407     "0x152d:0x2351",  // e.g. Verbatim Portable Hard Drive 500Gb
03408     "", // 0x0100
03409     "",
03410     "-d sat"
03411   },
03412   { "USB: ; JMicron", // USB->SATA
03413     "0x152d:0x2352",
03414     "", // 0x0100
03415     "",
03416     "-d usbjmicron,x"
03417   },
03418   { "USB: ; JMicron", // USB->SATA
03419     "0x152d:0x2509",
03420     "", // 0x0100
03421     "",
03422     "-d usbjmicron,x"
03423   },
03424   // ASMedia
03425   { "USB: ; ASMedia ASM1051",
03426     "0x174c:0x5106", // 0x174c:0x55aa after firmware update
03427     "",
03428     "",
03429     "-d sat"
03430   },
03431   { "USB: ; ASMedia USB 3.0", // MEDION HDDrive-n-GO, LaCie Rikiki USB 3.0,
03432       // Silicon Power Armor A80 (ticket #237)
03433       // reported as unsupported: BYTECC T-200U3, Kingwin USB 3.0 docking station
03434     "0x174c:0x55aa",
03435     "", // 0x0100
03436     "",
03437     "-d sat"
03438   },
03439   // LucidPort
03440   { "USB: ; LucidPORT USB300", // RaidSonic ICY BOX IB-110StU3-B, Sharkoon SATA QuickPort H3
03441     "0x1759:0x500[02]", // 0x5000: USB 2.0, 0x5002: USB 3.0
03442     "",
03443     "",
03444     "-d sat"
03445   },
03446   // Verbatim
03447   { "USB: Verbatim Portable Hard Drive; Sunplus",
03448     "0x18a5:0x0214",
03449     "", // 0x0112
03450     "",
03451     "-d usbsunplus"
03452   },
03453   { "USB: Verbatim FW/USB160; Oxford OXUF934SSA-LQAG", // USB+IEE1394->SATA
03454     "0x18a5:0x0215",
03455     "", // 0x0001
03456     "",
03457     "-d sat"
03458   },
03459   { "USB: Verbatim External Hard Drive 47519; Sunplus", // USB->SATA
03460     "0x18a5:0x0216",
03461     "",
03462     "",
03463     "-d usbsunplus"
03464   },
03465   { "USB: Verbatim Pocket Hard Drive; JMicron", // SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)
03466     "0x18a5:0x0227",
03467     "",
03468     "",
03469     "-d usbjmicron" // "-d usbjmicron,x" does not work
03470   },
03471   { "USB: Verbatim External Hard Drive; JMicron", // 2TB
03472     "0x18a5:0x022a",
03473     "",
03474     "",
03475     "-d usbjmicron"
03476   },
03477   { "USB: Verbatim Store'n'Go; JMicron", // USB->SATA
03478     "0x18a5:0x022b",
03479     "", // 0x0100
03480     "",
03481     "-d usbjmicron"
03482   },
03483   // Silicon Image
03484   { "USB: Vantec NST-400MX-SR; Silicon Image 5744",
03485     "0x1a4a:0x1670",
03486     "",
03487     "",
03488     "" // unsupported
03489   },
03490   // SunplusIT
03491   { "USB: ; SunplusIT",
03492     "0x1bcf:0x0c31",
03493     "",
03494     "",
03495     "-d usbsunplus"
03496   },
03497   // Innostor
03498   { "USB: ; Innostor IS888", // Sharkoon SATA QuickDeck Pro USB 3.0
03499     "0x1f75:0x0888",
03500     "", // 0x0034
03501     "",
03502     "" // unsupported
03503   },
03504   // Power Quotient International
03505   { "USB: PQI H560; ",
03506     "0x3538:0x0902",
03507     "", // 0x0000
03508     "",
03509     "-d sat"
03510   },
03511   // Hitachi/SimpleTech
03512   { "USB: Hitachi Touro Desk; JMicron", // 3TB
03513     "0x4971:0x1011",
03514     "",
03515     "",
03516     "-d usbjmicron"
03517   },
03518   { "USB: Hitachi Touro Desk 3.0; ", // 2TB
03519     "0x4971:0x1015",
03520     "", // 0x0000
03521     "",
03522     "-d sat" // ATA output registers missing
03523   },
03524   { "USB: Hitachi/SimpleTech; JMicron", // 1TB
03525     "0x4971:0xce17",
03526     "",
03527     "",
03528     "-d usbjmicron,x"
03529   },
03530   // OnSpec
03531   { "USB: ; OnSpec", // USB->PATA
03532     "0x55aa:0x2b00",
03533     "", // 0x0100
03534     "",
03535     "" // unsupported
03536   },
03537 /*
03538 }; // builtin_knowndrives[]
03539  */