diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index 9c70848548bef68654a4a8f2c5a8a382108218e1..a4ae7701413a5a97b4fc37cfed65c5b2e7cbb7c5 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.572 2006/10/09 15:25:41 sbrabec Exp $
+$Id: CHANGELOG,v 1.573 2006/10/15 23:38:32 pjwilliams Exp $
 
 The most recent version of this file is:
 http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
@@ -33,6 +33,15 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [PW] Drive database: added Western Digital Scorpio family, Fujitsu MHV
+       family, Maxtor MaXLine Pro 500 family, and Maxtor DiamondMax 11
+       family
+
+  [PW] Drive database: added missing drives from Toshiba 2.5\" HDD
+       (30-60 GB) family, Maxtor DiamondMax 10 family, Seagate Barracuda
+       7200.8 family, Fujitsu MHT family, and Maxtor DiamondMax Plus 8
+       family
+
   [SB] Added examplescripts/Example4 using powersave-notify.
 
   [SB] More temperature monitoring examples in smartd.conf with DEVICESCAN.
diff --git a/sm5/knowndrives.cpp b/sm5/knowndrives.cpp
index 6ebe5cfd6df272a77d6b28ddbbc40ea7e4e79d17..a94a883ce9137a458e8844879c39eb8e4b9a4a2d 100644
--- a/sm5/knowndrives.cpp
+++ b/sm5/knowndrives.cpp
@@ -26,7 +26,7 @@
 #include "knowndrives.h"
 #include "utility.h" // includes <regex.h>
 
-const char *knowndrives_c_cvsid="$Id: knowndrives.cpp,v 1.152 2006/10/14 16:53:27 shattered Exp $"
+const char *knowndrives_c_cvsid="$Id: knowndrives.cpp,v 1.153 2006/10/15 23:38:32 pjwilliams Exp $"
 ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID UTILITY_H_CVSID;
 
 #define MODEL_STRING_LENGTH                         40
@@ -180,25 +180,55 @@ const drivesettings knowndrives[] = {
     vendoropts_9_seconds,
     NULL, NULL
   },
-  { "Fujitsu MHG..MHK, MHT, MHU series",
-    "^FUJITSU MH[GHJKTU]2...ATU?",
+  { "Fujitsu MHG series",
+    "^FUJITSU MHG2...ATU?",
     ".*",
     NULL,
     vendoropts_9_seconds,
     NULL, NULL
   },
-  { NULL, // Fujitsu MHN2300AT
-    "^FUJITSU MHN2300AT$",
+  { "Fujitsu MHH series",
+    "^FUJITSU MHH2...ATU?",
     ".*",
     NULL,
     vendoropts_9_seconds,
     NULL, NULL
   },
-  { NULL, // Fujitsu MHR2040AT
-    "^FUJITSU MHR2040AT$",
-    ".*",    // Tested on 40BA
+  { "Fujitsu MHJ series",
+    "^FUJITSU MHJ2...ATU?",
+    ".*",
     NULL,
-    vendoropts_Fujitsu_MHR2040AT,
+    vendoropts_9_seconds,
+    NULL, NULL
+  },
+  { "Fujitsu MHK series",
+    "^FUJITSU MHK2...ATU?",
+    ".*",
+    NULL,
+    vendoropts_9_seconds,
+    NULL, NULL
+  },
+  { NULL,  // Fujitsu MHL2300AT
+    "^FUJITSU MHL2300AT$",
+    ".*",
+    "This drive's firmware has a harmless Drive Identity Structure\n"
+      "checksum error bug.",
+    vendoropts_9_seconds,
+    NULL, NULL
+  },
+  { NULL,  // MHM2200AT, MHM2150AT, MHM2100AT, MHM2060AT
+    "^FUJITSU MHM2(20|15|10|06)0AT$",
+    ".*",
+    "This drive's firmware has a harmless Drive Identity Structure\n"
+      "checksum error bug.",
+    vendoropts_9_seconds,
+    NULL, NULL
+  },
+  { "Fujitsu MHN series",
+    "^FUJITSU MHN2...AT$",
+    ".*",
+    NULL,
+    vendoropts_9_seconds,
     NULL, NULL
   },
   { NULL, // Fujitsu MHR2020AT
@@ -208,6 +238,13 @@ const drivesettings knowndrives[] = {
     vendoropts_9_seconds,
     NULL, NULL
   },
+  { NULL, // Fujitsu MHR2040AT
+    "^FUJITSU MHR2040AT$",
+    ".*",    // Tested on 40BA
+    NULL,
+    vendoropts_Fujitsu_MHR2040AT,
+    NULL, NULL
+  },
   { "Fujitsu MHSxxxxAT family",
     "^FUJITSU MHS20[6432]0AT(  .)?$",
     ".*",
@@ -215,23 +252,29 @@ const drivesettings knowndrives[] = {
     vendoropts_Fujitsu_MHS2020AT,
     NULL, NULL
   },
-  { NULL, // Fujitsu MHL2300AT, MHM2200AT, MHM2100AT, MHM2150AT, MHM2060AT
-    "^FUJITSU MH(L230|M2(20|10|15|06))0AT$",
+  { "Fujitsu MHT series",
+    "^FUJITSU MHT2...(AH|AS|AT|BH)U?",
     ".*",
-    "This drive's firmware has a harmless Drive Identity Structure\n"
-      "checksum error bug.",
+    NULL,
     vendoropts_9_seconds,
     NULL, NULL
   },
-  { "Fujitsu MPA..MPG series",
-    "^FUJITSU MP[A-G]3...A[HTEV]U?",
+  { "Fujitsu MHU series",
+    "^FUJITSU MHU2...ATU?",
+    ".*",
+    NULL,
+    vendoropts_9_seconds,
+    NULL, NULL
+  },
+  { "Fujitsu MHV series",
+    "^FUJITSU MHV2...(AH|AS|AT|BH|BS|BT)",
     ".*",
     NULL,
     vendoropts_9_seconds,
     NULL, NULL
   },
-  { NULL, // FUJITSU MHT2040AS
-    "^FUJITSU MHT2040AS$",
+  { "Fujitsu MPA..MPG series",
+    "^FUJITSU MP[A-G]3...A[HTEV]U?",
     ".*",
     NULL,
     vendoropts_9_seconds,
@@ -530,19 +573,24 @@ const drivesettings knowndrives[] = {
     NULL, NULL
   },
   { "Maxtor DiamondMax Plus 8 family",
-    "^Maxtor 6E0[234]0L0$",
+    "^Maxtor 6(E0[234]|K04)0L0$",
     ".*",
     NULL,
     vendoropts_9_minutes,
     NULL, NULL
   },
-  { "Maxtor DiamondMax 10 family",
-    "^Maxtor 6(B(30|25|20|16|12|08)0[MPRS]|L(100P|120[MP]|160M|200[MPRS]|250[RS]|300[RS]))0$",
+  { "Maxtor DiamondMax 10 family (ATA/133 and SATA/150)",
+    "^Maxtor 6(B(30|25|20|16|12|08)0[MPRS]|L(080[MLP]|(100|120)[MP]|160[MP]|200[MPRS]|250[RS]|300[RS]))0$",
     ".*",
     NULL,
     vendoropts_9_minutes,
     NULL, NULL
   },
+  { "Maxtor DiamondMax 10 family (SATA/300)",
+    "^Maxtor 6V(080E|160E|200E|250F|300F|320F)0$",
+    ".*",
+    NULL, NULL, NULL, NULL
+  },
   { "Maxtor DiamondMax Plus 9 family",
     "^Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)$",
     ".*",
@@ -550,6 +598,11 @@ const drivesettings knowndrives[] = {
     vendoropts_9_minutes,
     NULL, NULL
   },
+  { "Maxtor DiamondMax 11 family",
+    "^Maxtor 6H[45]00[FR]0$",
+    ".*",
+    NULL, NULL, NULL, NULL
+  },
   { "Maxtor MaXLine Plus II",
     "^Maxtor 7Y250[PM]0$",
     ".*",
@@ -564,13 +617,23 @@ const drivesettings knowndrives[] = {
     vendoropts_9_minutes,
     NULL, NULL
   },
-  { "Maxtor MaXLine III family",
-    "^Maxtor 7(V(25|30)0F|L(25|30)0[SR])0$",
+  { "Maxtor MaXLine III family (ATA/133 and SATA/150)",
+    "^Maxtor 7L(25|30)0[SR]0$",
     ".*",
     NULL,
     vendoropts_9_minutes,
     NULL, NULL
   },
+  { "Maxtor MaXLine III family (SATA/300)",
+    "^Maxtor 7V(25|30)0F0$",
+    ".*",
+    NULL, NULL, NULL, NULL
+  },
+  { "Maxtor MaXLine Pro 500 family",  // There is also a 7H500R0 model, but I
+    "^Maxtor 7H500F0$",               // haven't added it because I suspect
+    ".*",                             // it might need vendoropts_9_minutes
+    NULL, NULL, NULL, NULL            // and nobody has submitted a report yet
+  },
   { NULL, // HITACHI_DK14FA-20B
     "^HITACHI_DK14FA-20B$",
     ".*",
@@ -733,17 +796,17 @@ const drivesettings knowndrives[] = {
     NULL, NULL, NULL, NULL
   },
   { "Toshiba 2.5\" HDD series", // TOSHIBA MK6021GAS [Bruce -- use for testing on laptop]
-    "^TOSHIBA MK((1032|4026)GAX|6021GAS)$",
+    "^TOSHIBA MK(1032GAX|6021GAS)$",
     ".*",
     NULL, NULL, NULL, NULL
   },
-  { NULL, // TOSHIBA MK6022GAX
-    "^TOSHIBA MK6022GAX$",
+  { "Toshiba 2.5\" HDD series (30-60 GB)",
+    "^TOSHIBA MK((6034|4032)GSX|(6034|4032)GAX|(6026|4026|4019|3019)GAXB?|(6025|6021|4025|4021|4018|3021|3018)GAS|(4036|3029)GACE?|(4018|3017)GAP)$",
     ".*",
     NULL, NULL, NULL, NULL
   },
-  { NULL, // TOSHIBA MK4019GAX/MK4019GAXB
-    "^TOSHIBA MK4019GAXB?$",
+  { NULL, // TOSHIBA MK6022GAX
+    "^TOSHIBA MK6022GAX$",
     ".*",
     NULL, NULL, NULL, NULL
   },
@@ -762,18 +825,8 @@ const drivesettings knowndrives[] = {
     ".*",
     NULL, NULL, NULL, NULL
   },
-  { NULL, // TOSHIBA MK4018GAS, MK4018GAP
-    "^TOSHIBA MK4018GA[SP]$",
-    ".*",
-    NULL, NULL, NULL, NULL
-  },
-  { NULL, // TOSHIBA MK3017GAP
-    "^TOSHIBA MK3017GAP$",
-    ".*",
-    NULL, NULL, NULL, NULL
-  },
-  { NULL, // TOSHIBA MK4026GAX, MK6026GAX, MK8026GAX
-    "^TOSHIBA MK[468]026GAX$",
+  { NULL, // TOSHIBA MK8026GAX
+    "^TOSHIBA MK8026GAX$",
     ".*",
     NULL, NULL, NULL, NULL
   },
@@ -863,7 +916,7 @@ const drivesettings knowndrives[] = {
     NULL, NULL, NULL, NULL
   },
   { "Seagate Barracuda 7200.8 family",
-    "^ST3(400832|300831|250823|200826)AS?$",
+    "^ST3(400[68]32|300[68]31|250[68]23|200826)AS?$",
     ".*",
     NULL, NULL, NULL, NULL
   },
@@ -968,6 +1021,11 @@ const drivesettings knowndrives[] = {
     ".*",
     NULL, NULL, NULL, NULL
   },
+  { "Western Digital Scorpio family",
+    "^WDC WD((12|10|8|6|4)00(UE|VE|BEAS|BEVS))-.*$",
+    ".*",
+    NULL, NULL, NULL, NULL
+  },
   { NULL,  // QUANTUM BIGFOOT TS10.0A
     "^QUANTUM BIGFOOT TS10.0A$",
     ".*",