File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / smartmontools / drivedb.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 16:32:16 2012 UTC (12 years, 4 months ago) by misho
Branches: smartmontools, elwix, MAIN
CVS tags: v5_42, HEAD
smartmontools

    1: /*
    2:  * drivedb.h - smartmontools drive database file
    3:  *
    4:  * Home page of code is: http://smartmontools.sourceforge.net
    5:  *
    6:  * Copyright (C) 2003-11 Philip Williams, Bruce Allen
    7:  * Copyright (C) 2008-11 Christian Franke <smartmontools-support@lists.sourceforge.net>
    8:  *
    9:  * This program is free software; you can redistribute it and/or modify
   10:  * it under the terms of the GNU General Public License as published by
   11:  * the Free Software Foundation; either version 2, or (at your option)
   12:  * any later version.
   13:  *
   14:  * You should have received a copy of the GNU General Public License
   15:  * (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
   16:  *
   17:  */
   18: 
   19: /*
   20:  * Structure used to store drive database entries:
   21:  *
   22:  * struct drive_settings {
   23:  *   const char * modelfamily;
   24:  *   const char * modelregexp;
   25:  *   const char * firmwareregexp;
   26:  *   const char * warningmsg;
   27:  *   const char * presets;
   28:  * };
   29:  *
   30:  * The elements are used in the following ways:
   31:  *
   32:  *  modelfamily     Informal string about the model family/series of a
   33:  *                  device. Set to "" if no info (apart from device id)
   34:  *                  known.  The entry is ignored if this string starts with
   35:  *                  a dollar sign.  Must not start with "USB:", see below.
   36:  *  modelregexp     POSIX extended regular expression to match the model of
   37:  *                  a device.  This should never be "".
   38:  *  firmwareregexp  POSIX extended regular expression to match a devices's
   39:  *                  firmware.  This is optional and should be "" if it is not
   40:  *                  to be used.  If it is nonempty then it will be used to
   41:  *                  narrow the set of devices matched by modelregexp.
   42:  *  warningmsg      A message that may be displayed for matching drives.  For
   43:  *                  example, to inform the user that they may need to apply a
   44:  *                  firmware patch.
   45:  *  presets         String with vendor-specific attribute ('-v') and firmware
   46:  *                  bug fix ('-F') options.  Same syntax as in smartctl command
   47:  *                  line.  The user's own settings override these.
   48:  *
   49:  * The regular expressions for drive model and firmware must match the full
   50:  * string.  The effect of "^FULLSTRING$" is identical to "FULLSTRING".
   51:  * The form ".*SUBSTRING.*" can be used if substring match is desired.
   52:  *
   53:  * The table will be searched from the start to end or until the first match,
   54:  * so the order in the table is important for distinct entries that could match
   55:  * the same drive.
   56:  *
   57:  *
   58:  * Format for USB ID entries:
   59:  *
   60:  *  modelfamily     String with format "USB: DEVICE; BRIDGE" where
   61:  *                  DEVICE is the name of the device and BRIDGE is
   62:  *                  the name of the USB bridge.  Both may be empty
   63:  *                  if no info known.
   64:  *  modelregexp     POSIX extended regular expression to match the USB
   65:  *                  vendor:product ID in hex notation ("0x1234:0xabcd").
   66:  *                  This should never be "".
   67:  *  firmwareregexp  POSIX extended regular expression to match the USB
   68:  *                  bcdDevice info.  Only compared during search if other
   69:  *                  entries with same USB vendor:product ID exist.
   70:  *  warningmsg      Not used yet.
   71:  *  presets         String with one device type ('-d') option.
   72:  *
   73:  */
   74: 
   75: /*
   76: const drive_settings builtin_knowndrives[] = {
   77:  */
   78:   { "$Id: drivedb.h,v 1.1.1.1 2012/02/21 16:32:16 misho Exp $",
   79:     "-", "-",
   80:     "This is a dummy entry to hold the SVN-Id of drivedb.h",
   81:     ""
   82:   },
   83:   { "Apple SSD SM128", // Samsung?
   84:     "APPLE SSD SM128",
   85:     "", "", ""
   86:   },
   87:   { "Asus-Phison SSD",
   88:     "ASUS-PHISON SSD",
   89:     "", "", ""
   90:   },
   91:   { "Crucial/Micron RealSSD C300/C400",
   92:     "C300-CTFDDA[AC](064|128|256)MAG|" // Marvell 88SS9174 BJP2, tested with C300-CTFDDAC128MAG/0002
   93:     "C400-MTFDDA[ACK](064|128|256|512)MAM|" // tested with C400-MTFDDAC256MAM/0002
   94:     "M4-CT(064|128|256)M4SSD2", // tested with M4-CT064M4SSD2/0002
   95:     "", "",
   96:   //"-v 1,raw48,Raw_Read_Error_Rate "
   97:   //"-v 5,raw48,Reallocated_Sector_Ct "
   98:   //"-v 9,raw48,Power_On_Hours "
   99:   //"-v 12,raw48,Power_Cycle_Count "
  100:     "-v 170,raw48,Grown_Failing_Block_Ct "
  101:     "-v 171,raw48,Program_Fail_Count "
  102:     "-v 172,raw48,Erase_Fail_Count "
  103:     "-v 173,raw48,Wear_Levelling_Count "
  104:     "-v 174,raw48,Unexpect_Power_Loss_Ct "
  105:     "-v 181,raw16,Non4k_Aligned_Access "
  106:     "-v 183,raw48,SATA_Iface_Downshift "
  107:   //"-v 184,raw48,End-to-End_Error "
  108:     "-v 189,raw48,Factory_Bad_Block_Ct "
  109:     "-v 202,raw48,Perc_Rated_Life_Used "
  110:     "-v 206,raw48,Write_Error_Rate"
  111:   },
  112:   { "SandForce Driven SSDs",
  113:     "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
  114:     "ADATA SSD S599 .?..GB|" // tested with ADATA SSD S599 256GB/3.1.0, 64GB/3.4.6
  115:     "Corsair CSSD-F(40|60|80|120|160|240)GBP?2.*|" // Corsair Force, tested with
  116:       // Corsair CSSD-F40GB2/1.1
  117:     "FTM(06|12|24|48)CT25H|" // Supertalent TeraDrive CT, tested with
  118:       // FTM24CT25H/STTMP2P1
  119:     "KINGSTON SH100S3(120|240)G|" // Hyper-X, SF-2281, tested with SH100S3240G/320ABBF0
  120:     "OCZ[ -](AGILITY2([ -]EX)?|COLOSSUS2|ONYX2|VERTEX2|VERTEX-LE)( [123]\\..*)?|" // SF-1200,
  121:       // tested with OCZ-VERTEX2/1.11, OCZ-VERTEX2 3.5/1.11
  122:     "OCZ-REVODRIVE( X2)?|" // SF-1200, tested with OCZ-REVODRIVE(-X2)?/1.20
  123:     "OCZ[ -](VELO|VERTEX2[ -](EX|PRO))( [123]\\..*)?|" // SF-1500, tested with
  124:       // OCZ VERTEX2-PRO/1.10 (Bogus thresholds for attribute 232 and 235)
  125:     "D2CSTK251M11-(0120|0240|0400)|" // OCZ Deneva 2, SF-2000,
  126:       // tested with D2CSTK251M11-0240/2.08
  127:     "OCZ-(AGILITY3|VERTEX3)|"  // SF-2200, tested with OCZ-VERTEX3/2.02, OCZ-AGILITY3/2.11
  128:     "(APOC|DENC|DENEVA|FTNC|GFGC|MANG|MMOC|NIMC|TMSC).*|" // other OCZ SF-1200,
  129:       // tested with DENCSTE251M11-0120/1.33, DENEVA PCI-E/1.33
  130:     "(DENR|DRSAK|EC188|NIMR|PSIR|TRSAK).*|" // other OCZ SF-1500
  131:     "OWC Mercury Extreme Pro (RE )?SSD|" // tested with
  132:       // OWC Mercury Extreme Pro SSD/360A13F0
  133:     "UGB(88P|99S)GC...H[BF].", // Unigen, tested with
  134:       // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
  135:     "", "",
  136:     "-v 1,raw24/raw32,Raw_Read_Error_Rate "
  137:     "-v 5,raw48,Retired_Block_Count "
  138:     "-v 9,msec24hour32,Power_On_Hours_and_Msec "
  139:   //"-v 12,raw48,Power_Cycle_Count "
  140:     "-v 13,raw24/raw32,Soft_Read_Error_Rate "
  141:     "-v 100,raw48,Gigabytes_Erased "
  142:     "-v 170,raw48,Reserve_Block_Count "
  143:     "-v 171,raw48,Program_Fail_Count "
  144:     "-v 172,raw48,Erase_Fail_Count "
  145:     "-v 174,raw48,Unexpect_Power_Loss_Ct "
  146:     "-v 177,raw48,Wear_Range_Delta "
  147:     "-v 181,raw48,Program_Fail_Count "
  148:     "-v 182,raw48,Erase_Fail_Count "
  149:     "-v 184,raw48,IO_Error_Detect_Code_Ct "
  150:   //"-v 187,raw48,Reported_Uncorrect "
  151:   //"-v 194,tempminmax,Temperature_Celsius "
  152:     "-v 195,raw24/raw32,ECC_Uncorr_Error_Count "
  153:   //"-v 196,raw48,Reallocated_Event_Count "
  154:     "-v 198,hex48,Uncorrectable_Sector_Ct "
  155:     "-v 199,raw48,SATA_CRC_Error_Count "
  156:     "-v 201,raw24/raw32,Unc_Soft_Read_Err_Rate "
  157:     "-v 204,raw24/raw32,Soft_ECC_Correct_Rate "
  158:     "-v 230,raw48,Life_Curve_Status "
  159:     "-v 231,raw48,SSD_Life_Left "
  160:   //"-v 232,raw48,Available_Reservd_Space "
  161:     "-v 233,raw48,SandForce_Internal "
  162:     "-v 234,raw48,SandForce_Internal "
  163:     "-v 235,raw48,SuperCap_Health "
  164:     "-v 241,raw48,Lifetime_Writes_GiB "
  165:     "-v 242,raw48,Lifetime_Reads_GiB"
  166:   },
  167:   { "Indilinx Barefoot based SSDs",
  168:     "CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
  169:     "G.SKILL FALCON (64|128|256)GB SSD|" // tested with G.SKILL FALCON 128GB SSD/2030
  170:     "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO)?)|" // tested with
  171:       // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
  172:     "Patriot[ -]Torqx.*|"
  173:     "RENICE Z2|" // tested with RENICE Z2/2030
  174:     "STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive GX, tested with STT_FTM64GX25H/1916
  175:     "TS(18|25)M(64|128)MLC(16|32|64|128|256|512)GSSD|" // ASAX Leopard Hunt II, tested with TS25M64MLC64GSSD/0.1
  176:     "FM-25S2I-(64|128)GBFII|" // G.Skill FALCON II, tested with FM-25S2I-64GBFII
  177:     "TS(60|120)GSSD25D-M", // Transcend Ultra SSD (SATA II), see also Ticket #80
  178:     "", "",
  179:     "-v 1,raw64 " // Raw_Read_Error_Rate
  180:     "-v 9,raw64 " // Power_On_Hours
  181:     "-v 12,raw64 " // Power_Cycle_Count
  182:     "-v 184,raw64,Initial_Bad_Block_Count "
  183:     "-v 195,raw64,Program_Failure_Blk_Ct "
  184:     "-v 196,raw64,Erase_Failure_Blk_Ct "
  185:     "-v 197,raw64,Read_Failure_Blk_Ct "
  186:     "-v 198,raw64,Read_Sectors_Tot_Ct "
  187:     "-v 199,raw64,Write_Sectors_Tot_Ct "
  188:     "-v 200,raw64,Read_Commands_Tot_Ct "
  189:     "-v 201,raw64,Write_Commands_Tot_Ct "
  190:     "-v 202,raw64,Error_Bits_Flash_Tot_Ct "
  191:     "-v 203,raw64,Corr_Read_Errors_Tot_Ct "
  192:     "-v 204,raw64,Bad_Block_Full_Flag "
  193:     "-v 205,raw64,Max_PE_Count_Spec "
  194:     "-v 206,raw64,Min_Erase_Count "
  195:     "-v 207,raw64,Max_Erase_Count "
  196:     "-v 208,raw64,Average_Erase_Count "
  197:     "-v 209,raw64,Remaining_Lifetime_Perc "
  198:     "-v 210,raw64,Indilinx_Internal "
  199:     "-v 211,raw64,SATA_Error_Ct_CRC "
  200:     "-v 212,raw64,SATA_Error_Ct_Handshake "
  201:     "-v 213,raw64,Indilinx_Internal"
  202:   },
  203:   { "Intel X25-E SSDs",
  204:     "SSDSA2SH(032|064)G1.* INTEL",  // G1 = first generation
  205:     "", "",
  206:   //"-v 3,raw48,Spin_Up_Time "
  207:   //"-v 4,raw48,Start_Stop_Count "
  208:   //"-v 5,raw48,Reallocated_Sector_Ct "
  209:   //"-v 9,raw48,Power_On_Hours "
  210:   //"-v 12,raw48,Power_Cycle_Count "
  211:     "-v 192,raw48,Unsafe_Shutdown_Count "
  212:     "-v 225,raw48,Host_Writes_32MiB "
  213:     "-v 226,raw48,Intel_Internal "
  214:     "-v 227,raw48,Intel_Internal "
  215:     "-v 228,raw48,Intel_Internal "
  216:   //"-v 232,raw48,Available_Reservd_Space "
  217:   //"-v 233,raw48,Media_Wearout_Indicator"
  218:   },
  219:   { "Intel X18-M/X25-M G1 SSDs",
  220:     "INTEL SSDSA[12]MH(080|160)G1.*",  // G1 = first generation, 50nm
  221:     "", "",
  222:   //"-v 3,raw48,Spin_Up_Time "
  223:   //"-v 4,raw48,Start_Stop_Count "
  224:   //"-v 5,raw48,Reallocated_Sector_Ct "
  225:   //"-v 9,raw48,Power_On_Hours "
  226:   //"-v 12,raw48,Power_Cycle_Count "
  227:     "-v 192,raw48,Unsafe_Shutdown_Count "
  228:     "-v 225,raw48,Host_Writes_32MiB "
  229:     "-v 226,raw48,Intel_Internal "
  230:     "-v 227,raw48,Intel_Internal "
  231:     "-v 228,raw48,Intel_Internal "
  232:   //"-v 232,raw48,Available_Reservd_Space "
  233:   //"-v 233,raw48,Media_Wearout_Indicator"
  234:   },
  235:   { "Intel X18-M/X25-M/X25-V G2 SSDs", // fixed firmware
  236:       // tested with INTEL SSDSA2M(080|160)G2GC/2CV102J8 (X25-M)
  237:     "INTEL SSDSA[12]M(040|080|120|160)G2.*",  // G2 = second generation, 34nm
  238:     "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
  239:     "",
  240:   //"-v 3,raw48,Spin_Up_Time "
  241:   //"-v 4,raw48,Start_Stop_Count "
  242:   //"-v 5,raw48,Reallocated_Sector_Ct "
  243:   //"-v 9,raw48,Power_On_Hours "
  244:   //"-v 12,raw48,Power_Cycle_Count "
  245:   //"-v 184,raw48,End-to-End_Error " // G2 only
  246:     "-v 192,raw48,Unsafe_Shutdown_Count "
  247:     "-v 225,raw48,Host_Writes_32MiB "
  248:     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
  249:     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
  250:     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
  251:   //"-v 232,raw48,Available_Reservd_Space "
  252:   //"-v 233,raw48,Media_Wearout_Indicator"
  253:   },
  254:   { "Intel X18-M/X25-M/X25-V G2 SSDs", // buggy or unknown firmware
  255:       // tested with INTEL SSDSA2M040G2GC/2CV102HD (X25-V)
  256:     "INTEL SSDSA[12]M(040|080|120|160)G2.*",
  257:     "",
  258:     "This drive may require a firmware update to\n"
  259:     "fix possible drive hangs when reading SMART self-test log:\n"
  260:     "http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18363",
  261:     "-v 192,raw48,Unsafe_Shutdown_Count "
  262:     "-v 225,raw48,Host_Writes_32MiB "
  263:     "-v 226,raw48,Workld_Media_Wear_Indic "
  264:     "-v 227,raw48,Workld_Host_Reads_Perc "
  265:     "-v 228,raw48,Workload_Minutes"
  266:   },
  267:   { "Intel 320 Series SSDs",
  268:     "INTEL SSDSA[12]CW(040|080|120|160|300|600)G3",
  269:     "", "",
  270:   //"-v 3,raw48,Spin_Up_Time "
  271:   //"-v 4,raw48,Start_Stop_Count "
  272:   //"-v 5,raw48,Reallocated_Sector_Ct "
  273:   //"-v 9,raw48,Power_On_Hours "
  274:   //"-v 12,raw48,Power_Cycle_Count "
  275:     "-v 170,raw48,Reserve_Block_Count "
  276:     "-v 171,raw48,Program_Fail_Count "
  277:     "-v 172,raw48,Erase_Fail_Count "
  278:   //"-v 184,raw48,End-to-End_Error "
  279:   //"-v 187,raw48,Reported_Uncorrect "
  280:     "-v 192,raw48,Unsafe_Shutdown_Count "
  281:     "-v 225,raw48,Host_Writes_32MiB "
  282:     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
  283:     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
  284:     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
  285:   //"-v 232,raw48,Available_Reservd_Space "
  286:   //"-v 233,raw48,Media_Wearout_Indicator "
  287:     "-v 241,raw48,Host_Writes_32MiB "
  288:     "-v 242,raw48,Host_Reads_32MiB"
  289:   },
  290:   { "Intel 710 Series SSDs",
  291:     "INTEL SSDSA2BZ(100|200|300)G3",
  292:     "", "",
  293:   //"-v 3,raw48,Spin_Up_Time "
  294:   //"-v 4,raw48,Start_Stop_Count "
  295:   //"-v 5,raw48,Reallocated_Sector_Ct "
  296:   //"-v 9,raw48,Power_On_Hours "
  297:   //"-v 12,raw48,Power_Cycle_Count "
  298:     "-v 170,raw48,Reserve_Block_Count "
  299:     "-v 171,raw48,Program_Fail_Count "
  300:     "-v 172,raw48,Erase_Fail_Count "
  301:   //"-v 174,raw48,Unknown_Attribute "
  302:     "-v 183,raw48,SATA_Downshift_Count "
  303:   //"-v 184,raw48,End-to-End_Error "
  304:   //"-v 187,raw48,Reported_Uncorrect "
  305:   //"-v 190,raw48,Airflow_Temperature_Cel "
  306:     "-v 192,raw48,Unsafe_Shutdown_Count "
  307:     "-v 225,raw48,Host_Writes_32MiB "
  308:     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
  309:     "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
  310:     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
  311:   //"-v 232,raw48,Available_Reservd_Space "
  312:   //"-v 233,raw48,Media_Wearout_Indicator "
  313:     "-v 241,raw48,Host_Writes_32MiB "
  314:     "-v 242,raw48,Host_Reads_32MiB"
  315:   },
  316:   { "Intel 510 Series SSDs",
  317:     "INTEL SSDSC2MH(120|250)A2",
  318:     "", "",
  319:   //"-v 3,raw48,Spin_Up_Time "
  320:   //"-v 4,raw48,Start_Stop_Count "
  321:   //"-v 5,raw48,Reallocated_Sector_Ct "
  322:   //"-v 9,raw48,Power_On_Hours "
  323:   //"-v 12,raw48,Power_Cycle_Count "
  324:     "-v 192,raw48,Unsafe_Shutdown_Count "
  325:     "-v 225,raw48,Host_Writes_32MiB "
  326:   //"-v 232,raw48,Available_Reservd_Space "
  327:   //"-v 233,raw48,Media_Wearout_Indicator"
  328:   },
  329:   { "Kingston branded X25-V SSDs", // fixed firmware
  330:     "KINGSTON SSDNow 40GB",
  331:     "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
  332:     "",
  333:     "-v 192,raw48,Unsafe_Shutdown_Count "
  334:     "-v 225,raw48,Host_Writes_32MiB "
  335:     "-v 226,raw48,Workld_Media_Wear_Indic "
  336:     "-v 227,raw48,Workld_Host_Reads_Perc "
  337:     "-v 228,raw48,Workload_Minutes"
  338:   },
  339:   { "Kingston branded X25-V SSDs", // buggy or unknown firmware
  340:     "KINGSTON SSDNow 40GB",
  341:     "",
  342:     "This drive may require a firmware update to\n"
  343:     "fix possible drive hangs when reading SMART self-test log.\n"
  344:     "To update Kingston branded drives, a modified Intel update\n"
  345:     "tool must be used. Search for \"kingston 40gb firmware\".",
  346:     "-v 192,raw48,Unsafe_Shutdown_Count "
  347:     "-v 225,raw48,Host_Writes_32MiB "
  348:     "-v 226,raw48,Workld_Media_Wear_Indic "
  349:     "-v 227,raw48,Workld_Host_Reads_Perc "
  350:     "-v 228,raw48,Workload_Minutes"
  351:   },
  352:   { "JMicron based SSDs", // JMicron JMF60x
  353:     "Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
  354:     "TS(2|4|8|16|32|64|128|192)GSSD25S?-(M|S)", // Transcend IDE and SATA, tested with TS32GSSD25-M/V090331
  355:     "[BV].*", // other Transcend SSD versions will be catched by subsequent entry
  356:     "",
  357:   //"-v 9,raw48,Power_On_Hours " // raw value always 0?
  358:   //"-v 12,raw48,Power_Cycle_Count "
  359:   //"-v 194,tempminmax,Temperature_Celsius " // raw value always 0?
  360:     "-v 229,hex64:w012345r,Halt_System/Flash_ID " // Halt, Flash[7]
  361:     "-v 232,hex64:w012345r,Firmware_Version_Info " // "YYMMDD", #Channels, #Banks
  362:     "-v 233,hex48:w01234,ECC_Fail_Record " // Fail number, Row[3], Channel, Bank
  363:     "-v 234,raw24/raw24:w01234,Avg/Max_Erase_Ct "
  364:     "-v 235,raw24/raw24:w01z23,Good/Sys_Block_Ct"
  365:     //  1.....................................40 chars limit for smartmontools <= r3343
  366:   },
  367:   { "JMicron based SSDs", // JMicron JMF61x
  368:     "KINGSTON SNV425S2(64|128)GB|"  // SSDNow V Series (2. Generation, JMF618),
  369:                                     // tested with KINGSTON SNV425S264GB/C091126a
  370:     "KINGSTON SS100S2(8|16)G|"  // SSDNow S100 Series, tested with KINGSTON SS100S28G/D100309a
  371:     "KINGSTON SVP?100S2B?(64|96|128|256|512)G|"  // SSDNow V100/V+100 Series,
  372:                                                  // tested with KINGSTON SVP100S296G/CJR10202,
  373:                                                  // KINGSTON SV100S2256G/D110225a
  374:     "TOSHIBA THNS128GG4BBAA|"  // Toshiba / Super Talent UltraDrive DX,
  375:                                // tested with Toshiba 128GB 2.5" SSD (built in MacBooks)
  376:     "APPLE SSD TS.*|"  // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
  377:     "ADATA S596 Turbo|"  // tested with ADATA S596 Turbo 256GB SATA SSD (JMicron JMF616)
  378:     "TS(8|16|32|64|128|192|256|512)GSSD25S-(MD?|S)", // Transcend SATA (JMF612), tested with TS256GSSD25S-M/101028
  379:     "", "",
  380:   //"-v 1,raw48,Raw_Read_Error_Rate "
  381:   //"-v 2,raw48,Throughput_Performance "
  382:     "-v 3,raw48,Unknown_Attribute "
  383:   //"-v 5,raw48,Reallocated_Sector_Ct "
  384:     "-v 7,raw48,Unknown_Attribute "
  385:     "-v 8,raw48,Unknown_Attribute "
  386:   //"-v 9,raw48,Power_On_Hours "
  387:     "-v 10,raw48,Unknown_Attribute "
  388:   //"-v 12,raw48,Power_Cycle_Count "
  389:     "-v 168,raw48,SATA_Phy_Error_Count "
  390:     "-v 170,raw16,Bad_Block_Count "
  391:     "-v 173,raw16,Erase_Count "
  392:     "-v 175,raw48,Bad_Cluster_Table_Count "
  393:     "-v 192,raw48,Unexpect_Power_Loss_Ct "
  394:   //"-v 194,tempminmax,Temperature_Celsius "
  395:   //"-v 197,raw48,Current_Pending_Sector "
  396:     "-v 240,raw48,Unknown_Attribute"
  397:   },
  398:   { "Samsung based SSDs",
  399:     "SAMSUNG SSD PM800 .*GB|"  // SAMSUNG PM800 SSDs, tested with SAMSUNG SSD PM800 TH 64GB/VBM25D1Q
  400:     "SAMSUNG SSD PM810 .*GB|"  // SAMSUNG PM810 (470 series) SSDs, tested with SAMSUNG SSD PM810 2.5" 128GB/AXM06D1Q
  401:     "SAMSUNG 470 Series SSD",  // SAMSUNG 470 Series SSD, tested with SAMSUNG 470 Series SSD 64GB/AXM09B1Q
  402:     "", "",
  403:   //"-v 9,raw48,Power_On_Hours "
  404:   //"-v 12,raw48,Power_Cycle_Count "
  405:   //"-v 175,raw48,Program_Fail_Count_Chip "
  406:   //"-v 176,raw48,Erase_Fail_Count_Chip "
  407:   //"-v 177,raw48,Wear_Leveling_Count Wear "
  408:   //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
  409:   //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "
  410:   //"-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot "
  411:   //"-v 181,raw48,Program_Fail_Cnt_Total "
  412:   //"-v 182,raw48,Erase_Fail_Count_Total "
  413:   //"-v 183,raw48,Runtime_Bad_Block "
  414:     "-v 187,raw48,Uncorrectable_Error_Cnt "
  415:   //"-v 190,raw48,Temperature_Exceed_Cnt "  // seems to be some sort of temperature value for 470 Series?
  416:   //"-v 194,raw48,Airflow_Temperature "
  417:     "-v 195,raw48,ECC_Rate "
  418:   //"-v 198,raw48,Offline_Uncorrectable "
  419:     "-v 199,raw48,CRC_Error_Count "
  420:     "-v 201,raw48,Supercap_Status "
  421:     "-v 202,raw48,Exception_Mode_Status"
  422:   },
  423:   { "Transcend CompactFlash Cards", // tested with TRANSCEND/20080820,
  424:       // TS4GCF133/20100709, TS16GCF133/20100709
  425:     "TRANSCEND|TS(4|8|16)GCF133",
  426:     "", "",
  427:     "-v 7,raw48,Unknown_Attribute "
  428:     "-v 8,raw48,Unknown_Attribute"
  429:   },
  430:   { "Marvell SSD SD88SA024BA0 (SUN branded)",
  431:     "MARVELL SD88SA024BA0 SUN24G 0902M0054V",
  432:     "", "", ""
  433:   },
  434:   { "HP 1TB SATA disk GB1000EAFJL",
  435:     "GB1000EAFJL",
  436:     "", "", ""
  437:   },
  438:   { "HP 500GB SATA disk MM0500EANCR",
  439:     "MM0500EANCR",
  440:     "", "", ""
  441:   },
  442:   { "HP 250GB SATA disk VB0250EAVER",
  443:     "VB0250EAVER",
  444:     "", "", ""
  445:   },
  446:   { "IBM Deskstar 60GXP",  // ER60A46A firmware
  447:     "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
  448:     "ER60A46A",
  449:     "", ""
  450:   },
  451:   { "IBM Deskstar 60GXP",  // All other firmware
  452:     "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
  453:     "",
  454:     "IBM Deskstar 60GXP drives may need upgraded SMART firmware.\n"
  455:     "Please see http://haque.net/dtla_update/ and\n"
  456:     "http://www.ibm.com/pc/support/site.wss/MIGR-42215.html",
  457:     ""
  458:   },
  459:   { "IBM Deskstar 40GV & 75GXP (A5AA/A6AA firmware)",
  460:     "(IBM-)?DTLA-30[57]0[123467][05].*",
  461:     "T[WX][123468AG][OF]A[56]AA",
  462:     "", ""
  463:   },
  464:   { "IBM Deskstar 40GV & 75GXP (all other firmware)",
  465:     "(IBM-)?DTLA-30[57]0[123467][05].*",
  466:     "",
  467:     "IBM Deskstar 40GV and 75GXP drives may need upgraded SMART firmware.\n"
  468:     "Please see http://haque.net/dtla_update/ and\n"
  469:     "http://www.ibm.com/pc/support/site.wss/MIGR-42215.html",
  470:     ""
  471:   },
  472:   { "", // ExcelStor J240, J340, J360, J680, J880 and J8160
  473:     "ExcelStor Technology J(24|34|36|68|88|816)0",
  474:     "", "", ""
  475:   },
  476:   { "", // Fujitsu M1623TAU
  477:     "FUJITSU M1623TAU",
  478:     "",
  479:     "",
  480:     "-v 9,seconds"
  481:   },
  482:   { "Fujitsu MHG",
  483:     "FUJITSU MHG2...ATU?.*",
  484:     "",
  485:     "",
  486:     "-v 9,seconds"
  487:   },
  488:   { "Fujitsu MHH",
  489:     "FUJITSU MHH2...ATU?.*",
  490:     "",
  491:     "",
  492:     "-v 9,seconds"
  493:   },
  494:   { "Fujitsu MHJ",
  495:     "FUJITSU MHJ2...ATU?.*",
  496:     "",
  497:     "",
  498:     "-v 9,seconds"
  499:   },
  500:   { "Fujitsu MHK",
  501:     "FUJITSU MHK2...ATU?.*",
  502:     "",
  503:     "",
  504:     "-v 9,seconds"
  505:   },
  506:   { "",  // Fujitsu MHL2300AT
  507:     "FUJITSU MHL2300AT",
  508:     "",
  509:     "This drive's firmware has a harmless Drive Identity Structure\n"
  510:       "checksum error bug.",
  511:     "-v 9,seconds"
  512:   },
  513:   { "",  // MHM2200AT, MHM2150AT, MHM2100AT, MHM2060AT
  514:     "FUJITSU MHM2(20|15|10|06)0AT",
  515:     "",
  516:     "This drive's firmware has a harmless Drive Identity Structure\n"
  517:       "checksum error bug.",
  518:     "-v 9,seconds"
  519:   },
  520:   { "Fujitsu MHN",
  521:     "FUJITSU MHN2...AT",
  522:     "",
  523:     "",
  524:     "-v 9,seconds"
  525:   },
  526:   { "", // Fujitsu MHR2020AT
  527:     "FUJITSU MHR2020AT",
  528:     "",
  529:     "",
  530:     "-v 9,seconds"
  531:   },
  532:   { "", // Fujitsu MHR2040AT
  533:     "FUJITSU MHR2040AT",
  534:     "",    // Tested on 40BA
  535:     "",
  536:     "-v 9,seconds -v 192,emergencyretractcyclect "
  537:     "-v 198,offlinescanuncsectorct -v 200,writeerrorcount"
  538:   },
  539:   { "Fujitsu MHS AT",
  540:     "FUJITSU MHS20[6432]0AT(  .)?",
  541:     "",
  542:     "",
  543:     "-v 9,seconds -v 192,emergencyretractcyclect "
  544:     "-v 198,offlinescanuncsectorct -v 200,writeerrorcount "
  545:     "-v 201,detectedtacount"
  546:   },
  547:   { "Fujitsu MHT", // tested with FUJITSU MHT2030AC/909B
  548:     "FUJITSU MHT2...(AC|AH|AS|AT|BH)U?.*",
  549:     "",
  550:     "",
  551:     "-v 9,seconds"
  552:   },
  553:   { "Fujitsu MHU",
  554:     "FUJITSU MHU2...ATU?.*",
  555:     "",
  556:     "",
  557:     "-v 9,seconds"
  558:   },
  559:   { "Fujitsu MHV",
  560:     "FUJITSU MHV2...(AH|AS|AT|BH|BS|BT).*",
  561:     "",
  562:     "",
  563:     "-v 9,seconds"
  564:   },
  565:   { "Fujitsu MPA..MPG",
  566:     "FUJITSU MP[A-G]3...A[HTEV]U?.*",
  567:     "",
  568:     "",
  569:     "-v 9,seconds"
  570:   },
  571:   { "Fujitsu MHY BH",
  572:     "FUJITSU MHY2(04|06|08|10|12|16|20|25)0BH.*",
  573:     "", "",
  574:     "-v 240,raw48,Transfer_Error_Rate"
  575:   },
  576:   { "Fujitsu MHW AC", // tested with FUJITSU MHW2060AC/00900004
  577:     "FUJITSU MHW20(40|60)AC",
  578:     "", "", ""
  579:   },
  580:   { "Fujitsu MHW BH",
  581:     "FUJITSU MHW2(04|06|08|10|12|16)0BH.*",
  582:     "", "", ""
  583:   },
  584:   { "Fujitsu MHW BJ",
  585:     "FUJITSU MHW2(08|12|16)0BJ.*",
  586:     "", "", ""
  587:   },
  588:   { "Fujitsu MHZ BH",
  589:     "FUJITSU MHZ2(04|08|12|16|20|25|32)0BH.*",
  590:     "", "", ""
  591:   },
  592:   { "Fujitsu MHZ BJ",
  593:     "FUJITSU MHZ2(08|12|16|20|25|32)0BJ.*",
  594:     "",
  595:     "",
  596:     "-v 9,minutes"
  597:   },
  598:   { "Fujitsu MHZ BS",
  599:     "FUJITSU MHZ2(12|25)0BS.*",
  600:     "", "", ""
  601:   },
  602:   { "Fujitsu MHZ BK",
  603:     "FUJITSU MHZ2(08|12|16|25)0BK.*",
  604:     "", "", ""
  605:   },
  606:   { "Fujitsu MJA BH",
  607:     "FUJITSU MJA2(08|12|16|25|32|40|50)0BH.*",
  608:     "", "", ""
  609:   },
  610:   { "", // Samsung SV4012H (known firmware)
  611:     "SAMSUNG SV4012H",
  612:     "RM100-08",
  613:     "",
  614:     "-v 9,halfminutes -F samsung"
  615:   },
  616:   { "", // Samsung SV4012H (all other firmware)
  617:     "SAMSUNG SV4012H",
  618:     "",
  619:     "May need -F samsung disabled; see manual for details.",
  620:     "-v 9,halfminutes -F samsung"
  621:   },
  622:   { "", // Samsung SV0412H (known firmware)
  623:     "SAMSUNG SV0412H",
  624:     "SK100-01",
  625:     "",
  626:     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
  627:   },
  628:   { "", // Samsung SV0412H (all other firmware)
  629:     "SAMSUNG SV0412H",
  630:     "",
  631:     "May need -F samsung disabled; see manual for details.",
  632:     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
  633:   },
  634:   { "", // Samsung SV1204H (known firmware)
  635:     "SAMSUNG SV1204H",
  636:     "RK100-1[3-5]",
  637:     "",
  638:     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
  639:   },
  640:   { "", // Samsung SV1204H (all other firmware)
  641:     "SAMSUNG SV1204H",
  642:     "",
  643:     "May need -F samsung disabled; see manual for details.",
  644:     "-v 9,halfminutes -v 194,10xCelsius -F samsung"
  645:   },
  646:   { "", // SAMSUNG SV0322A tested with FW JK200-35
  647:     "SAMSUNG SV0322A",
  648:     "", "", ""
  649:   },
  650:   { "SAMSUNG SpinPoint V80", // tested with SV1604N/TR100-23
  651:     "SAMSUNG SV(0211|0401|0612|0802|1203|1604)N",
  652:     "",
  653:     "",
  654:     "-v 9,halfminutes -F samsung2"
  655:   },
  656:   { "", // SAMSUNG SP40A2H with RR100-07 firmware
  657:     "SAMSUNG SP40A2H",
  658:     "RR100-07",
  659:     "",
  660:     "-v 9,halfminutes -F samsung"
  661:   },
  662:   { "", // SAMSUNG SP80A4H with RT100-06 firmware
  663:     "SAMSUNG SP80A4H",
  664:     "RT100-06",
  665:     "",
  666:     "-v 9,halfminutes -F samsung"
  667:   },
  668:   { "", // SAMSUNG SP8004H with QW100-61 firmware
  669:     "SAMSUNG SP8004H",
  670:     "QW100-61",
  671:     "",
  672:     "-v 9,halfminutes -F samsung"
  673:   },
  674:   { "SAMSUNG SpinPoint F1 DT", // tested with HD103UJ/1AA01113
  675:     "SAMSUNG HD(083G|16[12]G|25[12]H|32[12]H|50[12]I|642J|75[23]L|10[23]U)J",
  676:     "", "", ""
  677:   },
  678:   { "SAMSUNG SpinPoint F1 RE", // tested with HE103UJ/1AA01113
  679:     "SAMSUNG HE(252H|322H|502I|642J|753L|103U)J",
  680:     "", "", ""
  681:   },
  682:   { "SAMSUNG SpinPoint F2 EG", // tested with HD154UI/1AG01118
  683:     "SAMSUNG HD(502H|10[23]S|15[34]U)I",
  684:     "", "", ""
  685:   },
  686:   { "SAMSUNG SpinPoint F3", // tested with HD502HJ/1AJ100E4
  687:     "SAMSUNG HD(502H|754J|103S)J",
  688:     "", "", ""
  689:   },
  690:   { "SAMSUNG SpinPoint F3 EG", // tested with HD503HI/1AJ100E4, HD153WI/1AN10002
  691:     "SAMSUNG HD(253G|(324|503)H|754J|105S|(153|203)W)I",
  692:     "", "", ""
  693:   },
  694:   { "SAMSUNG SpinPoint F4 EG (AFT)",// tested with HD204UI/1AQ10001(buggy|fixed)
  695:     "SAMSUNG HD(155|204)UI",
  696:     "", // 1AQ10001
  697:     "Using smartmontools or hdparm with this\n"
  698:     "drive may result in data loss due to a firmware bug.\n"
  699:     "****** THIS DRIVE MAY OR MAY NOT BE AFFECTED! ******\n"
  700:     "Buggy and fixed firmware report same version number!\n"
  701:     "See the following web pages for details:\n"
  702:     "http://www.samsung.com/global/business/hdd/faqView.do?b2b_bbs_msg_id=386\n"
  703:     "http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks",
  704:     ""
  705:   },
  706:   { "SAMSUNG SpinPoint S250", // tested with HD200HJ/KF100-06
  707:     "SAMSUNG HD(162|200|250)HJ",
  708:     "", "", ""
  709:   },
  710:   { "SAMSUNG SpinPoint T133", // tested with HD300LJ/ZT100-12, HD400LJ/ZZ100-14, HD401LJ/ZZ100-15
  711:     "SAMSUNG HD(250KD|(30[01]|320|40[01])L[DJ])",
  712:     "", "", ""
  713:   },
  714:   { "SAMSUNG SpinPoint T166", // tested with HD501LJ/CR100-1[01]
  715:     "SAMSUNG HD(080G|160H|32[01]K|403L|50[01]L)J",
  716:     "", "",
  717:     "-v 197,increasing" // at least HD501LJ/CR100-11
  718:   },
  719:   { "SAMSUNG SpinPoint P120", // VF100-37 firmware, tested with SP2514N/VF100-37
  720:     "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
  721:     "VF100-37",
  722:     "",
  723:     "-F samsung3"
  724:   },
  725:   { "SAMSUNG SpinPoint P120", // other firmware, tested with SP2504C/VT100-33
  726:     "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
  727:     "",
  728:     "May need -F samsung3 enabled; see manual for details.",
  729:     ""
  730:   },
  731:   { "SAMSUNG SpinPoint P80 SD", // tested with HD160JJ/ZM100-33
  732:     "SAMSUNG HD(080H|120I|160J)J",
  733:     "", "", ""
  734:   },
  735:   { "SAMSUNG SpinPoint P80", // BH100-35 firmware, tested with SP0842N/BH100-35
  736:     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
  737:     "BH100-35",
  738:     "",
  739:     "-F samsung3"
  740:   },
  741:   { "SAMSUNG SpinPoint P80", // firmware *-35 or later
  742:     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
  743:     ".*-3[5-9]",
  744:     "May need -F samsung3 enabled; see manual for details.",
  745:     ""
  746:   },
  747:   { "SAMSUNG SpinPoint P80", // firmware *-25...34, tested with SP1614C/SW100-25 and -34
  748:     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
  749:     ".*-(2[5-9]|3[0-4])",
  750:     "",
  751:     "-v 9,halfminutes -v 198,increasing"
  752:   },
  753:   { "SAMSUNG SpinPoint P80", // firmware *-23...24, tested with
  754:     // SP0802N/TK100-23,
  755:     // SP1213N/TL100-23,
  756:     // SP1604N/TM100-23 and -24
  757:     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
  758:     ".*-2[34]",
  759:     "",
  760:     "-v 9,halfminutes -F samsung2"
  761:   },
  762:   { "SAMSUNG SpinPoint P80", // unknown firmware
  763:     "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
  764:     "",
  765:     "May need -F samsung2 or -F samsung3 enabled; see manual for details.",
  766:     ""
  767:   },
  768:   { "SAMSUNG SpinPoint M40/60/80", // tested with HM160JI/AD100-16
  769:     "SAMSUNG HM(0[468]0H|1[026]0J)[CI]",
  770:     "",
  771:     "",
  772:     "-v 9,halfminutes"
  773:   },
  774:   { "SAMSUNG SpinPoint M5", // tested with HM160HI/HH100-12
  775:     "SAMSUNG HM(((061|080)G|(121|160)H|250J)I|160HC)",
  776:     "", "", ""
  777:   },
  778:   { "SAMSUNG SpinPoint M6", // tested with HM320JI/2SS00_01 M6
  779:     "SAMSUNG HM(251J|320[HJ]|[45]00L)I",
  780:     "", "", ""
  781:   },
  782:   { "SAMSUNG SpinPoint M7", // tested with HM500JI/2AC101C4
  783:     "SAMSUNG HM(250H|320I|[45]00J)I",
  784:     "", "", ""
  785:   },
  786:   { "SAMSUNG SpinPoint M7E (AFT)", // tested with HM321HI/2AJ10001, HM641JI/2AJ10001
  787:     "SAMSUNG HM(161G|(251|321)H|501I|641J)I",
  788:     "", "", ""
  789:   },
  790:   { "SAMSUNG SpinPoint M7U", // tested with HM252HX/2AC101C4
  791:     "SAMSUNG HM(162H|252H|322I|502J)X",
  792:     "", "", ""
  793:   },
  794:   { "SAMSUNG SpinPoint MP5", // tested with HM250HJ/2AK10001
  795:     "SAMSUNG HM(250H|320H|500J|640J)J",
  796:     "", "", ""
  797:   },
  798:   { "SAMSUNG SpinPoint MT2", // tested with HM100UI/2AM10001
  799:     "SAMSUNG HM100UI",
  800:     "", "", ""
  801:   },
  802:   { "SAMSUNG HM100UX (S2 Portable)", // tested with HM100UX/2AM10001
  803:     "SAMSUNG HM100UX",
  804:     "", "", ""
  805:   },
  806:   { "SAMSUNG SpinPoint M", // tested with MP0402H/UC100-11
  807:     "SAMSUNG MP0(302|402|603|804)H",
  808:     "",
  809:     "",
  810:     "-v 9,halfminutes"
  811:   },
  812:   { "SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)", // tested with HS25YJZ/3AU10-01
  813:     "SAMSUNG HS(122H|2[05]YJ)Z",
  814:     "", "", ""
  815:   },
  816:   { "SMART Xcel-10 2.5 SATA SSD", //  based on http://www.smartm.com/files/salesLiterature/storage/xcel10.pdf
  817:     "SMART A25FD-(32|64|128)GI32N", // tested with SMART A25FD-128GI32N/B9F23D4K
  818:     "",
  819:     "", // attributes info from http://www.adtron.com/pdf/SMART_Attributes_Xcel-10_810800014_RevB.pdf
  820:     "-v 1,raw48,Not_Supported "
  821:     "-v 2,raw48,Not_Supported "
  822:   //"-v 9,raw48,Power_On_Hours "
  823:   //"-v 12,raw48,Power_Cycle_Count "
  824:     "-v 191,raw48,Not_Supported "
  825:   //"-v 192,raw48,Power-Off_Retract_Count "
  826:     "-v 197,raw48,ECC_Error_Count "
  827:   //"-v 198,raw48,Offline_Uncorrectable "
  828:   //"-v 199,raw48,UDMA_CRC_Error_Count "
  829:     "-v 251,raw48,Min_Spares_Remain_Perc " // percentage of the total number of spare blocks available
  830:     "-v 252,raw48,Added_Bad_Flash_Blk_Ct " // number of bad flash blocks
  831:     "-v 254,raw48,Total_Erase_Blocks_Ct" // number of times the drive has erased any erase block
  832:   },
  833: /*
  834:   // TODO: Make the entries below more specific.
  835:   // These entries produce misleading results, because newer
  836:   // Samsung disks reuse the version numbers *-NN.
  837:   { "", // All Samsung drives with '.*-25' firmware
  838:     "SAMSUNG.*",
  839:     ".*-25",
  840:     "May need -F samsung2 disabled; see manual for details.",
  841:     "-v 9,halfminutes -F samsung2"
  842:   },
  843:   { "", // All Samsung drives with '.*-26 or later (currently to -39)' firmware
  844:     "SAMSUNG.*",
  845:     ".*-(2[6789]|3[0-9])",
  846:     "",
  847:     "-v 9,halfminutes"
  848:   },
  849:   { "", // Samsung ALL OTHER DRIVES
  850:     "SAMSUNG.*",
  851:     "",
  852:     "May need -F samsung or -F samsung2 enabled; see manual for details.",
  853:     ""
  854:   },
  855: */
  856:   { "Maxtor Fireball 541DX",
  857:     "Maxtor 2B0(0[468]|1[05]|20)H1",
  858:     "",
  859:     "",
  860:     "-v 9,minutes -v 194,unknown"
  861:   },
  862:   { "Maxtor Fireball 3",
  863:     "Maxtor 2F0[234]0[JL]0",
  864:     "",
  865:     "",
  866:     "-v 9,minutes"
  867:   },
  868:   { "Maxtor DiamondMax 1280 ATA",  // no self-test log, ATA2-Fast
  869:     "Maxtor 8(1280A2|2160A4|2560A4|3840A6|4000A6|5120A8)",
  870:     "",
  871:     "",
  872:     "-v 9,minutes"
  873:   },
  874:   { "Maxtor DiamondMax 2160 Ultra ATA",
  875:     "Maxtor 8(2160D2|3228D3|3240D3|4320D4|6480D6|8400D8|8455D8)",
  876:     "",
  877:     "",
  878:     "-v 9,minutes"
  879:   },
  880:   { "Maxtor DiamondMax 2880 Ultra ATA",
  881:     "Maxtor 9(0510D4|0576D4|0648D5|0720D5|0840D6|0845D6|0864D6|1008D7|1080D8|1152D8)",
  882:     "",
  883:     "",
  884:     "-v 9,minutes"
  885:   },
  886:   { "Maxtor DiamondMax 3400 Ultra ATA",
  887:     "Maxtor 9(1(360|350|202)D8|1190D7|10[12]0D6|0840D5|06[48]0D4|0510D3|1(350|202)E8|1010E6|0840E5|0640E4)",
  888:     "",
  889:     "",
  890:     "-v 9,minutes"
  891:   },
  892:   { "Maxtor DiamondMax D540X-4G",
  893:     "Maxtor 4G(120J6|160J[68])",
  894:     "",
  895:     "",
  896:     "-v 9,minutes -v 194,unknown"
  897:   },
  898:   { "Maxtor DiamondMax D540X-4K",
  899:     "MAXTOR 4K(020H1|040H2|060H3|080H4)",
  900:     "", "", ""
  901:   },
  902:   { "Maxtor DiamondMax Plus D740X",
  903:     "MAXTOR 6L0(20[JL]1|40[JL]2|60[JL]3|80[JL]4)",
  904:     "", "", ""
  905:   },
  906:   { "Maxtor DiamondMax Plus 5120 Ultra ATA 33",
  907:     "Maxtor 9(0512D2|0680D3|0750D3|0913D4|1024D4|1360D6|1536D6|1792D7|2048D8)",
  908:     "",
  909:     "",
  910:     "-v 9,minutes"
  911:   },
  912:   { "Maxtor DiamondMax Plus 6800 Ultra ATA 66",
  913:     "Maxtor 9(2732U8|2390U7|204[09]U6|1707U5|1366U4|1024U3|0845U3|0683U2)",
  914:     "",
  915:     "",
  916:     "-v 9,minutes"
  917:   },
  918:   { "Maxtor DiamondMax D540X-4D",
  919:     "Maxtor 4D0(20H1|40H2|60H3|80H4)",
  920:     "",
  921:     "",
  922:     "-v 9,minutes -v 194,unknown"
  923:   },
  924:   { "Maxtor DiamondMax 16",
  925:     "Maxtor 4(R0[68]0[JL]0|R1[26]0L0|A160J0|R120L4)",
  926:     "",
  927:     "",
  928:     "-v 9,minutes"
  929:   },
  930:   { "Maxtor DiamondMax 4320 Ultra ATA",
  931:     "Maxtor (91728D8|91512D7|91303D6|91080D5|90845D4|90645D3|90648D[34]|90432D2)",
  932:     "",
  933:     "",
  934:     "-v 9,minutes"
  935:   },
  936:   { "Maxtor DiamondMax 17 VL",
  937:     "Maxtor 9(0431U1|0641U2|0871U2|1301U3|1741U4)",
  938:     "",
  939:     "",
  940:     "-v 9,minutes"
  941:   },
  942:   { "Maxtor DiamondMax 20 VL",
  943:     "Maxtor (94091U8|93071U6|92561U5|92041U4|91731U4|91531U3|91361U3|91021U2|90841U2|90651U2)",
  944:     "",
  945:     "",
  946:     "-v 9,minutes"
  947:   },
  948:   { "Maxtor DiamondMax VL 30",  // U: ATA66, H: ATA100
  949:     "Maxtor (33073U4|32049U3|31536U2|30768U1|33073H4|32305H3|31536H2|30768H1)",
  950:     "",
  951:     "",
  952:     "-v 9,minutes"
  953:   },
  954:   { "Maxtor DiamondMax 36",
  955:     "Maxtor (93652U8|92739U6|91826U4|91369U3|90913U2|90845U2|90435U1)",
  956:     "",
  957:     "",
  958:     "-v 9,minutes"
  959:   },
  960:   { "Maxtor DiamondMax 40 ATA 66",
  961:     "Maxtor 9(0684U2|1024U2|1362U3|1536U3|2049U4|2562U5|3073U6|4098U8)",
  962:     "",
  963:     "",
  964:     "-v 9,minutes"
  965:   },
  966:   { "Maxtor DiamondMax Plus 40 (Ultra ATA 66 and Ultra ATA 100)",
  967:     "Maxtor (54098[UH]8|53073[UH]6|52732[UH]6|52049[UH]4|51536[UH]3|51369[UH]3|51024[UH]2)",
  968:     "",
  969:     "",
  970:     "-v 9,minutes"
  971:   },
  972:   { "Maxtor DiamondMax 40 VL Ultra ATA 100",
  973:     "Maxtor 3(1024H1|1535H2|2049H2|3073H3|4098H4)( B)?",
  974:     "",
  975:     "",
  976:     "-v 9,minutes"
  977:   },
  978:   { "Maxtor DiamondMax Plus 45 Ulta ATA 100",
  979:     "Maxtor 5(4610H6|4098H6|3073H4|2049H3|1536H2|1369H2|1023H2)",
  980:     "",
  981:     "",
  982:     "-v 9,minutes"
  983:   },
  984:   { "Maxtor DiamondMax 60 ATA 66",
  985:     "Maxtor 9(1023U2|1536U2|2049U3|2305U3|3073U4|4610U6|6147U8)",
  986:     "",
  987:     "",
  988:     "-v 9,minutes"
  989:   },
  990:   { "Maxtor DiamondMax 60 ATA 100",
  991:     "Maxtor 9(1023H2|1536H2|2049H3|2305H3|3073H4|4098H6|4610H6|6147H8)",
  992:     "",
  993:     "",
  994:     "-v 9,minutes"
  995:   },
  996:   { "Maxtor DiamondMax Plus 60",
  997:     "Maxtor 5T0(60H6|40H4|30H3|20H2|10H1)",
  998:     "",
  999:     "",
 1000:     "-v 9,minutes"
 1001:   },
 1002:   { "Maxtor DiamondMax 80",
 1003:     "Maxtor (98196H8|96147H6)",
 1004:     "",
 1005:     "",
 1006:     "-v 9,minutes"
 1007:   },
 1008:   { "Maxtor DiamondMax 536DX",
 1009:     "Maxtor 4W(100H6|080H6|060H4|040H3|030H2)",
 1010:     "",
 1011:     "",
 1012:     "-v 9,minutes"
 1013:   },
 1014:   { "Maxtor DiamondMax Plus 8",
 1015:     "Maxtor 6(E0[234]|K04)0L0",
 1016:     "",
 1017:     "",
 1018:     "-v 9,minutes"
 1019:   },
 1020:   { "Maxtor DiamondMax 10 (ATA/133 and SATA/150)",
 1021:     "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",
 1022:     "",
 1023:     "",
 1024:     "-v 9,minutes"
 1025:   },
 1026:   { "Maxtor DiamondMax 10 (SATA/300)",
 1027:     "Maxtor 6V(080E|160E|200E|250F|300F|320F)0",
 1028:     "", "", ""
 1029:   },
 1030:   { "Maxtor DiamondMax Plus 9",
 1031:     "Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)",
 1032:     "",
 1033:     "",
 1034:     "-v 9,minutes"
 1035:   },
 1036:   { "Maxtor DiamondMax 11",
 1037:     "Maxtor 6H[45]00[FR]0",
 1038:     "", "", ""
 1039:   },
 1040:   { "Maxtor DiamondMax 17",
 1041:     "Maxtor 6G(080L|160[PE])0",
 1042:     "", "", ""
 1043:   },
 1044:   { "Seagate Maxtor DiamondMax 20",
 1045:     "MAXTOR STM3(40|80|160)[28]1[12]0?AS?",
 1046:     "", "", ""
 1047:   },
 1048:   { "Seagate Maxtor DiamondMax 21", // tested with MAXTOR STM3250310AS/3.AAF
 1049:     "MAXTOR STM3(80[28]15|160215|250310|(250|320)820|320620|500630)AS?",
 1050:     "", "", ""
 1051:   },
 1052:   { "Seagate Maxtor DiamondMax 22", // fixed firmware
 1053:     "(MAXTOR )?STM3(500320|750330|1000340)AS?",
 1054:     "MX1A", // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207969
 1055:     "", ""
 1056:   },
 1057:   { "Seagate Maxtor DiamondMax 22", // fixed firmware
 1058:     "(MAXTOR )?STM3(160813|320614|640323|1000334)AS?",
 1059:     "MX1B", // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207975
 1060:     "", ""
 1061:   },
 1062:   { "Seagate Maxtor DiamondMax 22", // buggy firmware
 1063:     "(MAXTOR )?STM3(500320|750330|1000340)AS?",
 1064:     "MX15",
 1065:     "There are known problems with these drives,\n"
 1066:     "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
 1067:     "see the following Seagate web pages:\n"
 1068:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931\n"
 1069:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207969",
 1070:     ""
 1071:   },
 1072:   { "Seagate Maxtor DiamondMax 22", // unknown firmware
 1073:     "(MAXTOR )?STM3(160813|32061[34]|500320|640323|750330|10003(34|40))AS?",
 1074:     "",
 1075:     "There are known problems with these drives,\n"
 1076:     "see the following Seagate web pages:\n"
 1077:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931\n"
 1078:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207969\n"
 1079:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207975",
 1080:     ""
 1081:   },
 1082:   { "Seagate Maxtor DiamondMax 23",
 1083:     "STM3((160|250)31|(320|500)41|(750|1000)52)8AS?",
 1084:     "", "", ""
 1085:   },
 1086:   { "Maxtor MaXLine Plus II",
 1087:     "Maxtor 7Y250[PM]0",
 1088:     "",
 1089:     "",
 1090:     "-v 9,minutes"
 1091:   },
 1092:   { "Maxtor MaXLine II",
 1093:     "Maxtor [45]A(25|30|32)0[JN]0",
 1094:     "",
 1095:     "",
 1096:     "-v 9,minutes"
 1097:   },
 1098:   { "Maxtor MaXLine III (ATA/133 and SATA/150)",
 1099:     "Maxtor 7L(25|30)0[SR]0",
 1100:     "",
 1101:     "",
 1102:     "-v 9,minutes"
 1103:   },
 1104:   { "Maxtor MaXLine III (SATA/300)",
 1105:     "Maxtor 7V(25|30)0F0",
 1106:     "", "", ""
 1107:   },
 1108:   { "Maxtor MaXLine Pro 500",  // There is also a 7H500R0 model, but I
 1109:     "Maxtor 7H500F0",               // haven't added it because I suspect
 1110:     "",                               // it might need vendoropts_9_minutes
 1111:     "", ""                            // and nobody has submitted a report yet
 1112:   },
 1113:   { "", // HITACHI_DK14FA-20B
 1114:     "HITACHI_DK14FA-20B",
 1115:     "",
 1116:     "",
 1117:     "-v 9,minutes -v 193,loadunload"
 1118:   },
 1119:   { "HITACHI Travelstar DK23XX/DK23XXB",
 1120:     "HITACHI_DK23..-..B?",
 1121:     "",
 1122:     "",
 1123:     "-v 9,minutes -v 193,loadunload"
 1124:   },
 1125:   { "Hitachi Endurastar J4K20/N4K20 (formerly DK23FA-20J)",
 1126:     "(HITACHI_DK23FA-20J|HTA422020F9AT[JN]0)",
 1127:     "",
 1128:     "",
 1129:     "-v 9,minutes -v 193,loadunload"
 1130:   },
 1131:   { "Hitachi Endurastar J4K30/N4K30",
 1132:     "HE[JN]4230[23]0F9AT00",
 1133:     "",
 1134:     "",
 1135:     "-v 9,minutes -v 193,loadunload"
 1136:   },
 1137:   { "Hitachi Travelstar C4K60",  // 1.8" slim drive
 1138:     "HTC4260[23]0G5CE00|HTC4260[56]0G8CE00",
 1139:     "",
 1140:     "",
 1141:     "-v 9,minutes -v 193,loadunload"
 1142:   },
 1143:   { "IBM Travelstar 4GT",
 1144:     "IBM-DTCA-2(324|409)0",
 1145:     "", "", ""
 1146:   },
 1147:   { "IBM Travelstar 6GN",
 1148:     "IBM-DBCA-20(324|486|648)0",
 1149:     "", "", ""
 1150:   },
 1151:   { "IBM Travelstar 25GS, 18GT, and 12GN",
 1152:     "IBM-DARA-2(25|18|15|12|09|06)000",
 1153:     "", "", ""
 1154:   },
 1155:   { "IBM Travelstar 14GS",
 1156:     "IBM-DCYA-214000",
 1157:     "", "", ""
 1158:   },
 1159:   { "IBM Travelstar 4LP",
 1160:     "IBM-DTNA-2(180|216)0",
 1161:     "", "", ""
 1162:   },
 1163:   { "IBM Travelstar 48GH, 30GN, and 15GN",
 1164:     "(IBM-|Hitachi )?IC25(T048ATDA05|N0(30|20|15|12|10|07|06|05)ATDA04)-.",
 1165:     "", "", ""
 1166:   },
 1167:   { "IBM Travelstar 32GH, 30GT, and 20GN",
 1168:     "IBM-DJSA-2(32|30|20|10|05)",
 1169:     "", "", ""
 1170:   },
 1171:   { "IBM Travelstar 4GN",
 1172:     "IBM-DKLA-2(216|324|432)0",
 1173:     "", "", ""
 1174:   },
 1175:   { "IBM/Hitachi Travelstar 60GH and 40GN",
 1176:     "(IBM-|Hitachi )?IC25(T060ATC[SX]05|N0[4321]0ATC[SX]04)-.",
 1177:     "", "", ""
 1178:   },
 1179:   { "IBM/Hitachi Travelstar 40GNX",
 1180:     "(IBM-|Hitachi )?IC25N0[42]0ATC[SX]05-.",
 1181:     "", "", ""
 1182:   },
 1183:   { "Hitachi Travelstar 80GN",
 1184:     "(Hitachi )?IC25N0[23468]0ATMR04-.",
 1185:     "", "", ""
 1186:   },
 1187:   { "Hitachi Travelstar 4K40",
 1188:     "(Hitachi )?HTS4240[234]0M9AT00",
 1189:     "", "", ""
 1190:   },
 1191:   { "Hitachi Travelstar 4K120",
 1192:     "(Hitachi )?(HTS4212(60|80|10|12)H9AT00|HTS421260G9AT00)",
 1193:     "", "", ""
 1194:   },
 1195:   { "Hitachi Travelstar 5K80",
 1196:     "(Hitachi )?HTS5480[8642]0M9AT00",
 1197:     "", "", ""
 1198:   },
 1199:   { "Hitachi Travelstar 5K100",
 1200:     "(Hitachi )?HTS5410[1864]0G9(AT|SA)00",
 1201:     "", "", ""
 1202:   },
 1203:   { "Hitachi Travelstar E5K100",
 1204:     "(Hitachi )?HTE541040G9(AT|SA)00",
 1205:     "", "", ""
 1206:   },
 1207:   { "Hitachi Travelstar 5K120",
 1208:     "(Hitachi )?HTS5412(60|80|10|12)H9(AT|SA)00",
 1209:     "", "", ""
 1210:   },
 1211:   { "Hitachi Travelstar 5K160",
 1212:     "(Hitachi |HITACHI )?HTS5416([468]0|1[26])J9(AT|SA)00",
 1213:     "", "", ""
 1214:   },
 1215:   { "Hitachi Travelstar E5K160",
 1216:     "(Hitachi )?HTE5416(12|16|60|80)J9(AT|SA)00",
 1217:     "", "", ""
 1218:   },
 1219:   { "Hitachi Travelstar 5K250",
 1220:     "(Hitachi |HITACHI )?HTS5425(80|12|16|20|25)K9(A3|SA)00",
 1221:     "", "", ""
 1222:   },
 1223:   { "Hitachi Travelstar 5K320",
 1224:     "(Hitachi |HITACHI )?HT(S|E)5432(80|12|16|25|32)L9(A3(00)?|SA01)",
 1225:     "", "", ""
 1226:   },
 1227:   { "Hitachi Travelstar 5K500.B",
 1228:     "(Hitachi )?HT[ES]5450(12|16|25|32|40|50)B9A30[01]",
 1229:     "", "", ""
 1230:   },
 1231:   { "Hitachi Travelstar 7K60",
 1232:     "(Hitachi )?HTS726060M9AT00",
 1233:     "", "", ""
 1234:   },
 1235:   { "Hitachi Travelstar E7K60",
 1236:     "(Hitachi )?HTE7260[46]0M9AT00",
 1237:     "", "", ""
 1238:   },
 1239:   { "Hitachi Travelstar 7K100",
 1240:     "(Hitachi )?HTS7210[168]0G9(AT|SA)00",
 1241:     "", "", ""
 1242:   },
 1243:   { "Hitachi Travelstar E7K100",
 1244:     "(Hitachi )?HTE7210[168]0G9(AT|SA)00",
 1245:     "", "", ""
 1246:   },
 1247:   { "Hitachi Travelstar 7K200", // tested with HITACHI HTS722016K9SA00/DCDZC75A
 1248:     "(Hitachi |HITACHI )?HTS7220(80|10|12|16|20)K9(A3|SA)00",
 1249:     "", "", ""
 1250:   },
 1251:   { "Hitachi Travelstar 7K320", // tested with
 1252:     // HTS723225L9A360/FCDOC30F, HTS723216L9A362/FC2OC39F
 1253:     "(Hitachi )?HT[ES]7232(80|12|16|25|32)L9(A300|A36[02]|SA61)",
 1254:     "", "", ""
 1255:   },
 1256:   { "Hitachi Travelstar 7K500",
 1257:     "(Hitachi )?HT[ES]7250(12|16|25|32|50)A9A36[45]",
 1258:     "", "", ""
 1259:   },
 1260:   { "IBM Deskstar 14GXP and 16GP",
 1261:     "IBM-DTTA-3(7101|7129|7144|5032|5043|5064|5084|5101|5129|5168)0",
 1262:     "", "", ""
 1263:   },
 1264:   { "IBM Deskstar 25GP and 22GXP",
 1265:     "IBM-DJNA-3(5(101|152|203|250)|7(091|135|180|220))0",
 1266:     "", "", ""
 1267:   },
 1268:   { "IBM Deskstar 37GP and 34GXP",
 1269:     "IBM-DPTA-3(5(375|300|225|150)|7(342|273|205|136))0",
 1270:     "", "", ""
 1271:   },
 1272:   { "IBM/Hitachi Deskstar 120GXP",
 1273:     "(IBM-)?IC35L((020|040|060|080|120)AVVA|0[24]0AVVN)07-[01]",
 1274:     "", "", ""
 1275:   },
 1276:   { "IBM/Hitachi Deskstar GXP-180",
 1277:     "(IBM-)?IC35L(030|060|090|120|180)AVV207-[01]",
 1278:     "", "", ""
 1279:   },
 1280:   { "Hitachi Deskstar 5K3000", // tested with HDS5C3030ALA630/MEAOA5C0
 1281:     "(Hitachi )?HDS5C30(15|20|30)ALA63[02].*",
 1282:     "", "", ""
 1283:   },
 1284:   { "Hitachi Deskstar 7K80",
 1285:     "(Hitachi )?HDS7280([48]0PLAT20|(40)?PLA320|80PLA380).*",
 1286:     "", "", ""
 1287:   },
 1288:   { "Hitachi Deskstar 7K160",
 1289:     "(Hitachi )?HDS7216(80|16)PLA[3T]80.*",
 1290:     "", "", ""
 1291:   },
 1292:   { "Hitachi Deskstar 7K250",
 1293:     "(Hitachi )?HDS7225((40|80|12|16)VLAT20|(12|16|25)VLAT80|(80|12|16|25)VLSA80)",
 1294:     "", "", ""
 1295:   },
 1296:   { "Hitachi Deskstar 7K250 (SUN branded)",
 1297:     "HITACHI HDS7225SBSUN250G.*",
 1298:     "", "", ""
 1299:   },
 1300:   { "Hitachi Deskstar T7K250",
 1301:     "(Hitachi )?HDT7225((25|20|16)DLA(T80|380))",
 1302:     "", "", ""
 1303:   },
 1304:   { "Hitachi Deskstar 7K400",
 1305:     "(Hitachi )?HDS724040KL(AT|SA)80",
 1306:     "", "", ""
 1307:   },
 1308:   { "Hitachi Deskstar 7K500",
 1309:     "(Hitachi )?HDS725050KLA(360|T80)",
 1310:     "", "", ""
 1311:   },
 1312:   { "Hitachi Deskstar P7K500",
 1313:     "(Hitachi )?HDP7250(16|25|32|40|50)GLA(36|38|T8)0",
 1314:     "", "", ""
 1315:   },
 1316:   { "Hitachi Deskstar T7K500",
 1317:     "(Hitachi )?HDT7250(25|32|40|50)VLA(360|380|T80)",
 1318:     "", "", ""
 1319:   },
 1320:   { "Hitachi Deskstar 7K1000",
 1321:     "(Hitachi )?HDS7210(50|75|10)KLA330",
 1322:     "", "", ""
 1323:   },
 1324:   { "Hitachi Deskstar 7K1000.B",
 1325:     "(Hitachi )?HDT7210((16|25)SLA380|(32|50|64|75|10)SLA360)",
 1326:     "", "", ""
 1327:   },
 1328:   { "Hitachi Deskstar 7K1000.C",
 1329:     "(Hitachi )?HDS7210((16|25)CLA382|(32|50)CLA362|(64|75|10)CLA332)",
 1330:     "", "", ""
 1331:   },
 1332:   { "Hitachi Deskstar 7K2000",
 1333:     "Hitachi HDS722020ALA330",
 1334:     "", "", ""
 1335:   },
 1336:   { "Hitachi Deskstar 7K3000", // tested with HDS723030ALA640/MKAOA3B0
 1337:     "Hitachi HDS7230((15|20)BLA642|30ALA640)",
 1338:     "", "", ""
 1339:   },
 1340:   { "Hitachi Ultrastar 7K1000",
 1341:     "(Hitachi )?HUA7210(50|75|10)KLA330",
 1342:     "", "", ""
 1343:   },
 1344:   { "Hitachi Ultrastar 7K3000", // tested with HUA723030ALA640/MKAOA580
 1345:     "Hitachi HUA7230(20|30)ALA640",
 1346:     "", "", ""
 1347:   },
 1348:   { "Hitachi Ultrastar A7K2000",
 1349:     "(Hitachi )?HUA7220((50|10)C|20A)LA33[01]",
 1350:     "", "", ""
 1351:   },
 1352:   { "Toshiba 2.5\" HDD (10-20 GB)",
 1353:     "TOSHIBA MK(101[67]GAP|15[67]GAP|20(1[678]GAP|(18|23)GAS))",
 1354:     "", "", ""
 1355:   },
 1356:   { "Toshiba 2.5\" HDD (30-60 GB)",
 1357:     "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)",
 1358:     "", "", ""
 1359:   },
 1360:   { "Toshiba 2.5\" HDD (80 GB and above)",
 1361:     "TOSHIBA MK(80(25GAS|26GAX|32GAX|32GSX)|10(31GAS|32GAX)|12(33GAS|34G[AS]X)|2035GSS)",
 1362:     "", "", ""
 1363:   },
 1364:   { "Toshiba 2.5\" HDD MK..50GACY", // tested with TOSHIBA MK8050GACY/TF105A
 1365:     "TOSHIBA MK8050GACY",
 1366:     "", "", ""
 1367:   },
 1368:   { "Toshiba 2.5\" HDD MK..52GSX",
 1369:     "TOSHIBA MK(80|12|16|25|32)52GSX",
 1370:     "", "", ""
 1371:   },
 1372:   { "Toshiba 2.5\" HDD MK..59GSXP (Adv. Format)", // Adv. Format
 1373:     "TOSHIBA MK(32|50|64|75)59GSXP?",
 1374:     "", "", ""
 1375:   },
 1376:   { "Toshiba 2.5\" HDD MK..59GSM (Adv. Format)", // Adv. Format
 1377:     "TOSHIBA MK(75|10)59GSM",
 1378:     "", "", ""
 1379:   },
 1380:   { "Toshiba 2.5\" HDD MK..65GSX", // tested with TOSHIBA MK5065GSX/GJ003A
 1381:     "TOSHIBA MK(16|25|32|50|64)65GSX",
 1382:     "", "", ""
 1383:   },
 1384:   { "Toshiba 2.5\" HDD MK..76GSX", // tested with TOSHIBA MK3276GSX/GS002D
 1385:     "TOSHIBA MK(16|25|32|50|64)76GSX",
 1386:     "",
 1387:     "",
 1388:     "-v 9,minutes"
 1389:   },
 1390:   { "Toshiba 1.8\" HDD",
 1391:     "TOSHIBA MK[23468]00[4-9]GA[HL]",
 1392:     "", "", ""
 1393:   },
 1394:   { "Toshiba 1.8\" HDD MK..29GSG",
 1395:     "TOSHIBA MK(12|16|25)29GSG",
 1396:     "", "", ""
 1397:   },
 1398:   { "", // TOSHIBA MK6022GAX
 1399:     "TOSHIBA MK6022GAX",
 1400:     "", "", ""
 1401:   },
 1402:   { "", // TOSHIBA MK6409MAV
 1403:     "TOSHIBA MK6409MAV",
 1404:     "", "", ""
 1405:   },
 1406:   { "Toshiba MKx019GAXB (SUN branded)",
 1407:     "TOS MK[34]019GAXB SUN[34]0G",
 1408:     "", "", ""
 1409:   },
 1410:   { "Seagate Momentus",
 1411:     "ST9(20|28|40|48)11A",
 1412:     "", "", ""
 1413:   },
 1414:   { "Seagate Momentus 42",
 1415:     "ST9(2014|3015|4019)A",
 1416:     "", "", ""
 1417:   },
 1418:   { "Seagate Momentus 4200.2",
 1419:     "ST9(100822|808210|60821|50212|402113|30219)A",
 1420:     "", "", ""
 1421:   },
 1422:   { "Seagate Momentus 5400.2",
 1423:     "ST9(808211|60822|408114|308110|120821|10082[34]|8823|6812|4813|3811)AS?",
 1424:     "", "", ""
 1425:   },
 1426:   { "Seagate Momentus 5400.3",
 1427:     "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AS?",
 1428:     "", "", ""
 1429:   },
 1430:   { "Seagate Momentus 5400.3 ED",
 1431:     "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AB",
 1432:     "", "", ""
 1433:   },
 1434:   { "Seagate Momentus 5400.4",
 1435:     "ST9(120817|(160|200|250)827)AS",
 1436:     "", "", ""
 1437:   },
 1438:   { "Seagate Momentus 5400.5",
 1439:     "ST9((80|120|160)310|(250|320)320)AS",
 1440:     "", "", ""
 1441:   },
 1442:   { "Seagate Momentus 5400.6",
 1443:     "ST9(80313|160(301|314)|(12|25)0315|250317|(320|500)325|500327|640320)ASG?",
 1444:     "", "", ""
 1445:   },
 1446:   { "Seagate Momentus 5400 PSD", // Hybrid drives
 1447:     "ST9(808212|(120|160)8220)AS",
 1448:     "", "", ""
 1449:   },
 1450:   { "Seagate Momentus 7200.1",
 1451:     "ST9(10021|80825|6023|4015)AS?",
 1452:     "", "", ""
 1453:   },
 1454:   { "Seagate Momentus 7200.2",
 1455:     "ST9(80813|100821|120823|160823|200420)ASG?",
 1456:     "", "", ""
 1457:   },
 1458:   { "Seagate Momentus 7200.3",
 1459:     "ST9((80|120|160)411|(250|320)421)ASG?",
 1460:     "", "", ""
 1461:   },
 1462:   { "Seagate Momentus 7200.4",
 1463:     "ST9(160412|250410|320423|500420)ASG?",
 1464:     "", "", ""
 1465:   },
 1466:   { "Seagate Momentus 7200 FDE.2",
 1467:     "ST9((160413|25041[12]|320426|50042[12])AS|(16041[489]|2504[16]4|32042[67]|500426)ASG)",
 1468:     "", "", ""
 1469:   },
 1470:   { "Seagate Momentus XT", // tested with ST95005620AS/SD22
 1471:     "ST9(2505610|3205620|5005620)AS",
 1472:     "", "", ""
 1473:   },
 1474:   { "Seagate Medalist 1010, 1720, 1721, 2120, 3230 and 4340",  // ATA2, with -t permissive
 1475:     "ST3(1010|1720|1721|2120|3230|4340)A",
 1476:     "", "", ""
 1477:   },
 1478:   { "Seagate Medalist 2110, 3221, 4321, 6531, and 8641",
 1479:     "ST3(2110|3221|4321|6531|8641)A",
 1480:     "", "", ""
 1481:   },
 1482:   { "Seagate U Series X",
 1483:     "ST3(10014A(CE)?|20014A)",
 1484:     "", "", ""
 1485:   },
 1486:   { "Seagate U8",
 1487:     "ST3(4313|6811|8410|13021|17221)A",
 1488:     "", "", ""
 1489:   },
 1490:   { "Seagate U7",
 1491:     "ST3(30012|40012|60012|80022|120020)A",
 1492:     "", "", ""
 1493:   },
 1494:   { "Seagate U Series 6",
 1495:     "ST3(8002|6002|4081|3061|2041)0A",
 1496:     "", "", ""
 1497:   },
 1498:   { "Seagate U Series 5",
 1499:     "ST3(40823|30621|20413|15311|10211)A",
 1500:     "", "", ""
 1501:   },
 1502:   { "Seagate U4",
 1503:     "ST3(2112|4311|6421|8421)A",
 1504:     "", "", ""
 1505:   },
 1506:   { "Seagate U8",
 1507:     "ST3(8410|4313|17221|13021)A",
 1508:     "", "", ""
 1509:   },
 1510:   { "Seagate U10",
 1511:     "ST3(20423|15323|10212)A",
 1512:     "", "", ""
 1513:   },
 1514:   { "Seagate Barracuda ATA",
 1515:     "ST3(2804|2724|2043|1362|1022|681)0A",
 1516:     "", "", ""
 1517:   },
 1518:   { "Seagate Barracuda ATA II",
 1519:     "ST3(3063|2042|1532|1021)0A",
 1520:     "", "", ""
 1521:   },
 1522:   { "Seagate Barracuda ATA III",
 1523:     "ST3(40824|30620|20414|15310|10215)A",
 1524:     "", "", ""
 1525:   },
 1526:   { "Seagate Barracuda ATA IV",
 1527:     "ST3(20011|30011|40016|60021|80021)A",
 1528:     "", "", ""
 1529:   },
 1530:   { "Seagate Barracuda ATA V",
 1531:     "ST3(12002(3A|4A|9A|3AS)|800(23A|15A|23AS)|60(015A|210A)|40017A)",
 1532:     "", "", ""
 1533:   },
 1534:   { "Seagate Barracuda 5400.1",
 1535:     "ST340015A",
 1536:     "", "", ""
 1537:   },
 1538:   { "Seagate Barracuda 7200.7 and 7200.7 Plus",
 1539:     "ST3(200021A|200822AS?|16002[13]AS?|12002[26]AS?|1[26]082[78]AS|8001[13]AS?|8081[79]AS|60014A|40111AS|40014AS?)",
 1540:     "", "", ""
 1541:   },
 1542:   { "Seagate Barracuda 7200.8",
 1543:     "ST3(400[68]32|300[68]31|250[68]23|200826)AS?",
 1544:     "", "", ""
 1545:   },
 1546:   { "Seagate Barracuda 7200.9",
 1547:     "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?.*",
 1548:     "", "", ""
 1549:   },
 1550:   { "Seagate Barracuda 7200.10",
 1551:     "ST3((80|160)[28]15|200820|250[34]10|(250|300|320|400)[68]20|360320|500[68]30|750[68]40)AS?",
 1552:     "", "", ""
 1553:   },
 1554:   { "Seagate Barracuda 7200.11", // unaffected firmware
 1555:     "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
 1556:     "CC.?.?", // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207957
 1557:     "", ""
 1558:   },
 1559:   { "Seagate Barracuda 7200.11", // fixed firmware
 1560:     "ST3(500[368]20|750[36]30|1000340)AS?",
 1561:     "SD1A", // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207951
 1562:     "", ""
 1563:   },
 1564:   { "Seagate Barracuda 7200.11", // fixed firmware
 1565:     "ST3(160813|320[68]13|640[36]23|1000333|1500341)AS?",
 1566:     "SD[12]B", // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207957
 1567:     "", ""
 1568:   },
 1569:   { "Seagate Barracuda 7200.11", // buggy or fixed firmware
 1570:     "ST3(500[368]20|640[35]30|750[36]30|1000340)AS?",
 1571:     "(AD14|SD1[5-9]|SD81)",
 1572:     "There are known problems with these drives,\n"
 1573:     "THIS DRIVE MAY OR MAY NOT BE AFFECTED,\n"
 1574:     "see the following web pages for details:\n"
 1575:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931\n"
 1576:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207951\n"
 1577:     "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632758",
 1578:     ""
 1579:   },
 1580:   { "Seagate Barracuda 7200.11", // unknown firmware
 1581:     "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
 1582:     "",
 1583:     "There are known problems with these drives,\n"
 1584:     "see the following Seagate web pages:\n"
 1585:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931\n"
 1586:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207951\n"
 1587:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207957",
 1588:     ""
 1589:   },
 1590:   { "Seagate Barracuda 7200.12", // tested with ST3250312AS/JC45, ST31000524AS/JC45
 1591:     "ST3(160318|25031[128]|320418|50041[08]|750(518|52[38])|100052[348])AS",
 1592:     "", "", ""
 1593:   },
 1594:   { "Seagate Barracuda ES",
 1595:     "ST3(250[68]2|32062|40062|50063|75064)0NS",
 1596:     "", "", ""
 1597:   },
 1598:   { "Seagate Barracuda ES.2", // fixed firmware
 1599:     "ST3(25031|50032|75033|100034)0NS",
 1600:     "SN[01]6|"         // http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207963
 1601:     "MA(0[^7]|[^0].)", // http://dellfirmware.seagate.com/dell_firmware/DellFirmwareRequest.jsp
 1602:     "", ""
 1603:   },
 1604:   { "Seagate Barracuda ES.2", // buggy firmware (Dell)
 1605:     "ST3(25031|50032|75033|100034)0NS",
 1606:     "MA07",
 1607:     "There are known problems with these drives,\n"
 1608:     "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
 1609:     "see the following Seagate web page:\n"
 1610:     "http://dellfirmware.seagate.com/dell_firmware/DellFirmwareRequest.jsp",
 1611:     ""
 1612:   },
 1613:   { "Seagate Barracuda ES.2", // unknown firmware
 1614:     "ST3(25031|50032|75033|100034)0NS",
 1615:     "",
 1616:     "There are known problems with these drives,\n"
 1617:     "see the following Seagate web pages:\n"
 1618:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931\n"
 1619:     "http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207963",
 1620:     ""
 1621:   },
 1622:   { "Seagate Barracuda LP",
 1623:     "ST3(500412|1000520|1500541|2000542)AS",
 1624:     "", "", ""
 1625:   },
 1626:   { "Seagate Barracuda Green (Adv. Format)",
 1627:     "ST((10|15|20)00DL00[123])-.*",
 1628:     "", "", ""
 1629:   },
 1630:   { "Seagate Barracuda XT",
 1631:     "ST(32000641|33000651)AS",
 1632:     "", "", ""
 1633:   },
 1634:   { "Seagate Constellation (SATA)", // tested with ST9500530NS/SN03
 1635:     "ST9(160511|500530)NS",
 1636:     "", "", ""
 1637:   },
 1638:   { "Seagate Constellation ES (SATA)", // tested with ST31000524NS/SN11
 1639:     "ST3(50051|100052|200064)4NS",
 1640:     "", "", ""
 1641:   },
 1642:   { "Seagate Pipeline HD 5900.1",
 1643:     "ST3(160310|320[34]10|500(321|422))CS",
 1644:     "", "", ""
 1645:   },
 1646:   { "Seagate Pipeline HD 5900.2", // tested with ST31000322CS/SC13
 1647:     "ST3(160316|250[34]12|320(311|413)|500(312|414)|1000(322|424))CS",
 1648:     "", "", ""
 1649:   },
 1650:   { "Seagate Medalist 17240, 13030, 10231, 8420, and 4310",
 1651:     "ST3(17240|13030|10231|8420|4310)A",
 1652:     "", "", ""
 1653:   },
 1654:   { "Seagate Medalist 17242, 13032, 10232, 8422, and 4312",
 1655:     "ST3(1724|1303|1023|842|431)2A",
 1656:     "", "", ""
 1657:   },
 1658:   { "Seagate NL35",
 1659:     "ST3(250623|250823|400632|400832|250824|250624|400633|400833|500641|500841)NS",
 1660:     "", "", ""
 1661:   },
 1662:   { "Seagate SV35.2",
 1663:     "ST3(160815|250820|320620|500630|750640)(A|S)V",
 1664:     "", "", ""
 1665:   },
 1666:   { "Seagate DB35.3",
 1667:     "ST3(750640SCE|((80|160)215|(250|320|400)820|500830|750840)(A|S)CE)",
 1668:     "", "", ""
 1669:   },
 1670:   { "Western Digital Protege",
 1671:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1672:    * a  non-standard manner.  These entries may need to be updated when it
 1673:    * is understood exactly how Attribute 9 should be interpreted.
 1674:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1675:    * smartmontools FAQ */
 1676:     "WDC WD([2468]00E|1[26]00A)B-.*",
 1677:     "", "", ""
 1678:   },
 1679:   { "Western Digital Caviar",
 1680:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1681:    * a  non-standard manner.  These entries may need to be updated when it
 1682:    * is understood exactly how Attribute 9 should be interpreted.
 1683:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1684:    * smartmontools FAQ */
 1685:     "WDC WD(2|3|4|6|8|10|12|16|18|20|25)00BB-.*",
 1686:     "", "", ""
 1687:   },
 1688:   { "Western Digital Caviar WDxxxAB",
 1689:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1690:    * a  non-standard manner.  These entries may need to be updated when it
 1691:    * is understood exactly how Attribute 9 should be interpreted.
 1692:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1693:    * smartmontools FAQ */
 1694:     "WDC WD(3|4|6|8|25)00AB-.*",
 1695:     "", "", ""
 1696:   },
 1697:   { "Western Digital Caviar WDxxxAA",
 1698:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1699:    * a  non-standard manner.  These entries may need to be updated when it
 1700:    * is understood exactly how Attribute 9 should be interpreted.
 1701:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1702:    * smartmontools FAQ */
 1703:     "WDC WD...?AA(-.*)?",
 1704:     "", "", ""
 1705:   },
 1706:   { "Western Digital Caviar WDxxxBA",
 1707:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1708:    * a  non-standard manner.  These entries may need to be updated when it
 1709:    * is understood exactly how Attribute 9 should be interpreted.
 1710:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1711:    * smartmontools FAQ */
 1712:     "WDC WD...BA",
 1713:     "", "", ""
 1714:   },
 1715:   { "Western Digital Caviar AC", // add only 5400rpm/7200rpm (ata33 and faster)
 1716:     "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]?.*",
 1717:     "", "", ""
 1718:   },
 1719:   { "Western Digital Caviar SE",
 1720:   /* Western Digital drives with this comment all appear to use Attribute 9 in
 1721:    * a  non-standard manner.  These entries may need to be updated when it
 1722:    * is understood exactly how Attribute 9 should be interpreted.
 1723:    * UPDATE: this is probably explained by the WD firmware bug described in the
 1724:    * smartmontools FAQ
 1725:    * UPDATE 2: this does not apply to more recent models, at least WD3200AAJB */
 1726:     "WDC WD(4|6|8|10|12|16|18|20|25|30|32|40|50)00(JB|PB)-.*",
 1727:     "", "", ""
 1728:   },
 1729:   { "Western Digital Caviar Blue EIDE",  // WD Caviar SE EIDE
 1730:     /* not completely accurate: at least also WD800JB, WD(4|8|20|25)00BB sold as Caviar Blue */
 1731:     "WDC WD(16|25|32|40|50)00AAJB-.*",
 1732:     "", "", ""
 1733:   },
 1734:   { "Western Digital Caviar Blue EIDE",  // WD Caviar SE16 EIDE
 1735:     "WDC WD(25|32|40|50)00AAKB-.*",
 1736:     "", "", ""
 1737:   },
 1738:   { "Western Digital RE EIDE",
 1739:     "WDC WD(12|16|25|32)00SB-.*",
 1740:     "", "", ""
 1741:   },
 1742:   { "Western Digital Caviar Serial ATA",
 1743:     "WDC WD(4|8|20|32)00BD-.*",
 1744:     "", "", ""
 1745:   },
 1746:   { "Western Digital Caviar SE Serial ATA",
 1747:     "WDC WD(4|8|12|16|20|25|32|40)00(JD|KD|PD)-.*",
 1748:     "", "", ""
 1749:   },
 1750:   { "Western Digital Caviar SE Serial ATA",
 1751:     "WDC WD(8|12|16|20|25|30|32|40|50)00JS-.*",
 1752:     "", "", ""
 1753:   },
 1754:   { "Western Digital Caviar SE16 Serial ATA",
 1755:     "WDC WD(16|20|25|32|40|50|75)00KS-.*",
 1756:     "", "", ""
 1757:   },
 1758:   { "Western Digital Caviar Blue Serial ATA",  // WD Caviar SE Serial ATA
 1759:     /* not completely accurate: at least also WD800BD, (4|8)00JD sold as Caviar Blue */
 1760:     "WDC WD((8|12|16|25|32)00AABS|(8|12|16|25|32|40|50)00AAJS)-.*",
 1761:     "", "", ""
 1762:   },
 1763:   { "Western Digital Caviar Blue Serial ATA",  // WD Caviar SE16 Serial ATA
 1764:     "WDC WD((16|20|25|32|40|50|64|75)00AAKS|10EALS)-.*",
 1765:     "", "", ""
 1766:   },
 1767:   { "Western Digital Caviar Blue Serial ATA",  // SATA 3.0 variants
 1768:     "WDC WD((25|32|50)00AAKX|7500AALX|10EALX)-.*",
 1769:     "", "", ""
 1770:   },
 1771:   { "Western Digital RE Serial ATA",
 1772:     "WDC WD(12|16|25|32)00(SD|YD|YS)-.*",
 1773:     "", "", ""
 1774:   },
 1775:   { "Western Digital RE2 Serial ATA",
 1776:     "WDC WD((40|50|75)00(YR|YS|AYYS)|(16|32|40|50)0[01]ABYS)-.*",
 1777:     "", "", ""
 1778:   },
 1779:   { "Western Digital RE2-GP",
 1780:     "WDC WD(5000AB|7500AY|1000FY)PS-.*",
 1781:     "", "", ""
 1782:   },
 1783:   { "Western Digital RE3 Serial ATA",
 1784:     "WDC WD((25|32|50)02A|(75|10)02F)BYS-.*",
 1785:     "", "", ""
 1786:   },
 1787:   { "Western Digital RE4 Serial ATA",
 1788:     "WDC WD((((25|50)03A|1003F)BYX)|((15|20)03FYYS))-.*",
 1789:     "", "", ""
 1790:   },
 1791:   { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01
 1792:     "WDC WD2002FYPS-.*",
 1793:     "", "", ""
 1794:   },
 1795:   { "Western Digital Caviar Green",
 1796:     "WDC WD((50|64|75)00AA(C|V)S|(50|64|75)00AADS|10EA(C|V)S|(10|15|20)EADS)-.*",
 1797:     "", "", ""
 1798:   },
 1799:   { "Western Digital Caviar Green (Adv. Format)",
 1800:     "WDC WD(((64|75|80)00AA|(10|15|20)EA|(25|30)EZ)R|20EAC)S-.*",
 1801:     "", "", ""
 1802:   },
 1803:   { "Western Digital Caviar Green (Adv. Format)", // SATA 6Gb/s variants
 1804:       // tested with WDC WD30EZRX-00MMMB0/80.00A80
 1805:     "WDC WD(7500AA|(10|15|20)EA|(25|30)EZ)RX-.*",
 1806:     "", "", ""
 1807:   },
 1808:   { "Western Digital Caviar Black",
 1809:     "WDC WD((500|640|750)1AAL|1001FA[EL]|2001FAS)S-.*",
 1810:     "", "", ""
 1811:   },
 1812:   { "Western Digital Caviar Black",  // SATA 3.0 variants
 1813:     "WDC WD(5002AAL|(64|75)02AAE|(10|15|20)02FAE)X-.*",
 1814:     "", "", ""
 1815:   },
 1816:   { "Western Digital AV ATA", // tested with WDC WD3200AVJB-63J5A0/01.03E01
 1817:     "WDC WD(8|16|25|32|50)00AV[BJ]B-.*",
 1818:     "", "", ""
 1819:   },
 1820:   { "Western Digital AV SATA",
 1821:     "WDC WD(16|25|32)00AVJS-.*",
 1822:     "", "", ""
 1823:   },
 1824:   { "Western Digital AV-GP",
 1825:     "WDC WD((16|25|32|50|64|75)00AVVS|(50|75)00AVCS|10EVVS|(10|20)EVCS|(10|15|20)EVDS)-.*",
 1826:     "", "", ""
 1827:   },
 1828:   { "Western Digital AV-25",
 1829:     "WDC WD((16|25|32|50)00BUD|5000BUC)T-.*",
 1830:     "", "", ""
 1831:   },
 1832:   { "Western Digital Raptor",
 1833:     "WDC WD((360|740|800)GD|(360|740|800|1500)ADF[DS])-.*",
 1834:     "", "", ""
 1835:   },
 1836:   { "Western Digital Raptor X",
 1837:     "WDC WD1500AHFD-.*",
 1838:     "", "", ""
 1839:   },
 1840:   { "Western Digital VelociRaptor", // tested with WDC WD1500HLHX-01JJPV0/04.05G04
 1841:     "WDC WD(((800H|(1500|3000)[BH]|1600H|3000G)LFS)|((1500|3000|4500|6000)[BH]LHX))-.*",
 1842:     "", "", ""
 1843:   },
 1844:   { "Western Digital Scorpio EIDE",
 1845:     "WDC WD(4|6|8|10|12|16)00(UE|VE)-.*",
 1846:     "", "", ""
 1847:   },
 1848:   { "Western Digital Scorpio Blue EIDE", // tested with WDC WD3200BEVE-00A0HT0/11.01A11
 1849:     "WDC WD(4|6|8|10|12|16|25|32)00BEVE-.*",
 1850:     "", "", ""
 1851:   },
 1852:   { "Western Digital Scorpio Serial ATA",
 1853:     "WDC WD(4|6|8|10|12|16|25)00BEAS-.*",
 1854:     "", "", ""
 1855:   },
 1856:   { "Western Digital Scorpio Blue Serial ATA",
 1857:     "WDC WD((4|6|8|10|12|16|25)00BEVS|(8|12|16|25|32|40|50|64)00BEVT|7500KEVT|10TEVT)-.*",
 1858:     "", "", ""
 1859:   },
 1860:   { "Western Digital Scorpio Blue Serial ATA (Adv. Format)", // tested with
 1861:       // WDC WD10JPVT-00A1YT0/01.01A01
 1862:     "WDC WD((16|25|32|50|64|75)00BPVT|10[JT]PVT)-.*",
 1863:     "", "", ""
 1864:   },
 1865:   { "Western Digital Scorpio Black Serial ATA",
 1866:     "WDC WD(8|12|16|25|32)00B[EJ]KT-.*",
 1867:     "", "", ""
 1868:   },
 1869:   { "Western Digital My Passport Essential (USB)",
 1870:     "WDC WD(25|32|40|50)00BMVU-.*",
 1871:     "", "", ""
 1872:   },
 1873:   { "Western Digital My Passport Essential SE (USB, Adv. Format)", // tested with
 1874:       // WDC WD10TMVW-11ZSMS5/01.01A01
 1875:     "WDC WD(7500K|10T)MV[VW]-.*",
 1876:     "", "", ""
 1877:   },
 1878:   { "Western Digital My Passport (USB)", // tested with
 1879:       // WDC WD5000BMVW-11AMCS0/01.01A01
 1880:     "WDC WD(3200BMVV|5000BMVW)-.*",
 1881:     "", "", ""
 1882:   },
 1883:   { "Quantum Bigfoot", // tested with TS10.0A/A21.0G00, TS12.7A/A21.0F00
 1884:     "QUANTUM BIGFOOT TS(10\\.0|12\\.7)A",
 1885:     "", "", ""
 1886:   },
 1887:   { "Quantum Fireball lct15",
 1888:     "QUANTUM FIREBALLlct15 ([123]0|22)",
 1889:     "", "", ""
 1890:   },
 1891:   { "Quantum Fireball lct20",
 1892:     "QUANTUM FIREBALLlct20 [1234]0",
 1893:     "", "", ""
 1894:   },
 1895:   { "Quantum Fireball CX",
 1896:     "QUANTUM FIREBALL CX10.2A",
 1897:     "", "", ""
 1898:   },
 1899:   { "Quantum Fireball CR",
 1900:     "QUANTUM FIREBALL CR(4.3|6.4|8.4|13.0)A",
 1901:     "", "", ""
 1902:   },
 1903:   { "Quantum Fireball EX",
 1904:     "QUANTUM FIREBALL EX(3.2|6.4)A",
 1905:     "", "", ""
 1906:   },
 1907:   { "Quantum Fireball ST",
 1908:     "QUANTUM FIREBALL ST(3.2|4.3|4300)A",
 1909:     "", "", ""
 1910:   },
 1911:   { "Quantum Fireball SE",
 1912:     "QUANTUM FIREBALL SE4.3A",
 1913:     "", "", ""
 1914:   },
 1915:   { "Quantum Fireball Plus LM",
 1916:     "QUANTUM FIREBALLP LM(10.2|15|20.[45]|30)",
 1917:     "", "", ""
 1918:   },
 1919:   { "Quantum Fireball Plus AS",
 1920:     "QUANTUM FIREBALLP AS(10.2|20.5|30.0|40.0|60.0)",
 1921:     "", "", ""
 1922:   },
 1923:   { "Quantum Fireball Plus KX",
 1924:     "QUANTUM FIREBALLP KX27.3",
 1925:     "", "", ""
 1926:   },
 1927:   { "Quantum Fireball Plus KA",
 1928:     "QUANTUM FIREBALLP KA(9|10).1",
 1929:     "", "", ""
 1930:   },
 1931: 
 1932:   ////////////////////////////////////////////////////
 1933:   // USB ID entries
 1934:   ////////////////////////////////////////////////////
 1935: 
 1936:   // ALi
 1937:   { "USB: ; ALi M5621", // USB->PATA
 1938:     "0x0402:0x5621",
 1939:     "",
 1940:     "",
 1941:     "" // unsupported
 1942:   },
 1943:   // VIA
 1944:   { "USB: Connectland BE-USB2-35BP-LCM; VIA VT6204",
 1945:     "0x040d:0x6204",
 1946:     "",
 1947:     "",
 1948:     "" // unsupported
 1949:   },
 1950:   // Buffalo / Melco
 1951:   { "USB: Buffalo JustStore Portable HD-PVU2; ",
 1952:     "0x0411:0x0181",
 1953:     "",
 1954:     "",
 1955:     "-d sat"
 1956:   },
 1957:   // Toshiba
 1958:   { "USB: Toshiba Canvio 500GB; ",
 1959:     "0x0480:0xa004",
 1960:     "",
 1961:     "",
 1962:     "-d usbsunplus"
 1963:   },
 1964:   // Cypress
 1965:   { "USB: ; Cypress CY7C68300A (AT2)",
 1966:     "0x04b4:0x6830",
 1967:     "0x0001",
 1968:     "",
 1969:     "" // unsupported
 1970:   },
 1971:   { "USB: ; Cypress CY7C68300B/C (AT2LP)",
 1972:     "0x04b4:0x6830",
 1973:     "0x0240",
 1974:     "",
 1975:     "-d usbcypress"
 1976:   },
 1977:   // Myson Century
 1978:   { "USB: ; Myson Century CS8818",
 1979:     "0x04cf:0x8818",
 1980:     "", // 0xb007
 1981:     "",
 1982:     "" // unsupported
 1983:   },
 1984:   // Samsung
 1985:   { "USB: Samsung S2 Portable; JMicron",
 1986:     "0x04e8:0x1f0[68]",
 1987:     "",
 1988:     "",
 1989:     "-d usbjmicron"
 1990:   },
 1991:   { "USB: Samsung S1 Portable; JMicron",
 1992:     "0x04e8:0x2f03",
 1993:     "",
 1994:     "",
 1995:     "-d usbjmicron"
 1996:   },
 1997:   { "USB: Samsung Story Station; ",
 1998:     "0x04e8:0x5f06",
 1999:     "",
 2000:     "",
 2001:     "-d sat"
 2002:   },
 2003:   { "USB: Samsung Story Station 3.0; ",
 2004:     "0x04e8:0x6052",
 2005:     "",
 2006:     "",
 2007:     "-d sat"
 2008:   },
 2009:   { "USB: Samsung G2 Portable; JMicron",
 2010:     "0x04e8:0x6032",
 2011:     "",
 2012:     "",
 2013:     "-d usbjmicron"
 2014:   },
 2015:   { "USB: Samsung Story Station 3.0; ",
 2016:     "0x04e8:0x6054",
 2017:     "",
 2018:     "",
 2019:     "-d sat"
 2020:   },
 2021:   // Sunplus
 2022:   { "USB: ; SunPlus",
 2023:     "0x04fc:0x0c05",
 2024:     "",
 2025:     "",
 2026:     "-d usbsunplus"
 2027:   },
 2028:   { "USB: ; SunPlus SPDIF215",
 2029:     "0x04fc:0x0c15",
 2030:     "", // 0xf615
 2031:     "",
 2032:     "-d usbsunplus"
 2033:   },
 2034:   { "USB: ; SunPlus SPDIF225", // USB+SATA->SATA
 2035:     "0x04fc:0x0c25",
 2036:     "", // 0x0103
 2037:     "",
 2038:     "-d usbsunplus"
 2039:   },
 2040:   // Iomega
 2041:   { "USB: Iomega LPHD080-0; ",
 2042:     "0x059b:0x0272",
 2043:     "",
 2044:     "",
 2045:     "-d usbcypress"
 2046:   },
 2047:   { "USB: Iomega MDHD500-U; ",
 2048:     "0x059b:0x0275",
 2049:     "", // 0x0001
 2050:     "",
 2051:     "" // unsupported
 2052:   },
 2053:   { "USB: Iomega MDHD-UE; ",
 2054:     "0x059b:0x0277",
 2055:     "",
 2056:     "",
 2057:     "-d usbjmicron"
 2058:   },
 2059:   { "USB: Iomega LDHD-UP; Sunplus",
 2060:     "0x059b:0x0370",
 2061:     "",
 2062:     "",
 2063:     "-d usbsunplus"
 2064:   },
 2065:   // LaCie
 2066:   { "USB: LaCie hard disk (FA Porsche design);",
 2067:     "0x059f:0x0651",
 2068:     "",
 2069:     "",
 2070:     "" // unsupported
 2071:   },
 2072:   { "USB: LaCie hard disk; JMicron",
 2073:     "0x059f:0x0951",
 2074:     "",
 2075:     "",
 2076:     "-d usbjmicron"
 2077:   },
 2078:   { "USB: LaCie hard disk (Neil Poulton design);",
 2079:     "0x059f:0x1018",
 2080:     "",
 2081:     "",
 2082:     "-d sat"
 2083:   },
 2084:   { "USB: LaCie Desktop Hard Drive; JMicron",
 2085:     "0x059f:0x1019",
 2086:     "",
 2087:     "",
 2088:     "-d usbjmicron"
 2089:   },
 2090:   { "USB: LaCie Rugged Hard Drive; JMicron",
 2091:     "0x059f:0x101d",
 2092:     "", // 0x0001
 2093:     "",
 2094:     "-d usbjmicron,x"
 2095:   },
 2096:   { "USB: LaCie Little Disk USB2; JMicron",
 2097:     "0x059f:0x1021",
 2098:     "",
 2099:     "",
 2100:     "-d usbjmicron"
 2101:   },
 2102:   { "USB: LaCie hard disk; ",
 2103:     "0x059f:0x1029",
 2104:     "", // 0x0100
 2105:     "",
 2106:     "-d sat"
 2107:   },
 2108:   { "USB: Lacie rikiki; JMicron",
 2109:     "0x059f:0x102a",
 2110:     "",
 2111:     "",
 2112:     "-d usbjmicron,x"
 2113:   },
 2114:   { "USB: LaCie rikiki USB 3.0; ",
 2115:     "0x059f:0x10(49|57)",
 2116:     "",
 2117:     "",
 2118:     "-d sat"
 2119:   },
 2120:   // In-System Design
 2121:   { "USB: ; In-System/Cypress ISD-300A1",
 2122:     "0x05ab:0x0060",
 2123:     "", // 0x1101
 2124:     "",
 2125:     "-d usbcypress"
 2126:   },
 2127:   // Genesys Logic
 2128:   { "USB: ; Genesys Logic GL881E",
 2129:     "0x05e3:0x0702",
 2130:     "",
 2131:     "",
 2132:     "" // unsupported
 2133:   },
 2134:   { "USB: ; Genesys Logic", // TODO: requires '-T permissive'
 2135:     "0x05e3:0x0718",
 2136:     "", // 0x0041
 2137:     "",
 2138:     "-d sat"
 2139:   },
 2140:   // Micron
 2141:   { "USB: Micron USB SSD; ",
 2142:     "0x0634:0x0655",
 2143:     "",
 2144:     "",
 2145:     "" // unsupported
 2146:   },
 2147:   // Prolific
 2148:   { "USB: ; Prolific PL2507", // USB->PATA
 2149:     "0x067b:0x2507",
 2150:     "",
 2151:     "",
 2152:     "" // unsupported
 2153:   },
 2154:   { "USB: ; Prolific PL3507", // USB+IEE1394->PATA
 2155:     "0x067b:0x3507",
 2156:     "", // 0x0001
 2157:     "",
 2158:     "" // unsupported
 2159:   },
 2160:   // Freecom
 2161:   { "USB: Freecom Mobile Drive XXS; JMicron",
 2162:     "0x07ab:0xfc88",
 2163:     "", // 0x0101
 2164:     "",
 2165:     "-d usbjmicron,x"
 2166:   },
 2167:   { "USB: Freecom Hard Drive XS; Sunplus",
 2168:     "0x07ab:0xfc8e",
 2169:     "", // 0x010f
 2170:     "",
 2171:     "-d usbsunplus"
 2172:   },
 2173:   { "USB: Freecom Classic HD 120GB; ",
 2174:     "0x07ab:0xfccd",
 2175:     "",
 2176:     "",
 2177:     "" // unsupported
 2178:   },
 2179:   { "USB: Freecom HD 500GB; JMicron",
 2180:     "0x07ab:0xfcda",
 2181:     "",
 2182:     "",
 2183:     "-d usbjmicron"
 2184:   },
 2185:   // Toshiba
 2186:   { "USB: Toshiba PX1270E-1G16; Sunplus",
 2187:     "0x0930:0x0b03",
 2188:     "",
 2189:     "",
 2190:     "-d usbsunplus"
 2191:   },
 2192:   // Oxford Semiconductor, Ltd
 2193:   { "USB: ; Oxford",
 2194:     "0x0928:0x0000",
 2195:     "",
 2196:     "",
 2197:     "" // unsupported
 2198:   },
 2199:   { "USB: ; Oxford OXU921DS",
 2200:     "0x0928:0x0002",
 2201:     "",
 2202:     "",
 2203:     "" // unsupported
 2204:   },
 2205:   { "USB: Toshiba PX1396E-3T01; Sunplus", // similar to Dura Micro 501
 2206:     "0x0930:0x0b09",
 2207:     "",
 2208:     "",
 2209:     "-d usbsunplus"
 2210:   },
 2211:   { "USB: Toshiba Stor.E Steel; Sunplus",
 2212:     "0x0930:0x0b11",
 2213:     "",
 2214:     "",
 2215:     "-d usbsunplus"
 2216:   },
 2217:   // Seagate
 2218:   { "USB: Seagate FreeAgent Go; ",
 2219:     "0x0bc2:0x2(000|100|101)",
 2220:     "",
 2221:     "",
 2222:     "-d sat"
 2223:   },
 2224:   { "USB: Seagate FreeAgent Go FW; ",
 2225:     "0x0bc2:0x2200",
 2226:     "",
 2227:     "",
 2228:     "-d sat"
 2229:   },
 2230:   { "USB: Seagate Expansion Portable; ",
 2231:     "0x0bc2:0x2300",
 2232:     "",
 2233:     "",
 2234:     "-d sat"
 2235:   },
 2236:   { "USB: Seagate FreeAgent Desktop; ",
 2237:     "0x0bc2:0x3000",
 2238:     "",
 2239:     "",
 2240:     "-d sat"
 2241:   },
 2242:   { "USB: Seagate FreeAgent Desk; ",
 2243:     "0x0bc2:0x3001",
 2244:     "",
 2245:     "",
 2246:     "-d sat"
 2247:   },
 2248:   { "USB: Seagate Expansion External; ", // 2TB
 2249:     "0x0bc2:0x3300",
 2250:     "",
 2251:     "",
 2252:     "-d sat"
 2253:   },
 2254:   { "USB: Seagate FreeAgent GoFlex USB 2.0; ",
 2255:     "0x0bc2:0x5021",
 2256:     "",
 2257:     "",
 2258:     "-d sat"
 2259:   },
 2260:   { "USB: Seagate FreeAgent GoFlex USB 3.0; ",
 2261:     "0x0bc2:0x5031",
 2262:     "",
 2263:     "",
 2264:     "-d sat,12"
 2265:   },
 2266:   { "USB: Seagate FreeAgent GoFlex USB 3.0; ", // 2TB
 2267:     "0x0bc2:0x5071",
 2268:     "",
 2269:     "",
 2270:     "-d sat"
 2271:   },
 2272:   { "USB: Seagate FreeAgent GoFlex Desk USB 3.0; ",
 2273:     "0x0bc2:0x50a1",
 2274:     "",
 2275:     "",
 2276:     "-d sat"
 2277:   },
 2278:   // Dura Micro
 2279:   { "USB: Dura Micro 509; Sunplus",
 2280:     "0x0c0b:0xb159",
 2281:     "", // 0x0103
 2282:     "",
 2283:     "-d usbsunplus"
 2284:   },
 2285:   // Maxtor
 2286:   { "USB: Maxtor OneTouch 200GB; ",
 2287:     "0x0d49:0x7010",
 2288:     "",
 2289:     "",
 2290:     "" // unsupported
 2291:   },
 2292:   { "USB: Maxtor OneTouch; ",
 2293:     "0x0d49:0x7300",
 2294:     "", // 0x0121
 2295:     "",
 2296:     "-d sat"
 2297:   },
 2298:   { "USB: Maxtor OneTouch 4; ",
 2299:     "0x0d49:0x7310",
 2300:     "", // 0x0125
 2301:     "",
 2302:     "-d sat"
 2303:   },
 2304:   { "USB: Maxtor OneTouch 4 Mini; ",
 2305:     "0x0d49:0x7350",
 2306:     "", // 0x0125
 2307:     "",
 2308:     "-d sat"
 2309:   },
 2310:   { "USB: Maxtor Basics Desktop; ",
 2311:     "0x0d49:0x7410",
 2312:     "", // 0x0122
 2313:     "",
 2314:     "-d sat"
 2315:   },
 2316:   { "USB: Maxtor Basics Portable; ",
 2317:     "0x0d49:0x7450",
 2318:     "", // 0x0122
 2319:     "",
 2320:     "-d sat"
 2321:   },
 2322:   // Oyen Digital
 2323:   { "USB: Oyen Digital MiniPro USB 3.0; ",
 2324:     "0x0dc4:0x020a",
 2325:     "",
 2326:     "",
 2327:     "-d sat"
 2328:   },
 2329:   // Cowon Systems, Inc.
 2330:   { "USB: Cowon iAudio X5; ",
 2331:     "0x0e21:0x0510",
 2332:     "",
 2333:     "",
 2334:     "-d usbcypress"
 2335:   },
 2336:   // iRiver
 2337:   { "USB: iRiver iHP-120/140 MP3 Player; Cypress",
 2338:     "0x1006:0x3002",
 2339:     "", // 0x0100
 2340:     "",
 2341:     "-d usbcypress"
 2342:   },
 2343:   // Western Digital
 2344:   { "USB: WD My Passport (IDE); Cypress",
 2345:     "0x1058:0x0701",
 2346:     "", // 0x0240
 2347:     "",
 2348:     "-d usbcypress"
 2349:   },
 2350:   { "USB: WD My Passport Portable; ",
 2351:     "0x1058:0x0702",
 2352:     "", // 0x0102
 2353:     "",
 2354:     "-d sat"
 2355:   },
 2356:   { "USB: WD My Passport Essential; ",
 2357:     "0x1058:0x0704",
 2358:     "", // 0x0175
 2359:     "",
 2360:     "-d sat"
 2361:   },
 2362:   { "USB: WD My Passport Elite; ",
 2363:     "0x1058:0x0705",
 2364:     "", // 0x0175
 2365:     "",
 2366:     "-d sat"
 2367:   },
 2368:   { "USB: WD My Passport 070A; ",
 2369:     "0x1058:0x070a",
 2370:     "", // 0x1028
 2371:     "",
 2372:     "-d sat"
 2373:   },
 2374:   { "USB: WD My Passport 0730; ",
 2375:     "0x1058:0x0730",
 2376:     "", // 0x1008
 2377:     "",
 2378:     "-d sat"
 2379:   },
 2380:   { "USB: WD My Passport Essential SE USB 3.0; ",
 2381:     "0x1058:0x0740",
 2382:     "",
 2383:     "",
 2384:     "-d sat"
 2385:   },
 2386:   { "USB: WD My Book ES; ",
 2387:     "0x1058:0x0906",
 2388:     "", // 0x0012
 2389:     "",
 2390:     "-d sat"
 2391:   },
 2392:   { "USB: WD My Book Essential; ",
 2393:     "0x1058:0x0910",
 2394:     "", // 0x0106
 2395:     "",
 2396:     "-d sat"
 2397:   },
 2398:   { "USB: WD Elements Desktop; ",
 2399:     "0x1058:0x1001",
 2400:     "", // 0x0104
 2401:     "",
 2402:     "-d sat"
 2403:   },
 2404:   { "USB: WD Elements Desktop WDE1UBK...; ",
 2405:     "0x1058:0x1003",
 2406:     "", // 0x0175
 2407:     "",
 2408:     "-d sat"
 2409:   },
 2410:   { "USB: WD Elements; ",
 2411:     "0x1058:0x1010",
 2412:     "", // 0x0105
 2413:     "",
 2414:     "-d sat"
 2415:   },
 2416:   { "USB: WD Elements Desktop; ", // 2TB
 2417:     "0x1058:0x1021",
 2418:     "", // 0x2002
 2419:     "",
 2420:     "-d sat"
 2421:   },
 2422:   { "USB: WD Elements SE; ", // 1TB
 2423:     "0x1058:0x1023",
 2424:     "",
 2425:     "",
 2426:     "-d sat"
 2427:   },
 2428:   { "USB: WD Elements SE USB 3.0; ",
 2429:     "0x1058:0x1042",
 2430:     "",
 2431:     "",
 2432:     "-d sat"
 2433:   },
 2434:   { "USB: WD My Book Essential; ",
 2435:     "0x1058:0x1100",
 2436:     "", // 0x0165
 2437:     "",
 2438:     "-d sat"
 2439:   },
 2440:   { "USB: WD My Book Office Edition; ", // 1TB
 2441:     "0x1058:0x1101",
 2442:     "", // 0x0165
 2443:     "",
 2444:     "-d sat"
 2445:   },
 2446:   { "USB: WD My Book; ",
 2447:     "0x1058:0x1102",
 2448:     "", // 0x1028
 2449:     "",
 2450:     "-d sat"
 2451:   },
 2452:   { "USB: WD My Book Essential; ",
 2453:     "0x1058:0x1110",
 2454:     "", // 0x1030
 2455:     "",
 2456:     "-d sat"
 2457:   },
 2458:   { "USB: WD My Book Essential USB 3.0; ", // 3TB
 2459:     "0x1058:0x1130",
 2460:     "", // 0x1012
 2461:     "",
 2462:     "-d sat"
 2463:   },
 2464:   // Atech Flash Technology
 2465:   { "USB: ; Atech", // Enclosure from Kingston SSDNow notebook upgrade kit
 2466:     "0x11b0:0x6298",
 2467:     "", // 0x0108
 2468:     "",
 2469:     "-d sat"
 2470:   },
 2471:   // A-DATA
 2472:   { "USB: A-DATA SH93; Cypress",
 2473:     "0x125f:0xa93a",
 2474:     "", // 0x0150
 2475:     "",
 2476:     "-d usbcypress"
 2477:   },
 2478:   // Initio
 2479:   { "USB: ; Initio 316000",
 2480:     "0x13fd:0x0540",
 2481:     "",
 2482:     "",
 2483:     "" // unsupported
 2484:   },
 2485:   { "USB: ; Initio", // USB->SATA
 2486:     "0x13fd:0x1240",
 2487:     "", // 0x0104
 2488:     "",
 2489:     "-d sat"
 2490:   },
 2491:   { "USB: ; Initio", // USB+SATA->SATA
 2492:     "0x13fd:0x1340",
 2493:     "", // 0x0208
 2494:     "",
 2495:     "-d sat"
 2496:   },
 2497:   { "USB: Intenso Memory Station 2,5\"; Initio",
 2498:     "0x13fd:0x1840",
 2499:     "",
 2500:     "",
 2501:     "-d sat"
 2502:   },
 2503:   // Super Top
 2504:   { "USB: Super Top generic enclosure; Cypress",
 2505:     "0x14cd:0x6116",
 2506:     "",
 2507:     "",
 2508:     "-d usbcypress"
 2509:   },
 2510:   // JMicron
 2511:   { "USB: ; JMicron USB 3.0",
 2512:     "0x152d:0x0539",
 2513:     "", // 0x0100
 2514:     "",
 2515:     "-d usbjmicron"
 2516:   },
 2517:   { "USB: ; JMicron ", // USB->SATA->4xSATA (port multiplier)
 2518:     "0x152d:0x0551",
 2519:     "", // 0x0100
 2520:     "",
 2521:     "-d usbjmicron,x"
 2522:   },
 2523:   { "USB: OCZ THROTTLE OCZESATATHR8G; JMicron JMF601",
 2524:     "0x152d:0x0602",
 2525:     "",
 2526:     "",
 2527:     "" // unsupported
 2528:   },
 2529:   { "USB: ; JMicron JM20329", // USB->SATA
 2530:     "0x152d:0x2329",
 2531:     "", // 0x0100
 2532:     "",
 2533:     "-d usbjmicron"
 2534:   },
 2535:   { "USB: ; JMicron JM20336", // USB+SATA->SATA, USB->2xSATA
 2536:     "0x152d:0x2336",
 2537:     "", // 0x0100
 2538:     "",
 2539:     "-d usbjmicron,x"
 2540:   },
 2541:   { "USB: Generic JMicron adapter; JMicron",
 2542:     "0x152d:0x2337",
 2543:     "",
 2544:     "",
 2545:     "-d usbjmicron"
 2546:   },
 2547:   { "USB: ; JMicron JM20337/8", // USB->SATA+PATA, USB+SATA->PATA
 2548:     "0x152d:0x2338",
 2549:     "", // 0x0100
 2550:     "",
 2551:     "-d usbjmicron"
 2552:   },
 2553:   { "USB: ; JMicron JM20339", // USB->SATA
 2554:     "0x152d:0x2339",
 2555:     "", // 0x0100
 2556:     "",
 2557:     "-d usbjmicron,x"
 2558:   },
 2559:   { "USB: ; JMicron", // USB+SATA->SATA
 2560:     "0x152d:0x2351",  // e.g. Verbatim Portable Hard Drive 500Gb
 2561:     "", // 0x0100
 2562:     "",
 2563:     "-d sat"
 2564:   },
 2565:   { "USB: ; JMicron", // USB->SATA
 2566:     "0x152d:0x2352",
 2567:     "", // 0x0100
 2568:     "",
 2569:     "-d usbjmicron,x"
 2570:   },
 2571:   { "USB: ; JMicron", // USB->SATA
 2572:     "0x152d:0x2509",
 2573:     "", // 0x0100
 2574:     "",
 2575:     "-d usbjmicron,x"
 2576:   },
 2577:   // ASMedia
 2578:   { "USB: ; ASMedia ASM1051",
 2579:     "0x174c:0x5106",
 2580:     "",
 2581:     "",
 2582:     "-d sat"
 2583:   },
 2584:   { "USB: ; ASMedia USB 3.0", // BYTECC T-200U3
 2585:     "0x174c:0x55aa",
 2586:     "",
 2587:     "",
 2588:     "" // unsupported
 2589:   },
 2590:   // LucidPort
 2591:   { "USB: RaidSonic ICY BOX IB-110StU3-B; LucidPORT USB300",
 2592:     "0x1759:0x500[02]",
 2593:     "",
 2594:     "",
 2595:     "-d sat"
 2596:   },
 2597:   // Verbatim
 2598:   { "USB: Verbatim Portable Hard Drive; Sunplus",
 2599:     "0x18a5:0x0214",
 2600:     "", // 0x0112
 2601:     "",
 2602:     "-d usbsunplus"
 2603:   },
 2604:   { "USB: Verbatim FW/USB160; Oxford OXUF934SSA-LQAG", // USB+IEE1394->SATA
 2605:     "0x18a5:0x0215",
 2606:     "", // 0x0001
 2607:     "",
 2608:     "-d sat"
 2609:   },
 2610:   { "USB: Verbatim External Hard Drive 47519; Sunplus", // USB->SATA
 2611:     "0x18a5:0x0216",
 2612:     "",
 2613:     "",
 2614:     "-d usbsunplus"
 2615:   },
 2616:   { "USB: Verbatim Pocket Hard Drive; JMicron", // SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)
 2617:     "0x18a5:0x0227",
 2618:     "",
 2619:     "",
 2620:     "-d usbjmicron" // "-d usbjmicron,x" does not work
 2621:   },
 2622:   // Silicon Image
 2623:   { "USB: Vantec NST-400MX-SR; Silicon Image 5744",
 2624:     "0x1a4a:0x1670",
 2625:     "",
 2626:     "",
 2627:     "" // unsupported
 2628:   },
 2629:   // SunplusIT
 2630:   { "USB: ; SunplusIT",
 2631:     "0x1bcf:0x0c31",
 2632:     "",
 2633:     "",
 2634:     "-d usbsunplus"
 2635:   },
 2636:   // Hitachi/SimpleTech
 2637:   { "USB: Hitachi/SimpleTech; JMicron", // 1TB
 2638:     "0x4971:0xce17",
 2639:     "",
 2640:     "",
 2641:     "-d usbjmicron,x"
 2642:   },
 2643:   // OnSpec
 2644:   { "USB: ; OnSpec", // USB->PATA
 2645:     "0x55aa:0x2b00",
 2646:     "", // 0x0100
 2647:     "",
 2648:     "" // unsupported
 2649:   },
 2650: /*
 2651: }; // builtin_knowndrives[]
 2652:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>