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