Advertisement
Guest User

Untitled

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