diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-This BSD3 license applies to all fiels except usb_dot_org_db.txt and
+This BSD3 license applies to all files except usb_dot_org_db.txt and
 usb_id_repo_db.txt.
 
 The data file usb_id_repo_db.txt is licensed under the terms of the
diff --git a/System/USB/IDDB/Base.hs b/System/USB/IDDB/Base.hs
--- a/System/USB/IDDB/Base.hs
+++ b/System/USB/IDDB/Base.hs
@@ -1,4 +1,6 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE UnicodeSyntax #-}
 
 module System.USB.IDDB.Base
     ( IDDB(..)
@@ -31,13 +33,31 @@
     )
     where
 
+-- base
+import Control.Monad ( (=<<), fmap )
+import Data.Char     ( String )
+import Data.Function ( ($) )
+import Data.Int      ( Int )
+import Data.Maybe    ( Maybe )
+import Data.Tuple    ( fst, snd )
+
+-- base-unicode-symbols
+import Prelude.Unicode ( (∘) )
+
+-- containers
 import qualified Data.IntMap as IM
 import qualified Data.Map    as MP
 
+-- containers-unicode-symbols
+import qualified Data.IntMap.Unicode as IM ( (∅) )
+import qualified Data.Map.Unicode    as MP ( (∅) )
+
 #ifdef BUILD_WITH_CABAL
 import Paths_usb_id_database ( getDataFileName )
 #else
-getDataFileName :: FilePath -> IO FilePath
+import Control.Monad ( return )
+import System.IO     ( IO, FilePath )
+getDataFileName ∷ FilePath → IO FilePath
 getDataFileName = return
 #endif
 
@@ -52,142 +72,142 @@
 type SubClassDB = IM.IntMap (String, ProtocolDB)
 type ProtocolDB = IM.IntMap String
 
--- |A database of USB identifiers. Contains both vendor identifiers
--- and product identifiers.
-data IDDB = IDDB { dbVendorNameId :: MP.Map String Int
-                 , dbVendorIdName :: IM.IntMap String
-                 , dbProducts     :: IM.IntMap ProductDB
-                 , dbClasses      :: ClassDB
-                 , dbAudioCTType  :: IM.IntMap String
-                 , dbVideoCTType  :: IM.IntMap String
-                 , dbHIDDescType  :: IM.IntMap String
-                 , dbHIDDescItem  :: IM.IntMap String
-                 , dbHIDDescCCode :: IM.IntMap String
-                 , dbHIDUsage     :: IM.IntMap (String, IM.IntMap String)
-                 , dbPhysDescBias :: IM.IntMap String
-                 , dbPhysDescItem :: IM.IntMap String
-                 , dbLanguages    :: IM.IntMap (String, IM.IntMap String)
+-- |A database of USB identifiers. Contains both vendor identifiers and product
+-- identifiers.
+data IDDB = IDDB { dbVendorNameId ∷ MP.Map String Int
+                 , dbVendorIdName ∷ IM.IntMap String
+                 , dbProducts     ∷ IM.IntMap ProductDB
+                 , dbClasses      ∷ ClassDB
+                 , dbAudioCTType  ∷ IM.IntMap String
+                 , dbVideoCTType  ∷ IM.IntMap String
+                 , dbHIDDescType  ∷ IM.IntMap String
+                 , dbHIDDescItem  ∷ IM.IntMap String
+                 , dbHIDDescCCode ∷ IM.IntMap String
+                 , dbHIDUsage     ∷ IM.IntMap (String, IM.IntMap String)
+                 , dbPhysDescBias ∷ IM.IntMap String
+                 , dbPhysDescItem ∷ IM.IntMap String
+                 , dbLanguages    ∷ IM.IntMap (String, IM.IntMap String)
                  }
 
 -- |An empty database.
-emptyDb :: IDDB
-emptyDb = IDDB { dbVendorNameId = MP.empty
-               , dbVendorIdName = IM.empty
-               , dbProducts     = IM.empty
-               , dbClasses      = IM.empty
-               , dbAudioCTType  = IM.empty
-               , dbVideoCTType  = IM.empty
-               , dbHIDDescType  = IM.empty
-               , dbHIDDescItem  = IM.empty
-               , dbHIDDescCCode = IM.empty
-               , dbHIDUsage     = IM.empty
-               , dbPhysDescBias = IM.empty
-               , dbPhysDescItem = IM.empty
-               , dbLanguages    = IM.empty
+emptyDb ∷ IDDB
+emptyDb = IDDB { dbVendorNameId = (MP.∅)
+               , dbVendorIdName = (IM.∅)
+               , dbProducts     = (IM.∅)
+               , dbClasses      = (IM.∅)
+               , dbAudioCTType  = (IM.∅)
+               , dbVideoCTType  = (IM.∅)
+               , dbHIDDescType  = (IM.∅)
+               , dbHIDDescItem  = (IM.∅)
+               , dbHIDDescCCode = (IM.∅)
+               , dbHIDUsage     = (IM.∅)
+               , dbPhysDescBias = (IM.∅)
+               , dbPhysDescItem = (IM.∅)
+               , dbLanguages    = (IM.∅)
                }
 
 -------------------------------------------------------------------------------
 -- Query database
 -------------------------------------------------------------------------------
 
-vendorName :: IDDB -- ^Database
-           -> Int  -- ^Vendor identifier
-           -> Maybe String
+vendorName ∷ IDDB -- ^Database
+           → Int  -- ^Vendor identifier
+           → Maybe String
 vendorName db vid = IM.lookup vid $ dbVendorIdName db
 
-vendorId :: IDDB   -- ^Database
-         -> String -- ^Vendor name
-         -> Maybe Int
+vendorId ∷ IDDB   -- ^Database
+         → String -- ^Vendor name
+         → Maybe Int
 vendorId db name = MP.lookup name $ dbVendorNameId db
 
-productName :: IDDB -- ^Database
-            -> Int  -- ^Vendor identifier
-            -> Int  -- ^Product identifier
-            -> Maybe String
-productName db vid pid = IM.lookup pid . snd =<< IM.lookup vid (dbProducts db)
+productName ∷ IDDB -- ^Database
+            → Int  -- ^Vendor identifier
+            → Int  -- ^Product identifier
+            → Maybe String
+productName db vid pid = IM.lookup pid ∘ snd =<< IM.lookup vid (dbProducts db)
 
-productId :: IDDB   -- ^Database
-          -> Int    -- ^Vendor identifier
-          -> String -- ^Product name
-          -> Maybe Int
-productId db vid name = MP.lookup name . fst =<< IM.lookup vid (dbProducts db)
+productId ∷ IDDB   -- ^Database
+          → Int    -- ^Vendor identifier
+          → String -- ^Product name
+          → Maybe Int
+productId db vid name = MP.lookup name ∘ fst =<< IM.lookup vid (dbProducts db)
 
-className :: IDDB -- ^Database
-          -> Int  -- ^Class identifier
-          -> Maybe String
-className db cid = fmap fst . IM.lookup cid $ dbClasses db
+className ∷ IDDB -- ^Database
+          → Int  -- ^Class identifier
+          → Maybe String
+className db cid = fmap fst ∘ IM.lookup cid $ dbClasses db
 
-subClassName :: IDDB -- ^Database
-             -> Int  -- ^Class identifier
-             -> Int  -- ^Sub class identifier
-             -> Maybe String
-subClassName db cid scid = fmap fst $   IM.lookup scid . snd
+subClassName ∷ IDDB -- ^Database
+             → Int  -- ^Class identifier
+             → Int  -- ^Sub class identifier
+             → Maybe String
+subClassName db cid scid = fmap fst $   IM.lookup scid ∘ snd
                                     =<< IM.lookup cid (dbClasses db)
 
-protocolName :: IDDB -- ^Database
-             -> Int  -- ^Class identifier
-             -> Int  -- ^Sub class identifier
-             -> Int  -- ^Protocol identifier
-             -> Maybe String
-protocolName db cid scid protId =   IM.lookup protId . snd
-                                =<< IM.lookup scid   . snd
+protocolName ∷ IDDB -- ^Database
+             → Int  -- ^Class identifier
+             → Int  -- ^Sub class identifier
+             → Int  -- ^Protocol identifier
+             → Maybe String
+protocolName db cid scid protId =   IM.lookup protId ∘ snd
+                                =<< IM.lookup scid   ∘ snd
                                 =<< IM.lookup cid (dbClasses db)
 
-audioClassTerminalTypeName :: IDDB -- ^Database
-                           -> Int  -- ^Audio class terminal type identifier
-                           -> Maybe String
+audioClassTerminalTypeName ∷ IDDB -- ^Database
+                           → Int  -- ^Audio class terminal type identifier
+                           → Maybe String
 audioClassTerminalTypeName db actid = IM.lookup actid (dbAudioCTType db)
 
-videoClassTerminalTypeName :: IDDB -- ^Database
-                           -> Int  -- ^Video class terminal type identifier
-                           -> Maybe String
+videoClassTerminalTypeName ∷ IDDB -- ^Database
+                           → Int  -- ^Video class terminal type identifier
+                           → Maybe String
 videoClassTerminalTypeName db actid = IM.lookup actid (dbVideoCTType db)
 
-hidDescTypeName :: IDDB -- ^Database
-                -> Int  -- ^HID descriptor type identifier
-                -> Maybe String
+hidDescTypeName ∷ IDDB -- ^Database
+                → Int  -- ^HID descriptor type identifier
+                → Maybe String
 hidDescTypeName db hidid = IM.lookup hidid (dbHIDDescType db)
 
-hidDescItemName :: IDDB -- ^Database
-                -> Int  -- ^HID descriptor item identifier
-                -> Maybe String
+hidDescItemName ∷ IDDB -- ^Database
+                → Int  -- ^HID descriptor item identifier
+                → Maybe String
 hidDescItemName db hidid = IM.lookup hidid (dbHIDDescItem db)
 
-hidDescCountryCodeName :: IDDB -- ^Database
-                       -> Int  -- ^HID descriptor country code identifier
-                       -> Maybe String
+hidDescCountryCodeName ∷ IDDB -- ^Database
+                       → Int  -- ^HID descriptor country code identifier
+                       → Maybe String
 hidDescCountryCodeName db hidid = IM.lookup hidid (dbHIDDescCCode db)
 
-hidUsagePageName :: IDDB -- ^Database
-                 -> Int  -- ^HID usage page identifier
-                 -> Maybe String
+hidUsagePageName ∷ IDDB -- ^Database
+                 → Int  -- ^HID usage page identifier
+                 → Maybe String
 hidUsagePageName db upid = fmap fst $ IM.lookup upid (dbHIDUsage db)
 
-hidUsageName :: IDDB -- ^Database
-             -> Int  -- ^HID usage page identifier
-             -> Int  -- ^HID usage identifier
-             -> Maybe String
-hidUsageName db upid uid =   IM.lookup uid . snd
+hidUsageName ∷ IDDB -- ^Database
+             → Int  -- ^HID usage page identifier
+             → Int  -- ^HID usage identifier
+             → Maybe String
+hidUsageName db upid uid =   IM.lookup uid ∘ snd
                          =<< IM.lookup upid (dbHIDUsage db)
 
-physicalDescBiasName :: IDDB -- ^Database
-                     -> Int  -- ^Physical descriptor bias identifier
-                     -> Maybe String
+physicalDescBiasName ∷ IDDB -- ^Database
+                     → Int  -- ^Physical descriptor bias identifier
+                     → Maybe String
 physicalDescBiasName db phyid = IM.lookup phyid (dbPhysDescBias db)
 
-physicalDescItemName :: IDDB -- ^Database
-                     -> Int  -- ^Physical descriptor item identifier
-                     -> Maybe String
+physicalDescItemName ∷ IDDB -- ^Database
+                     → Int  -- ^Physical descriptor item identifier
+                     → Maybe String
 physicalDescItemName db phyid = IM.lookup phyid (dbPhysDescItem db)
 
-langName :: IDDB -- ^Database
-         -> Int  -- ^Primary language identifier
-         -> Maybe String
-langName db lid = fmap fst . IM.lookup lid $ dbLanguages db
+langName ∷ IDDB -- ^Database
+         → Int  -- ^Primary language identifier
+         → Maybe String
+langName db lid = fmap fst ∘ IM.lookup lid $ dbLanguages db
 
-subLangName :: IDDB -- ^Database
-            -> Int  -- ^Primary language identifier
-            -> Int  -- ^Sub language identifier
-            -> Maybe String
-subLangName db lid slid =   IM.lookup slid . snd
+subLangName ∷ IDDB -- ^Database
+            → Int  -- ^Primary language identifier
+            → Int  -- ^Sub language identifier
+            → Maybe String
+subLangName db lid slid =   IM.lookup slid ∘ snd
                         =<< IM.lookup lid (dbLanguages db)
diff --git a/System/USB/IDDB/LinuxUsbIdRepo.hs b/System/USB/IDDB/LinuxUsbIdRepo.hs
--- a/System/USB/IDDB/LinuxUsbIdRepo.hs
+++ b/System/USB/IDDB/LinuxUsbIdRepo.hs
@@ -1,63 +1,92 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE UnicodeSyntax #-}
+
 {-| Functions to acquire a database from <http://linux-usb.org>. -}
 
 module System.USB.IDDB.LinuxUsbIdRepo
-    ( parseDb
+    ( -- * Parsing
+      parseDb
+      -- * Acquiring a database
     , staticDb
     , fromFile
     , dbURL
     ) where
 
+
+-------------------------------------------------------------------------------
+-- Imports
+-------------------------------------------------------------------------------
+
+-- base
 import Control.Arrow        ( second )
-import Control.Monad        ( fmap )
-import Data.Char            ( isSpace )
-import Data.List            ( lines, unlines, isPrefixOf )
-import Data.Maybe           ( fromJust )
+import Control.Monad        ( (>>=), (>>), fail, fmap, return )
+import Data.Bool            ( Bool, not )
+import Data.Char            ( String, isSpace )
+import Data.Function        ( ($), id )
+import Data.Int             ( Int )
+import Data.List            ( all, filter, map, isPrefixOf, lines, unlines )
+import Data.Maybe           ( Maybe, fromJust )
+import Data.Tuple           ( fst )
 import Numeric              ( readHex )
+import Prelude              ( Num, error, fromInteger )
+import System.IO            ( IO, FilePath, readFile )
+
+-- base-unicode-symbols
+import Prelude.Unicode      ( (∘), (∧) )
+
+-- containers
+import qualified Data.IntMap as IM
+import qualified Data.Map    as MP
+
+-- parsimony
 import Parsimony
 import Parsimony.Char       ( char, string, hexDigit, tab )
-import System.IO            ( FilePath, readFile )
+
+-- usb-id-database
 import System.USB.IDDB.Base
 import System.USB.IDDB.Misc ( eitherMaybe, swap, restOfLine )
 
-import qualified Data.IntMap as IM
-import qualified Data.Map    as MP
 
+-------------------------------------------------------------------------------
+-- Parsing
+-------------------------------------------------------------------------------
+
 -- |Construct a database from a string in the format used by
 -- <http://linux-usb.org>.
-parseDb :: String -> Maybe IDDB
-parseDb = eitherMaybe . parse dbParser . stripBoring
+parseDb ∷ String → Maybe IDDB
+parseDb = eitherMaybe ∘ parse dbParser ∘ stripBoring
 
 -- |Remove comments and empty lines.
-stripBoring :: String -> String
+stripBoring ∷ String → String
 stripBoring = unlines
-            . filter (\xs -> not (isComment xs) && not (isEmpty xs))
-            . lines
+            ∘ filter (\xs → not (isComment xs) ∧ not (isEmpty xs))
+            ∘ lines
 
-isComment :: String -> Bool
+isComment ∷ String → Bool
 isComment = isPrefixOf "#"
 
-isEmpty :: String -> Bool
+isEmpty ∷ String → Bool
 isEmpty = all isSpace
 
-dbParser :: Parser String IDDB
-dbParser = do (vendorNameId, vendorIdName, productDB) <- vendorSection
-              classDB <- genericSection (label "C") 2 id
-                         . genericSection tab 2 id
-                           . genericSection (count 2 tab) 2 fst
+dbParser ∷ Parser String IDDB
+dbParser = do (vendorNameId, vendorIdName, productDB) ← vendorSection
+              classDB ← genericSection (label "C") 2 id
+                         ∘ genericSection tab 2 id
+                           ∘ genericSection (count 2 tab) 2 fst
                              $ return ()
-              at      <- simpleSection "AT" 4
-              hid     <- simpleSection "HID" 2
-              r       <- simpleSection "R" 2
-              bias    <- simpleSection "BIAS" 1
-              phy     <- simpleSection "PHY" 2
-              hut     <- genericSection (label "HUT") 2 id
-                         . genericSection tab 3 fst
+              at      ← simpleSection "AT" 4
+              hid     ← simpleSection "HID" 2
+              r       ← simpleSection "R" 2
+              bias    ← simpleSection "BIAS" 1
+              phy     ← simpleSection "PHY" 2
+              hut     ← genericSection (label "HUT") 2 id
+                         ∘ genericSection tab 3 fst
                            $ return ()
-              l       <- genericSection (label "L") 4 id
-                         . genericSection tab 2 fst
+              l       ← genericSection (label "L") 4 id
+                         ∘ genericSection tab 2 fst
                            $ return ()
-              hcc     <- simpleSection "HCC" 2
-              vt      <- simpleSection "VT" 4
+              hcc     ← simpleSection "HCC" 2
+              vt      ← simpleSection "VT" 4
 
               return IDDB { dbVendorNameId = vendorNameId
                           , dbVendorIdName = vendorIdName
@@ -74,58 +103,58 @@
                           , dbLanguages    = l
                           }
     where
-      hexId :: Num n => Int -> Parser String n
-      hexId d = do ds <- count d hexDigit
+      hexId ∷ Num n ⇒ Int → Parser String n
+      hexId d = do ds ← count d hexDigit
                    case readHex ds of
-                     [(n, _)]  -> return n
-                     _         -> error "impossible"
+                     [(n, _)]  → return n
+                     _         → error "impossible"
 
-      label :: String -> Parser String ()
+      label ∷ String → Parser String ()
       label n = string n >> char ' ' >> return ()
 
       -- Top level section without subsections.
-      simpleSection :: String -> Int -> Parser String (IM.IntMap String)
+      simpleSection ∷ String → Int → Parser String (IM.IntMap String)
       simpleSection sym idSize = genericSection (string sym >> char ' ')
                                                 idSize fst $ return ()
 
-      genericSection :: (Parser String p)
-                     -> Int
-                     -> ((String, s) -> r)
-                     -> Parser String s
-                     -> Parser String (IM.IntMap r)
+      genericSection ∷ (Parser String p)
+                     → Int
+                     → ((String, s) → r)
+                     → Parser String s
+                     → Parser String (IM.IntMap r)
       genericSection prefix idSize convert =
-          fmap (IM.fromList . map (second convert))
-          . many . try . genericItem prefix idSize
+          fmap (IM.fromList ∘ map (second convert))
+          ∘ many ∘ try ∘ genericItem prefix idSize
 
-      genericItem :: (Parser String p)
-                  -> Int
-                  -> Parser String s
-                  -> Parser String (Int, (String, s))
+      genericItem ∷ (Parser String p)
+                  → Int
+                  → Parser String s
+                  → Parser String (Int, (String, s))
       genericItem prefix idSize sub = do
-          _        <- prefix
-          itemId   <- hexId idSize
-          _        <- count 2 $ char ' '
-          itemName <- restOfLine
-          s        <- sub
+          _        ← prefix
+          itemId   ← hexId idSize
+          _        ← count 2 $ char ' '
+          itemName ← restOfLine
+          s        ← sub
           return (itemId, (itemName, s))
 
-      vendorSection :: Parser String ( MP.Map String Int
+      vendorSection ∷ Parser String ( MP.Map String Int
                                      , IM.IntMap String
                                      , IM.IntMap ProductDB
                                      )
       vendorSection = do
-        xs <- many (try (vendorParser <?> "vendor"))
-        return ( MP.fromList [(name, vid) | (vid, name, _)   <- xs]
-               , IM.fromList [(vid, name) | (vid, name, _)   <- xs]
-               , IM.fromList [(vid, pdb)  | (vid, _,    pdb) <- xs]
+        xs ← many (try (vendorParser <?> "vendor"))
+        return ( MP.fromList [(name, vid) | (vid, name, _)   ← xs]
+               , IM.fromList [(vid, name) | (vid, name, _)   ← xs]
+               , IM.fromList [(vid, pdb)  | (vid, _,    pdb) ← xs]
                )
 
-      vendorParser :: Parser String (Int, String, ProductDB)
+      vendorParser ∷ Parser String (Int, String, ProductDB)
       vendorParser = do
-        vid      <- hexId 4
-        _        <- count 2 $ char ' '
-        name     <- restOfLine
-        products <- many (productParser <?> "product")
+        vid      ← hexId 4
+        _        ← count 2 $ char ' '
+        name     ← restOfLine
+        products ← many (productParser <?> "product")
         return ( vid
                , name
                , ( MP.fromList $ fmap swap products
@@ -133,29 +162,34 @@
                  )
                )
 
-      productParser :: Parser String (Int, String)
-      productParser = do _    <- tab
-                         pid  <- hexId 4
-                         _    <- count 2 $ char ' '
-                         name <- restOfLine
+      productParser ∷ Parser String (Int, String)
+      productParser = do _    ← tab
+                         pid  ← hexId 4
+                         _    ← count 2 $ char ' '
+                         name ← restOfLine
                          return (pid, name)
 
+
+-------------------------------------------------------------------------------
+-- Acquiring a database
+-------------------------------------------------------------------------------
+
 -- |Load a database from file. If the file can not be read for some reason an
 -- error will be thrown.
-fromFile :: FilePath -> IO (Maybe IDDB)
-fromFile = fmap parseDb . readFile
+fromFile ∷ FilePath → IO (Maybe IDDB)
+fromFile = fmap parseDb ∘ readFile
 
 -- |Load a database from a snapshot of the linux-usb.org database which is
---  supplied with the package.
-staticDb :: IO IDDB
-staticDb = getDataFileName staticDbPath >>= fmap fromJust . fromFile
+-- supplied with the package.
+staticDb ∷ IO IDDB
+staticDb = getDataFileName staticDbPath >>= fmap fromJust ∘ fromFile
     where
-      staticDbPath :: FilePath
+      staticDbPath ∷ FilePath
       staticDbPath = "usb_id_repo_db.txt"
 
 -- |<http://linux-usb.org/usb.ids>
 --
 -- The source of the database. Download this file for the most up-to-date
 -- version.
-dbURL :: String
+dbURL ∷ String
 dbURL = "http://linux-usb.org/usb.ids"
diff --git a/System/USB/IDDB/Misc.hs b/System/USB/IDDB/Misc.hs
--- a/System/USB/IDDB/Misc.hs
+++ b/System/USB/IDDB/Misc.hs
@@ -1,19 +1,30 @@
+{-# LANGUAGE UnicodeSyntax #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+
 module System.USB.IDDB.Misc
     ( eitherMaybe
     , swap
     , restOfLine
     ) where
 
+-- base
+import Data.Char     ( String )
+import Data.Either   ( Either, either )
+import Data.Function ( ($), const, flip )
+import Data.Maybe    ( Maybe(..) )
+import Data.Tuple    ( uncurry )
+
+-- parsimony
 import Parsimony        (Parser, manyTill)
 import Parsimony.Char   (anyChar, newline)
 
 
-eitherMaybe :: Either e a -> Maybe a
+eitherMaybe ∷ Either r α → Maybe α
 eitherMaybe = either (const Nothing) Just
 
-swap :: (a, b) -> (b, a)
+swap ∷ (α, β) → (β, α)
 swap = uncurry $ flip (,)
 
-restOfLine :: Parser String String
+restOfLine ∷ Parser String String
 restOfLine = manyTill anyChar newline
 
diff --git a/System/USB/IDDB/UsbDotOrg.hs b/System/USB/IDDB/UsbDotOrg.hs
--- a/System/USB/IDDB/UsbDotOrg.hs
+++ b/System/USB/IDDB/UsbDotOrg.hs
@@ -1,71 +1,104 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE UnicodeSyntax #-}
+
 {-| Functions to acquire a database from <http://www.usb.org>. -}
 
 module System.USB.IDDB.UsbDotOrg
-    ( parseDb
+    ( -- * Parsing
+      parseDb
+      -- * Acquiring a database
     , staticDb
     , fromFile
     , dbURL
     ) where
 
-import Control.Monad        ( fmap )
-import Data.Maybe           ( fromJust )
+
+-------------------------------------------------------------------------------
+-- Imports
+-------------------------------------------------------------------------------
+
+-- base
+import Control.Monad        ( (>>=), (>>), fail, fmap, return )
+import Data.Char            ( String )
+import Data.Function        ( ($) )
+import Data.Int             ( Int )
+import Data.Maybe           ( Maybe, fromJust )
+import System.IO            ( IO, FilePath, readFile )
+import Text.Read            ( read )
+
+-- base-unicode-symbols
+import Prelude.Unicode      ( (∘) )
+
+-- containers
+import qualified Data.IntMap as IM ( fromList )
+import qualified Data.Map    as MP ( fromList )
+
+-- containers-unicode-symbols
+import qualified Data.IntMap.Unicode as IM ( (∅) )
+
+-- parsimony
 import Parsimony
 import Parsimony.Char       ( char, digit )
-import System.IO            ( FilePath, readFile )
-import System.USB.IDDB.Base ( IDDB(..)
-                            , getDataFileName
-                            )
+
+-- usb-id-database
+import System.USB.IDDB.Base ( IDDB(..), getDataFileName )
 import System.USB.IDDB.Misc ( eitherMaybe, swap, restOfLine )
 
-import qualified Data.IntMap as IM ( fromList, empty )
-import qualified Data.Map    as MP ( fromList )
 
+-------------------------------------------------------------------------------
+-- Parsing
+-------------------------------------------------------------------------------
 
 -- |Construct a database from a string in the format used by usb.org.
-parseDb :: String -> Maybe IDDB
-parseDb = eitherMaybe . parse staticDbParser
+parseDb ∷ String → Maybe IDDB
+parseDb = eitherMaybe ∘ parse staticDbParser
 
-staticDbParser :: Parser String IDDB
+staticDbParser ∷ Parser String IDDB
 staticDbParser = do
-  vendors <- many vendorParser
+  vendors ← many vendorParser
   return IDDB { dbVendorNameId = MP.fromList $ fmap swap vendors
               , dbVendorIdName = IM.fromList vendors
-              , dbProducts     = IM.empty
-              , dbClasses      = IM.empty
-              , dbAudioCTType  = IM.empty
-              , dbVideoCTType  = IM.empty
-              , dbHIDDescType  = IM.empty
-              , dbHIDDescItem  = IM.empty
-              , dbHIDDescCCode = IM.empty
-              , dbHIDUsage     = IM.empty
-              , dbPhysDescBias = IM.empty
-              , dbPhysDescItem = IM.empty
-              , dbLanguages    = IM.empty
+              , dbProducts     = (IM.∅)
+              , dbClasses      = (IM.∅)
+              , dbAudioCTType  = (IM.∅)
+              , dbVideoCTType  = (IM.∅)
+              , dbHIDDescType  = (IM.∅)
+              , dbHIDDescItem  = (IM.∅)
+              , dbHIDDescCCode = (IM.∅)
+              , dbHIDUsage     = (IM.∅)
+              , dbPhysDescBias = (IM.∅)
+              , dbPhysDescItem = (IM.∅)
+              , dbLanguages    = (IM.∅)
               }
     where
-      vendorParser :: Parser String (Int, String)
-      vendorParser = do vid  <- many1 digit
+      vendorParser ∷ Parser String (Int, String)
+      vendorParser = do vid  ← many1 digit
                         char '|'
-                        name <- restOfLine
+                        name ← restOfLine
                         return (read vid, name)
 
+
+-------------------------------------------------------------------------------
+-- Acquiring a database
+-------------------------------------------------------------------------------
+
 -- |Load a vendor database from file. If the file can not be read for
 --  some reason an error will be thrown.
-fromFile :: FilePath -> IO (Maybe IDDB)
-fromFile = fmap parseDb . readFile
+fromFile ∷ FilePath → IO (Maybe IDDB)
+fromFile = fmap parseDb ∘ readFile
 
-staticDbPath :: FilePath
+staticDbPath ∷ FilePath
 staticDbPath = "usb_dot_org_db.txt"
 
 -- |Load a database from a snapshot of the usb.org database which is
 --  supplied with the package.
-staticDb :: IO IDDB
-staticDb = getDataFileName staticDbPath >>= fmap fromJust . fromFile
+staticDb ∷ IO IDDB
+staticDb = getDataFileName staticDbPath >>= fmap fromJust ∘ fromFile
 
 -- |<http://www.usb.org/developers/tools/comp_dump>
 --
 -- The source of the database. Download this file for the most up-to-date
 -- version.
-dbURL :: String
+dbURL ∷ String
 dbURL = "http://www.usb.org/developers/tools/comp_dump"
 
diff --git a/usb-id-database.cabal b/usb-id-database.cabal
--- a/usb-id-database.cabal
+++ b/usb-id-database.cabal
@@ -1,5 +1,5 @@
 name:          usb-id-database
-version:       0.4
+version:       0.4.0.1
 cabal-version: >=1.6
 build-type:    Simple
 stability:     provisional
@@ -27,11 +27,17 @@
   description: Enable profiling for the example program
   default:     False
 
+source-repository head
+  type:     darcs
+  location: http://code.haskell.org/~roelvandijk/code/usb-id-database
+
 library
-  build-depends: base        >= 3 && < 4.2
-               , bytestring  == 0.9.*
-               , containers  == 0.2.*
-               , parsimony   >= 1 && < 1.1
+  build-depends: base                       >= 3.0.3.1 && < 4.3
+               , base-unicode-symbols       == 0.1.*
+               , bytestring                 == 0.9.*
+               , containers                 <  0.4
+               , containers-unicode-symbols == 0.1.*
+               , parsimony                  >= 1 && < 1.1
   ghc-options: -Wall
   cpp-options: -DBUILD_WITH_CABAL
   exposed-modules: System.USB.IDDB
diff --git a/usb_dot_org_db.txt b/usb_dot_org_db.txt
--- a/usb_dot_org_db.txt
+++ b/usb_dot_org_db.txt
@@ -8,11 +8,12 @@
 1027|Future Technology Devices International Limited
 1032|Quanta Computer Inc.
 1033|NEC Corporation
-1034|Kodak Co.
+1034|Eastman Kodak Company
 1035|Weltrend Semiconductor
 1037|VIA Technologies, Inc.
 1038|MCCI
 1041|BUFFALO INC.
+1044|Giga-Byte Technology Co., Ltd.
 1046|Nuvoton Technology Corp.
 1054|Creative Labs
 1057|Nokia Corporation
@@ -35,12 +36,11 @@
 1131|American Megatrends
 1133|Logitech Inc.
 1134|Behavior Tech Computer Corporation
-1137|Philips Consumer Lifestyle BV
+1140|Sanyo Electric Co. Ltd.
 1146|Semtech Corporation
 1149|Kensington
 1150|LSI Corporation
 1151|Plantronics, Inc.
-1154|Kyocera Corporation
 1155|STMicroelectronics
 1161|Foxconn / Hon Hai
 1165|ITE Tech Inc.
@@ -78,7 +78,6 @@
 1281|Fujikura/DDK
 1287|Hosiden Corporation
 1293|Belkin Corporation
-1300|FCI Electronics
 1302|Longwell Electronics/Longwell Company
 1305|Star Micronics Co., LTD
 1309|American Power Conversion
@@ -88,7 +87,6 @@
 1321|Aladdin Knowledge Systems
 1324|Canon Development Americas
 1329|Wacom Technology Corp.
-1335|Inventec Corporation
 1343|Synopsys, Inc.
 1356|Sony Corporation
 1360|Fuji Xerox Co., Ltd.
@@ -105,6 +103,7 @@
 1412|RATOC System Inc.
 1423|Alcor Micro, Corp.
 1424|OMRON Corporation
+1439|LaCie
 1449|OmniVision Technologies, Inc.
 1452|Apple
 1453|Y.C. Cable U.S.A., Inc
@@ -154,6 +153,7 @@
 1683|Hagiwara Sys-Com Co., Ltd.
 1689|Tektronix, Inc.
 1699|Saitek PLC
+1700|Xiamen Doowell Electron Co., Ltd.
 1709|Greatland Electronics Taiwan Ltd.
 1710|Testronic Labs
 1720|Pixela Corporation
@@ -169,6 +169,7 @@
 1816|Imation Corp.
 1846|Lorom Industrial Co., Ltd.
 1892|Cyber Power Systems, Inc.
+1894|Jess-Link Products Co., Ltd. (JPC)
 1899|OMNIKEY
 1911|Comda Enterprise Corporation
 1913|Fairchild Semiconductor
@@ -180,7 +181,7 @@
 1975|TIME Interconnect Ltd.
 1988|Datafab Systems Inc.
 1994|AVerMedia Technologies, Inc.
-1996|Carry Computer Eng., Co., Ltd.
+1996|Carry Technology Co., Ltd.
 1999|Casio Computer Co., Ltd.
 2001|D-Link Corp.
 2010|Arasan Chip Systems Inc.
@@ -189,7 +190,6 @@
 2039|Century Corporation
 2041|Dotop Technology, Inc.
 2058|Evermuch Technology Co., Ltd.
-2096|Palm Inc.
 2101|Action Star Enterprise Co., Ltd.
 2112|Argosy Research Inc.
 2159|MEC IMEX INC/HPT
@@ -201,7 +201,6 @@
 2247|TAI TWUN ENTERPRISE CO., LTD.
 2276|Pioneer Corporation
 2278|Gemalto SA
-2297|Wipro Technologies
 2310|FARADAY Technology Corp.
 2313|Audio-Technica Corp.
 2316|Silicon Motion, Inc. - Taiwan
@@ -216,8 +215,11 @@
 2390|BSquare Corporation
 2391|Agilent Technologies, Inc.
 2395|Medialogic Corporation
+2397|Polycom, Inc.
+2436|Apricorn
 2438|Panasonic Electric Works Co., Ltd.
 2468|Contech Research, Inc.
+2472|Lin Shiung Enterprise Co., Ltd.
 2475|Japan Cash Machine Co., Ltd.
 2497|ARRIS International
 2498|NISCA Corporation
@@ -236,6 +238,7 @@
 2636|COMPUTEX Co., Ltd.
 2640|Mimaki Engineering Co., Ltd.
 2652|Broadcom Corp.
+2667|Green House Co., Ltd.
 2685|Intertek NSTL
 2689|CHESEN ELECTRONICS CORP.
 2702|Japan Aviation Electronics Industry Ltd. (JAE)
@@ -253,16 +256,17 @@
 2856|Kenwood Corporation
 2876|Olivetti S.p.A
 2894|Musical Electronics Ltd.
+2900|Sinbon Electronics Co., Ltd.
+2903|Hanwang Technology Co. Ltd.
 2922|Maxim Integrated Products
 2965|ASIX Electronics Corporation
 2967|O2 Micro, Inc.
 2996|HTC Corporation
 3010|Seagate Technology LLC
-3034|Realtek Semiconductor Corp.
 3035|Ericsson AB
 3044|Elka International Ltd.
+3046|Wonderful Photoelectricity (DongGuan), Co., Ltd.
 3054|LTK International Limited
-3064|Fujitsu Technology Solutions GmbH
 3078|Hasbro, Inc.
 3100|Hang Zhou Silan Microelectronics Co. Ltd
 3108|Taiyo Yuden Co., Ltd.
@@ -293,14 +297,13 @@
 3409|Volex (Asia) Pte Ltd
 3413|ASKA Technologies Inc.
 3425|MEILU ELECTRONICS (SHENZHEN) CO., LTD.
-3426|Darfon Electronics Corp.
 3452|Taiwan Line Tek Electronic Co., Ltd.
 3463|Dolby Laboratories Inc.
 3468|C-MEDIA ELECTRONICS INC.
 3471|Pitney Bowes
 3484|Chee Chen Hi-Technology Co., Ltd.
 3495|IOGEAR, Inc.
-3524|Macpower & Tytech Technology Co., LTD.
+3524|Macpower & Tytech Technology Co., LTD
 3525|SDK Co, Ltd.
 3537|Contek Electronics Co., Ltd.
 3540|Custom Engineering SPA
@@ -324,12 +327,14 @@
 3779|AXELL CO., LTD.
 3782|InnoVISION Multimedia Limited
 3797|ChronoLogic Pty. Ltd.
+3812|Sunrich Technology (H.K.) Ltd.
 3848|CSL Wire & Plug (Shen Zhen) Company
 38672|Moschip Semiconductor Technology
 3868|Funai Electric Co., Ltd.
 3886|Good Man Corporation
 3890|YFC-BonEagle Electric Co., Ltd.
 3896|Nien-Yi Industrial Corp.
+3916|WORLDWIDE CABLE OPTO CORP.
 3922|WING KEI ELECTRICAL CO., LTD.
 3923|Taiyo Cable (Dongguan) Co. Ltd.
 3924|Kawai Musical Instruments Mfg. Co., Ltd.
@@ -342,7 +347,9 @@
 4026|SAN SHING ELECTRONICS CO., LTD..
 4027|Bitwise Systems, Inc.
 4046|Sony Ericsson Mobile Communications AB
+4069|Suntecc Inc.
 4087|CHI SHING COMPUTER ACCESSORIES CO., LTD.
+4100|LG Electronics Inc.
 4134|Newly Corporation
 4168|Targus Group International
 4172|AMCO TEC International Inc.
@@ -357,10 +364,10 @@
 4238|Lotes Co., Ltd.
 4266|Cables To Go
 4270|Princeton Technology Corp.
+4280|DIBCOM
 4292|Silicon Laboratories, Inc.
 4301|Kycon Inc.
 4310|Actions Semiconductor Co., Ltd.
-4362|Moxa Inc.
 4370|YM ELECTRIC CO., LTD.
 4371|Medion AG
 4381|Centon Electronics
@@ -387,11 +394,10 @@
 4779|Honey Bee Electronic International Ltd.
 4792|Zhejiang Xinya Electronic Technology Co., Ltd.
 4818|LINE TECH INDUSTRIAL CO., LTD.
-4823|Better Holdings (HK) Limited
 4907|Konica Minolta Holdings, Inc.
 4936|Katsuragawa Electric Co., Ltd.
 4989|Pericom Semiconductor Corp.
-5054|Ricoh Printing Systems, Ltd.
+5014|Silicon Storage Technology, Inc.
 5066|JyeTai Precision Industrial Co., Ltd.
 5071|Wisair Ltd.
 5073|A-Max Technology Macao Commercial Offshore Co. Ltd.
@@ -410,13 +416,12 @@
 5169|Pertech Resources, Inc.
 5173|Wistron NeWeb Corp.
 5174|Denali Software, Inc.
-5206|Extending Wire & Cable Co., Ltd.
+5180|Altek Corporation
 5217|Staccato Communications
 5242|Formosa21 Inc.
 5246|UPEK Inc.
 5247|Hama GmbH & Co., KG
 5255|DSP Group, Ltd.
-5262|EVATRONIX SA
 5271|Panstrong Company Ltd.
 5293|CTK Corporation
 5295|ATP Electronics Inc.
@@ -441,11 +446,11 @@
 5546|Gearway Electronics (Dong Guan) Co., Ltd.
 5577|D-Box Technologies
 5589|Coulomb Electronics Ltd.
+5596|Hynix Semiconductor Inc.
 5600|Seong Ji Industrial Co., Ltd.
 5612|Belcarra Technologies Corp.
 5645|Samtec
 5650|Soft DB Inc.
-5679|WiQuest Communications, Inc.
 5694|HongLin Electronics Co., Ltd.
 5728|Creatix Polymedia GmbH
 5753|Total Phase
@@ -455,37 +460,34 @@
 5804|Dongguan ChingLung Wire & Cable Co., Ltd.
 5836|silex technology, Inc.
 5843|Frontline Test Equipment, Inc.
-5855|King Billion Electronics Co., Ltd.
 5877|Futurelogic Inc.
 5942|CANON IMAGING SYSTEMS INC.
 5960|MQP Electronics Ltd.
 5964|ASMedia Technology Inc.
 5977|LucidPort Technology, Inc.
+5993|ARTEK Inc.
+6001|Shenzhen Alex Connector Co., Ltd.
 6002|System Level Solutions, Inc.
 60186|Empia Technology, Inc.
+6020|TopSeed Technology Corp.
 6024|ShenZhen Litkconn Technology Co., Ltd.
 6038|Printrex, Inc.
 6053|Advanced Connection Technology Inc.
-6078|Dongguan Yangming Precision of Plastic Metal Elec.Co.Lt
 6083|SGB Group Ltd.
 6095|Hip Hing Cable & Plug Mfy. Ltd.
 6121|DisplayLink (UK) Ltd.
 6127|Lenovo
 6133|K.K. Rocky
-6134|Unicomp, Inc
 6193|Gwo Jinn Industries Co., Ltd.
-6228|Memory Devices Ltd.
 6242|Teridian Semiconductor Corp.
-6257|Aveo Technology Corp.
-6271|Siano Mobile Silicon Ltd.
 6292|SyntheSys Research, Inc.
 6296|Summit Microelectronics
-6326|Mikkon Technology Limited
 6357|Starline International Group Limited
 6371|Fitilink Integrated Technology, Inc.
 6397|FineArch Inc.
 6420|Alco Digital Devices Limited
 6421|Nordic Semiconductor ASA
+6434|Power 7 Technologies Corp.
 6448|Shenzhen Xianhe Technology Co., Ltd.
 6449|Ningbo Broad Telecommunication Co., Ltd.
 6473|Lab126
@@ -495,6 +497,7 @@
 6537|Nuconn Technology Corp.
 6541|Fairchild Imaging
 6556|Richnex Microelectronics Corporation
+6557|Dexxon
 6607|Parrot SA
 6632|Industrial Technology Research Institute
 6639|Pak Heng Technology (Shenzhen) Co., Ltd.
@@ -503,11 +506,9 @@
 6710|Biwin Technology Ltd.
 6720|TERMINUS TECHNOLOGY INC.
 6730|Silicon Image
-6753|Abbott Diabetes Care
 6766|Global Unichip Corp.
 6767|Sagem Orga GmbH
 6772|Oberthur Technologies
-6777|Bayer Health Care LLC
 6779|Lumberg Connect  GmbH
 6795|SGS Taiwan Ltd.
 6808|Leica Camera AG
@@ -515,8 +516,7 @@
 6822|eFortune Technology Corp.
 6830|Johnson Component & Equipments Co., Ltd.
 6859|Salcomp Plc
-6865|Desay Wire Co., Ltd.
-6885|Jianduan Technology (Shenzhen) Co., Ltd
+6865|Desan Wire Co., Ltd.
 6893|High Top Precision Electronic Co., Ltd.
 6894|Dongguan Chang'an Jinxia Rex Electronics Factory
 6895|Octekconn Incorporation
@@ -551,24 +551,22 @@
 7329|Symwave, Inc.
 7347|Aces Electronic Co., Ltd.
 7348|OPEX CORPORATION
+7358|Texas Instruments - Stellaris
 7359|FORTAT SKYMARK INDUSTRIAL COMPANY
-7370|NextWave Broadband Inc.
 7390|Telecommunications Technology Association (TTA)
 7391|WonTen Technology Co., Ltd.
 7393|Amphenol KAE
-7421|Flextronics Digital Design Japan, LTD.
 7432|NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.
 7434|Johnson Controls, Inc. The Automotive Business Unit
-7456|SAMTACK INC.
 7465|Horng Tong Enterprise Co., Ltd.
 7490|DRAGON JOY LIMITED
 7491|Montage Technology, Inc.
-7493|Qisda Corporation
 7496|Shenzhen XinYonghui Precise Technology Co., Ltd.
 7497|SHENZHEN LINKCONN ELECTRONICS CO., LTD.
 7501|Pegatron Corporation
 7502|INPHI CORPORATION
 7516|Fresco Logic Inc.
+7517|QIXING INDUSTRIAL (HK) CO.
 7520|ASLINK (H.K.) PRECISION CO., LTD.
 7529|Walta Electronic Co., Ltd.
 7531|The Linux Foundation
@@ -600,6 +598,7 @@
 7758|Etron Technology, Inc.
 7789|WAN SHIH ELECTRONIC (H.K.) CO., LTD.
 7795|COMLINK ELECTRONICS CO., LTD.
+7817|Vtion Information Technology (Fujian) Co., Ltd.
 7843|Dragonstate Technology Co., Ltd.
 7846|novero GmbH
 7863|WIN WIN PRECISION INDUSTRIAL CO., LTD.
@@ -608,23 +607,18 @@
 7911|EPCOS
 7912|ONDA COMMUNICATION S.p.a.
 7913|PC PARTNER LIMITED
+7954|Photometrics
 7958|Olidata SpA
-7977|Analogix Semiconductor, Inc.
+7968|Shenzhen Tenwei Electronics Co., Ltd.
 7985|SASKEN COMMUNICATION TECH LTD.
 7989|Amphenol Shouh Min Industry
 7996|Chang Yang Electronics Company Ltd.
-8002|ID2P TECHNOLOGIES, INC.
-8003|RAPID BRIDGE LLC
 8009|ITT Corporation
-8022|MUT
 8027|KYODO COMMUNICATIONS & ELECTRONICS INC.
-8039|MICRO INNOVATIONS CORP.
-8040|General Dynamics UK Limited
-8062|Canon India Private Limited
+8053|Innostor Co., Ltd.
 8063|NOVA Sensors
 8064|MagicPixel Inc.
 8073|Dongguan Goldconn Electronics Co., Ltd.
-8074|Morning Star Industrial Co., Ltd.
 8108|DIFFON CORPORATION
 8109|Cresta Technology Inc.
 8110|Lumidigm, Inc.
@@ -674,6 +668,7 @@
 8432|Insight Technology Incorporated
 8438|EXMAN ELECTRIC
 8439|SOFTHARD Technology Ltd.
+8445|NOVO NORDISK A/S
 8446|Elektrobit Inc.
 8448|RT Systems Inc.
 8457|VIA Labs, Inc.
@@ -682,4 +677,23 @@
 8492|Shenzhen Linoya Electronic Co., Ltd.
 8493|Dong Guan City Marubeni Electronic Co., Ltd.
 8494|Amphenol AssembleTech (Xiamen) Co., Ltd.
+8504|iVina, Inc.
+8519|Chin-Ban Electronics (Hong Kong) Co.
+8520|Visteon Sistemas Automotives Ltda.
+8524|Y Soft Ltd.
+8534|Weistech Technology Co., Ltd.
+8535|Digital Imaging Technology
+8536|TA WEI TECHNOLOGY CO., LTD.
+8550|JVC KENWOOD Holdings, Inc.
+8551|Zhejiang Fousine Science & Technology Co., Ltd.
+8552|TZYR HWEY ENTERPRISE CO., LTD.
+8563|HUIZHOU HUANGJI PRECISIONS FLEX ELECTRONICAL CO., LTD.
+8564|Transcend Information, Inc.
+8565|Light Blue Optics, Inc.
+8566|TMC/Allion Beijing Lab
+8583|ESM PEEKTON
+8584|CalDigit
+8618|TAKASAKI KYODO COMPUTING CENTER CO., LTD.
+8627|Dongguan Teconn Electronics Technology Co., Ltd.
+8629|SHENZHEN JASON ELECTRONICS CO., LTD.
 8888|Motorola MDS
diff --git a/usb_id_repo_db.txt b/usb_id_repo_db.txt
--- a/usb_id_repo_db.txt
+++ b/usb_id_repo_db.txt
@@ -9,8 +9,8 @@
 #	The latest version can be obtained from
 #		http://www.linux-usb.org/usb.ids
 #
-# Version: 2009.09.17
-# Date:    2009-09-17 20:34:02
+# Version: 2009.12.16
+# Date:    2009-12-16 20:34:13
 #
 
 # Vendors, devices and interfaces. Please keep sorted.
@@ -129,6 +129,7 @@
 	0312  Color Inkjet CP1700
 	0314  designjet 30/130 series
 	0317  LaserJet 1200
+	0324  SK-2885 keyboard
 	0401  ScanJet 5200c
 	0404  DeskJet 830c/832c
 	0405  ScanJet 3400cse
@@ -324,6 +325,7 @@
 	3217  LaserJet 3050
 	3302  PhotoSmart 1218
 	3304  DeskJet 990c
+	3312  OfficeJet J6410
 	3317  LaserJet 3052
 	3402  PhotoSmart 1115
 	3404  DeskJet 6122
@@ -337,6 +339,7 @@
 	3617  EWS 2605
 	3711  PSC 2500
 	3717  EWS UPD
+	3724  Webcam
 	3802  PhotoSmart 100
 	3817  LaserJet P2015 series
 	3902  PhotoSmart 130
@@ -433,6 +436,7 @@
 	6a11  PhotoSmart C6200 series
 	6a17  LaserJet 4240
 	6b02  PhotoSmart R707 (PTP mode)
+	6b11  Photosmart C4500 series
 	6c17  Color LaserJet 4610
 	6f17  Color LaserJet CP6015 series
 	7004  DeskJet 3320c
@@ -494,6 +498,7 @@
 	a004  DeskJet 5850c
 	b002  PhotoSmart 7200 series
 	b102  PhotoSmart 7200 series
+	b116  Webcam
 	b202  PhotoSmart 7600 series
 	b302  PhotoSmart 7600 series
 	b402  PhotoSmart 7700 series
@@ -549,6 +554,7 @@
 03fd  Xilinx, Inc.
 03fe  Farallon Comunications
 0400  National Semiconductor Corp.
+	05dc  Rigol Technologies DS1000USB Oscilloscope
 	0807  Bluetooth Dongle
 	080a  Bluetooth Device
 	1000  Mustek BearPaw 1200 Scanner
@@ -556,6 +562,7 @@
 	1237  Hub
 	a000  Smart Display Reference Device
 	c35b  Printing Support
+	c55d  Rigol Technologies DS5000USB Oscilloscope
 0401  National Registry, Inc.
 0402  ALi Corp.
 	5462  M5462 IDE Controller
@@ -578,6 +585,7 @@
 	6008  Serial Converter
 	6009  Serial Converter
 	6010  FT2232C Dual USB-UART/FIFO IC
+	6011  FT4232H
 	8040  4 Port Hub
 	8070  7 Port Hub
 	8370  7 Port Hub
@@ -830,6 +838,7 @@
 040b  Weltrend Semiconductor
 	6510  Weltrend Bar Code Reader
 	6520  XBOX Xploder
+	6533  Speed-Link Competition Pro
 040c  VTech Computers, Ltd
 040d  VIA Technologies, Inc.
 	3184  VNT VT6656 USB-802.11 Wireless LAN Adapter
@@ -870,7 +879,12 @@
 	00d8  WLI-U2-SG54HP
 	00d9  WLI-U2-G54HP
 	00da  WLI-U2-KG54L 802.11bg
+	00e8  Buffalo WLI-UC-G300N Wireless LAN Adapter
+	012e  Buffalo WLI-UC-AG300N Wireless LAN Adapter
+	0148  Buffalo WLI-UC-G300HP Wireless LAN Adapter
+	0150  Buffalo WLP-UC-AG300 Wireless LAN Adapter
 	0157  Buffalo External Hard Drive HD-PEU2
+	015d  Buffalo WLI-UC-GN Wireless LAN Adapter
 0412  Award Software International
 0413  Leadtek Research, Inc.
 	1310  WinFast TV - NTSC + FM
@@ -1072,6 +1086,9 @@
 	0024  5610 XpressMusic (Storage mode)
 	0025  5610 XpressMusic (PC Suite mode)
 	0028  5610 XpressMusic (Imaging mode)
+	002d  6120 Phone (Mass storage mode)
+	002e  6120 Phone (Media-Player mode)
+	002f  6120 Phone (PC-Suite mode)
 	0042  E51 (PC Suite mode)
 	006d  N95 (Storage mode)
 	006e  N95 (Multimedia mode)
@@ -1144,6 +1161,7 @@
 	04f9  6300 (PC Suite mode)
 	0508  E65 (PC Suite mode)
 	0600  Digital Pen SU-1B
+	0610  CS-15 (Internet Stick 3G modem)
 	0800  Connectivity Cable DKU-5
 	0801  Data Cable DKU-6
 	0802  CA-42 Phone Parent
@@ -1172,7 +1190,10 @@
 	223a  8-in-1 Card Reader
 	2503  USB 2.0 Hub
 	2504  USB 2.0 Hub
+	2512  USB 2.0 Hub
+	2514  USB 2.0 Hub
 	2524  USB MultiSwitch Hub
+	2602  USB 2.0 Hub
 0425  Motorola Semiconductors HK, Ltd
 	0101  G-Tech Wireless Mouse & Keyboard
 	f102  G-Tech U+P Wireless Mouse
@@ -1506,6 +1527,7 @@
 	2020  ColorPage-Slim 1200 USB2
 	2021  ColorPage-SF600
 	301d  Genius MaxFire MiniPad
+	400f  Genius TVGo DVB-T02Q MCE
 	6001  GF3000F Ethernet Adapter
 	7004  VideoCAM Express V2
 	7006  Dsc 1.3 Smart Camera Device
@@ -1519,6 +1541,7 @@
 	701c  G-Shot G512 Still Camera
 	7020  Sim 321C
 	7025  Eye 311Q Camera Device
+	7029  Genius Look 320s (SN9C201 + HV7131R)
 	702f  Genius Slim 322
 	7045  Genius Look 1320 V2
 	704c  Genius i-Look 1321
@@ -1840,6 +1863,7 @@
 	0005  XX33 SmartCard Reader Keyboard
 	0010  SmartBoard XX44
 	0011  G83 (RS 6000) Keyboard
+	0021  CyMotion Expert Combo
 	0023  CyMotion Master Linux Keyboard
 	0027  CyMotion Master Solar Keyboard
 	002a  Wireless Mouse & Keyboard
@@ -1949,6 +1973,7 @@
 	09a1  QuickCam Communicate MP/S5500
 	09a2  QuickCam Communicate Deluxe/S7500
 	09a4  QuickCam E 3500
+	09a5  Quickcam 3000 For Business
 	09a6  QuickCam Vision Pro
 	09b0  Acer OrbiCam
 	09b2  Fujitsu Webcam
@@ -2063,6 +2088,7 @@
 	c312  DeLuxe 250 Keyboard
 	c315  Classic New Touch Keyboard
 	c316  HID-Compliant Keyboard
+	c317  Wave Corded Keyboard
 	c318  Illuminated Keyboard
 	c401  TrackMan Marble Wheel
 	c402  Marble Mouse (2-button)
@@ -2199,7 +2225,7 @@
 	203f  TSU9200 Remote Control
 	2046  TSU9800 Remote Control
 	205e  TSU9300 Remote Control
-	262c  SPC230NC WebCam
+	262c  SPC230NC Webcam
 	485d  Senselock SenseIV v2.x
 0472  Chicony Electronics Co., Ltd
 	0065  PFU-65 Keyboard
@@ -2430,6 +2456,7 @@
 	1032  DGX-305
 	1033  DGX-505
 	103c  MOTIF-RACK ES
+	1054  S90XS Keyboard/Music Synthesizer
 	2000  DGP-7
 	2001  DGP-5
 	3001  YST-MS55D USB Speaker
@@ -2683,6 +2710,7 @@
 	10a9  iP6600D
 	10b6  PIXMA iP4300 Printer
 	10c2  PIXMA iP1800 Printer
+	10c4  Pixma iP4500 Printer
 	1404  W6400PG
 	1405  W8400PG
 	150f  BIJ2350 PCL
@@ -2947,12 +2975,14 @@
 	3117  PowerShot A700
 	312d  Elura 100
 	3138  PowerShot A710 IS
+	3147  EOS 1Ds Mark III
 	3155  PowerShot A450
 	315a  PowerShot G9
 	315d  PowerShot A720
 	3176  PowerShot A590
 	317a  Powershot A470
 	3184  Digital IXUS 80 IS (PTP mode)
+	31bc  PowerShot D10
 	31ff  Digital IXUS 55
 04aa  DaeWoo Telecom, Ltd
 04ab  Chromatic Research
@@ -3127,6 +3157,7 @@
 	012c  Perfection V350 (GT-F700)
 	012d  Perfection V10/V100 (GT-S600/F650)
 	012f  Perfection V350 (GT-F700)
+	0130  Perfection V500 (GT-X770)
 	0202  Receipt Printer M129C
 	0401  CP 800 Digital Camera
 	0402  PhotoPC 850z
@@ -3242,6 +3273,10 @@
 	0937  WN-WAG/USL Wireless LAN Adapter
 	0938  WN-G54/USL Wireless LAN Adapter
 	093f  WNGDNUS2 802.11n
+	0944  WHG-AGDN/US Wireless LAN Adapter
+	0945  WN-GDN/US3 Wireless LAN Adapter
+	0947  WN-G150U Wireless LAN Adapter
+	0948  WN-G300U Wireless LAN Adapter
 	0a03  Serial USB-RSAQ1
 	0a07  USB2-iCN Adapter
 	0a08  USB2-iCN Adapter
@@ -3768,6 +3803,7 @@
 	b028  VGA UVC Webcam
 	b029  1.3M UVC Webcam
 	b071  2.0M UVC Webcam / CNF7129
+	b091  Webcam
 	b107  CNF7070 Webcam
 04f3  Elan Microelectronics Corp.
 	0210  AM-400 Hama Optical Mouse
@@ -3967,6 +4003,7 @@
 	2004  PT-2300/2310 p-Touch Laber Printer
 	2015  QL-500 P-touch label printer
 	2016  QL-550 P-touch label printer
+	201a  PT-18R P-touch label printer
 	2100  Card Reader Writer
 04fa  Dallas Semiconductor
 	2490  DS1490F 2-in-1 Fob, 1-Wire adapter
@@ -4044,7 +4081,7 @@
 	0012  F8T012 Bluetooth Adapter
 	0013  F8T013 Bluetooth Adapter
 	0017  B8T017 Bluetooth+EDR 2.1
-	0050  F5D6050 802.11b Wireless Adapter
+	0050  Atmel at76c503a [F5D6050 802.11b Wireless Adapter v2000]
 	0081  F8T001v2 Bluetooth
 	0083  Bluetooth Device
 	0084  F8T003v2 Bluetooth
@@ -4084,12 +4121,17 @@
 	3201  F1DF102U/F1DG102U Flip KVM
 	4050  ZD1211B
 	5055  F5D5055
-	6051  802.11b
-	7050  F5D7050 ver 1000 WiFi
+	6051  802.11b Wireless Network Adapter
+	7050  F5D7050 Wireless G Adapter v1000/v2000
 	7051  F5D7051 54g USB Network Adapter
-	705a  F5D7050A Wireless Adapter
+	705a  Ralink RT2573 [F5D7050 Wireless G Adapter v3000]
 	705b  Wireless G Adapter
-	705c  802.11bg
+	705c  Zydas ZD1211B [F5D7050 Wireless G Adapter v4000]
+	705e  Realtek RTL8187B [F5D7050 Wireless G Adapter v5000]
+	8053  Ralink RT2870 [F5D8053 N Wireless USB Adapter v1000/v4000]
+	805e  Realtek RTL8192U [F5D8053 N Wireless USB Adapter v5000]
+	815c  Ralink RT2870 [F5D8053 N Wireless USB Adapter v3000]
+	815f  Realtek RTL8192SU [F5D8053 N Wireless USB Adapter v6000]
 	905b  F5D9050 ver 3 Wireless Adapter
 	905c  Wireless G Plus MIMO Network Adapter
 050e  Neon Technology, Inc.
@@ -4202,7 +4244,7 @@
 0537  Inventec Corp.
 0538  Caldera International, Inc. (SCO)
 0539  Shyh Shiun Terminals Co., Ltd
-053a  Preh Werke GmbH & Co. KG
+053a  PrehKeyTec GmbH
 053b  Global Village Communication
 053c  Institut of Microelectronic & Mechatronic Systems
 053d  Silicon Architect
@@ -4304,6 +4346,7 @@
 	0056  MG Memory Stick Reader/Writer
 	0058  Clie PEG-N7x0C PalmOS PDA Mass Storage
 	0066  Clie PEG-N7x0C/PEG-T425 PalmOS PDA Serial
+	0067  CMR-PC3 Webcam
 	0069  Memorystick MSC-U03 Reader
 	006d  Clie PEG-T425 PDA Mass Storage
 	006f  Network Walkman (EV)
@@ -4731,10 +4774,12 @@
 	4602  Eumex 400 (WinXP/2000)
 	4701  AVM FRITZ!Box Fon ata
 	5401  Eumex 300 IP
-	5601  AVM FRITZ!WLAN Stick
-	6201  WLAN USB v1.1
-	62ff  WLAN USB v1.1 [no firmware]
-	8401  FRITZ!WLAN Stick N
+	5601  AVM Fritz!WLAN USB
+	6201  AVM Fritz!WLAN USB v1.1
+	62ff  AVM Fritz!WLAN USB (in CD-ROM-mode)
+	8401  AVM Fritz!WLAN USB N
+	8402  AVM Fritz!WLAN USB N 2.4
+	84ff  AVM Fritz!WLAN USB N (in CD-ROM-mode)
 057d  Shark Multimedia, Inc.
 057e  Nintendo Co., Ltd
 	0306  Wii Remote Controller RVL-003
@@ -4863,6 +4908,7 @@
 	000e  Digital Camera
 	000f  Digital Camera
 0586  ZyXEL Communications Corp.
+	0025  802.11b/g/n USB Wireless Network Adapter
 	0102  omni.net II ISDN TA
 	1000  Omni NET Modem / ISDN TA
 	1500  Omni 56K Plus
@@ -4871,7 +4917,7 @@
 	3309  ADSL Modem Prestige 600 series
 	330a  ADSL Modem Interface
 	330e  USB Broadband ADSL Modem Rev 1.10
-	3400  802.11b
+	3400  ZyAIR B-220 IEEE 802.11b Adapter
 	3401  ZyAIR G-220 802.11bg
 	3402  ZyAIR G-220F 802.11bg
 	3407  G-200 v2 802.11bg
@@ -4883,6 +4929,7 @@
 	3413  ZyAIR AG-225H v2 802.11bg
 	3415  G-210H 802.11g Wireless Adapter
 	3416  NWD-210N 802.11b/g/n-draft wireless adapter
+	341a  NWD-270N Wireless N-lite USB Adapter
 0587  America Kotobuki Electronics Industries, Inc.
 0588  Sapien Design
 0589  Victron
@@ -4917,6 +4964,7 @@
 	5492  Hub
 	6232  Hi-Speed 16-in-1 Flash Card Reader/Writer
 	6254  USB Hub
+	6331  SD/MMC/MS Card Reader
 	6335  SD/MMC Card Reader
 	6360  Multimedia Card Reader
 	6361  Multimedia Card Reader
@@ -5039,6 +5087,7 @@
 	1550  VEHO Filmscanner
 	2640  OV2640 Webcam
 	2643  Monitor Webcam
+	264b  Monitor Webcam
 	2800  SuperCAM
 	4519  Webcam Classic
 	7670  OV7670 Webcam
@@ -5107,21 +5156,26 @@
 	1209  iPod Video
 	120a  iPod Nano
 	1240  iPod Nano 2.Gen (DFU mode)
+	1255  iPod Nano 4.Gen (DFU mode)
 	1260  iPod Nano 2.Gen
 	1261  iPod Classic
 	1262  iPod Nano 3.Gen
+	1263  iPod Nano 4.Gen
+	1265  iPod Nano 5.Gen
 	1290  iPhone
 	1291  iPod Touch 1.Gen
 	1292  iPhone 3G
+	1293  iPod Touch 2.Gen
 	1294  iPhone 3GS
 	1300  iPod Shuffle
 	1301  iPod Shuffle 2.Gen
 	8202  HCF V.90 Data/Fax Modem
 	8203  Bluetooth HCI
-	8204  Bluetooth HCI [Bluetooth 2.0 + EDR, build-in]
+	8204  Bluetooth HCI [Bluetooth 2.0 + EDR, built-in]
 	8205  Bluetooth HCI
 	8206  Bluetooth HCI
-	8240  IR Receiver [build-in]
+	8240  IR Receiver [built-in]
+	8242  IR Receiver [built-in]
 	8300  Built-in iSight (no firmware loaded)
 	8501  Built-in iSight [Micron]
 	8502  Built-in iSight
@@ -5474,7 +5528,7 @@
 	0604  USB 1.1 Hub
 	0605  USB 2.0 Hub [ednet]
 	0606  USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
-	0608  USB-2.0 4-Port HUB
+	0608  USB-2.0 4-Port HUB [Hama]
 	0660  USB 2.0 Hub
 	0700  SIIG US2256 CompactFlash Card Reader
 	0701  USB 2.0 IDE Adapter
@@ -5494,6 +5548,7 @@
 	0711  Card Reader
 	0712  Delkin Mass Storage Device
 	0715  USB 2.0 microSD Reader
+	0723  USB 2.0 SD/MMC/MS Flash Card Reader
 	0760  USB 2.0 Card Reader/Writer
 	0761  Genesys Mass Storage Device
 	0780  USBFS DFU Adapter
@@ -5995,6 +6050,7 @@
 	000a  SDCard/MMC Reader/Writer
 0694  Lego Group
 	0001  Mindstorms Tower
+	0002  Mindstorms NXT
 0698  Chuntex (CTX)
 	1786  1300ex Monitor
 	2003  CTX M730V built in Camera
@@ -6034,6 +6090,7 @@
 	0010  Tornado Speakerphone FaxModem 56.0
 	0011  Tornado Speakerphone FaxModem 56.0
 	1000  ADT VvBus for CopperJet
+	1004  CopperJet 821 RouterPlus
 06a2  Topro Technology, Inc.
 	0033  USB Mouse
 06a3  Saitek PLC
@@ -6081,6 +6138,7 @@
 	803f  X36 Flight Controller
 	806f  P2000 Tilt Pad
 	80c0  Pro Gamer Command Unit
+	80c1  Cyborg Command Pad Unit
 	a502  Gaming Mouse
 	ff04  R440 Force Wheel
 	ff0c  Cyborg Force Rumble Pad
@@ -6446,6 +6504,7 @@
 	0300  BAY-3U1S1P Parallel Port
 	0302  Parallel Port
 	0900  SVGA Adapter
+	5001  Trigger UV-002BD[Startech USBVGAE]
 0713  Interval Research Corp.
 0714  NewMotion, Inc.
 	0003  ADB to USB convertor
@@ -6672,6 +6731,7 @@
 076e  Kuan Tech Enterprise Co., Ltd
 076f  Jhen Vei Electronic Co., Ltd
 0770  Welch Allyn, Inc - Medical Division
+0771  Observator Instruments BV
 0774  AmTRAN Technology Co., Ltd
 0775  Longshine Electronics Corp.
 0776  Inalways Corp.
@@ -6715,7 +6775,7 @@
 	5150  SDCZ2 Cruzer Mini Flash Drive (thin)
 	5151  Cruzer Micro Flash Drive
 	5153  Cruzer Flash Drive
-	5406  Cruzer Micro 1/2/4GB Flash Drive
+	5406  Cruzer Micro U3
 	5408  Cruzer Titanium U3
 	6100  Ultra II SD Plus 2GB
 	7100  Cruzer Mini
@@ -6739,6 +6799,8 @@
 	7431  Sansa M200v4 (msc)
 	7432  Sansa Clip (mtp)
 	7433  Sansa Clip (msc)
+	7434  Sansa Clip V2 (mtp)
+	7435  Sansa Clip V2 (msc)
 	7450  Sansa C250
 	7451  Sansa C240
 	7460  Sansa Express
@@ -6788,6 +6850,9 @@
 	0064  LDR-R Device
 	00b3  DVD Multi-plus unit LDR-H443U2
 	010c  Realtek RTL8187 Wireless 802.11g 54Mbps Network Adapter
+	0162  LAN-WN22/U2 Wireless LAN Adapter
+	0163  LAN-WN12/U2 Wireless LAN Adapter
+	0164  LAN-W150/U2M Wireless LAN Adapter
 078b  Happ Controls, Inc.
 	0010  Driving UGCI
 	0020  Flying UGCI
@@ -6846,12 +6911,15 @@
 	0017  FEther USB2-TX
 	001a  ULUSB-11 Key
 	002f  CG-WLUSB2GNL
+	003c  CG-WLUSB2GNL
+	003f  CG-WLUSB300AGN
 	7613  Stick-11 V2 802.11b Adapter
 	9601  FEther USB-TXC
 07ab  Freecom Technologies
 	fc01  IDE bridge
 	fc02  Cable II USB-2
 	fc03  USB2-IDE IDE bridge
+	fcd6  Freecom HD Classic
 	fcf8  Freecom Classic SL Network Drive
 07af  Microtech
 	0004  SCSI-DB25 SCSI Bridge [shuttle]
@@ -6933,6 +7001,11 @@
 	1201  IEEE 802.11b Adapter
 	200c  XX2
 	2573  Wireless LAN Card
+	2770  802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+	2870  802.11n/b/g Wireless LAN USB2.0 Adapter
+	3070  802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+	3071  802.11n/b/g Mini Wireless LAN USB2.0 Adapter
+	3072  802.11n/b/g Mini Wireless LAN USB2.0 Adapter
 	4000  DU-E10 Ethernet [klsi]
 	4002  DU-E100 Ethernet [pegasus]
 	4003  1/10/100 Ethernet Adapter
@@ -7143,7 +7216,15 @@
 	3c05  EH103 Wireless G Adapter
 	3c07  Wireless G DWA-110 Adapter
 	3c09  DWA-140 802.11n Adapter [ralink rt2870]
+	3c0a  DWA-140 RangeBooster N USB Adapter(rev.B2)
+	3c0b  DWA-110 Wireless G USB Adapter(rev.B)
+	3c0d  DWA-125 Wireless 150 USB Adapter
+	3c0e  WUA-2340 USB Adapter(rev.B)
+	3c0f  AirPlus G DWL-G122 Wireless Adapter(rev.E)
 	3c10  DWA 160A 802.11n
+	3c11  DWA-160 Xtreme N Dual Band USB Adapter(rev.B)
+	3c13  DWA-130 Wireless N USB Adapter(rev.B)
+	3c15  DWA-140 Wireless N USB Adapter(rev.B3)
 	5100  Remote NDIS Device
 	f101  DBT-122 Bluetooth
 	fc01  DBT-120 Bluetooth Adapter
@@ -7318,7 +7399,11 @@
 	5501  Wireless Adapter 11g
 	6500  Cable Modem
 	6618  802.11n Wireless Adapter
-	7522  802.11N Wireless Adapter
+	7511  Arcadyan 802.11N Wireless Adapter
+	7512  Arcadyan 802.11N Wireless Adapter
+	7522  Arcadyan 802.11N Wireless Adapter
+	8522  Arcadyan 802.11N Wireless Adapter
+	a512  Arcadyan 802.11N Wireless Adapter
 	a618  SMC EZ Connect N Draft 11n Wireless Adapter
 	b004  CPWUE001 USB/Ethernet Adapter
 	b522  EZ Connect N Draft 11n Wireless USB2.0 Adapter
@@ -7326,6 +7411,7 @@
 	c003  802.11b Wireless Adapter
 	c501  Zoom Wireless-G
 	c561  802.11a/g Wireless Adapter
+	d522  Speedport W 102 Stick IEEE 802.11n USB 2.0 Adapter
 	e501  ZD1211B
 	e506  WUS-201 802.11bg
 	f501  802.11g Wireless Adapter
@@ -7348,15 +7434,17 @@
 	4210  WG121(v2) 54 Mbps Wireless [Intersil Prism GT]
 	4220  WG111(v1) 54 Mbps Wireless [Intersil Prism54 Intersil 3886]
 	4230  MA111(v2) 802.11b Wireless [SIS SIS 162]
-	4240  WG111v2 54 Mbps Wireless [RealTek RTL8187L]
+	4240  WG111(v1) rev 2 54 Mbps Wireless [Intersil Prism54 Intersil 3886]
 	4260  WG111v3 54 Mbps Wireless [realtek RTL8187B]
 	4300  WG111U Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
 	4301  WG111U (no firmware) Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX]
 	6a00  WG111v2 54 Mbps Wireless [RealTek RTL8187L]
 	7100  WN121T RangeMax Next Wireless-N [Marvell TopDog]
 	9000  WN111(v1) RangeMax Next Wireless [Marvell TopDog]
-	9001  WN111 v2 802.11n
-	9010  WNDA3100 802.11n
+	9001  WN111(v2) RangeMax Next Wireless [Atheros AR9001U-(2)NG]
+	9010  WNDA3100(v1) 802.11n [Atheros AR9001U-(2)NG]
+	9011  WNDA3100(v2) 802.11n
+	9040  WNA1000 Wireless-N 150 [Atheros AR9001U-(2)NG]
 	a001  PA101 10 Mbps HPNA Home Phoneline RJ-1
 084d  Minton Optic Industry Co., Inc.
 	0001  Jenoptik JD800i
@@ -7478,8 +7566,12 @@
 0887  Hannstar Electronics Corp.
 088b  MassWorks, Inc.
 	4944  MassWorks ID-75 TouchScreen
+088c  Swecoin AB
+	2030  Ticket Printer TTP 2030
 0892  DioGraphy, Inc.
 	0101  Smartdio Reader/Writer
+0897  Lauterbach
+	0002  Power Debug/Power Debug II
 089c  United Technologies Research Cntr.
 089d  Icron Technologies Corp.
 089e  NST Co., Ltd
@@ -7735,6 +7827,8 @@
 	0001  Hard Drive Adapter (TPP)
 	0002  SigmaDrive Adapter (TPP)
 0906  Faraday Technology Corp.
+0908  ShenZhen SANZHAI Technology Co.,Ltd
+	2701  Spy Pen VGA
 0909  Audio-Technica Corp.
 090a  Trumpion Microelectronics, Inc.
 	1001  T33520 Flash Card Controller
@@ -7792,6 +7886,7 @@
 	0004  iQue 3600
 	0200  Data Card Programmer (install)
 	1200  Data Card Programmer
+	21a5  etrex Cx (msc)
 	2295  Colorado 300
 	2353  NÃ¼vi 205T
 0920  Echelon Co.
@@ -7904,7 +7999,7 @@
 	0300  VideoAdvantage
 	0302  Syntek DC-112X
 	0320  VideoAdvantage
-	1100  Video Enhamcement Device
+	1100  DC-1100 Video Enhamcement Device
 	1112  Veo Web Camera
 	a311  Video Enhancement Device
 0933  Quantum Corp.
@@ -7928,7 +8023,7 @@
 	2608  PAC7311 Trust WB-3300p
 	260e  PAC7311 Gigaware VGA PC Camera:Trust WB-3350p:SIGMA cam 2350
 	260f  PAC7311 SnakeCam
-	2621  PAC731x Trust WebCam
+	2621  PAC731x Trust Webcam
 	2624  Webcam
 093b  Plextor Corp.
 	0010  Storage Adapter
@@ -7993,6 +8088,7 @@
 096e  Feitian Technologies, Inc.
 	0802  ePass2000 (G&D STARCOS SPK 2.4)
 0971  Gretag-Macbeth AG
+	2005  Huey
 0973  Schlumberger
 	0001  e-gate Smart Card
 0974  Datagraphix, a business unit of Anacomp
@@ -8278,10 +8374,14 @@
 	2123  Bluetooth dongle
 	2130  2045 Bluetooth 2.0 USB-UHE Device with trace filter
 	2131  2045 Bluetooth 2.0 Device with trace filter
+	2145  Bluetooth with Enhanced Data Rate II
 	2150  BCM2046 Bluetooth Device
 	4500  BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
 	4502  Keyboard (Boot Interface Subclass)
 	5800  BCM5880 Secure Applications Processor
+	5801  BCM5880 Secure Applications Processor with fingerprint swipe sensor
+	5802  BCM5880 Secure Applications Processor with fingerprint touch sensor
+	5803  BCM5880 Secure Applications Processor with secure keyboard
 	6300  Pirelli Remote NDIS Device
 0a5d  Diatrend Corp.
 0a5f  Zebra
@@ -8441,7 +8541,7 @@
 	0401  ID TECH Spectrum III Hybrid Smartcard Reader
 0ace  ZyDAS
 	1201  802.11b
-	1211  802.11bg
+	1211  ZEW 2501 802.11bg Wireless Adapter
 	1215  WLA-54L 802.11bg
 	1221  ZD1221 802.11n
 	1602  ZyXEL Omni FaxModem 56K
@@ -8520,14 +8620,20 @@
 	1726  Laptop OLED Display
 	172a  ASUS 802.11n Network Adapter
 	172b  802.11n Network Adapter
-	1731  ASUS 802.11n Network Adapter
+	1731  802.11n Network Adapter
 	1732  802.11n Network Adapter
 	1734  ASUS AF-200
 	173c  BT-183 Bluetooth 2.0
 	1742  802.11n Network Adapter
+	1751  BT-253 Bluetooth Adapter
+	1760  802.11n Network Adapter
+	1761  802.11n Network Adapter
+	1784  802.11n Network Adapter
 	6101  Cable Modem
 	620a  Remote NDIS Device
 	b700  Broadcom Bluetooth 2.1
+0b0b  Datamax-O'Neil
+	106e  Datamax E-4304
 0b0c  Todos Data System AB
 	0009  Todos Argos Mini II Smart Card Reader
 0b0d  ProjectLab
@@ -8897,7 +9003,7 @@
 	0108  Mass Storage Device
 	0111  Card Reader
 	0113  Mass Storage Device
-	0115  Mass Storage Device
+	0115  Mass Storage Device (Multicard Reader)
 	0116  Mass Storage Device
 	0117  Mass Storage Device
 	0118  Mass Storage Device
@@ -9110,6 +9216,7 @@
 	624c  PC Camera (SN9C201 + MI1320)
 	624e  PC Camera (SN9C201 + SOI968)
 	624f  PC Camera (SN9C201 + OV9650)
+	6251  PC Camera (SN9C201 + OV9650)
 	6253  PC Camera (SN9C201 + OV9650)
 	6260  PC Camera (SN9C201 + OV7670ISP)
 	6262  PC Camera (SN9C201 + OM6802)
@@ -9129,7 +9236,7 @@
 	628f  PC Camera with Microphone (SN9C202 + OV9650)
 	62a0  PC Camera with Microphone (SN9C202 + OV7670ISP)
 	62a2  PC Camera with Microphone (SN9C202 + OM6802)
-	62b0  PC Camera with Microphone (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111)
+	62b0  PC Camera with Microphone (SN9C202 + MI0360/MT9V011 or MI0360SOC/MT9V111)
 	62b3  PC Camera with Microphone (SN9C202 + OV9655)
 	62ba  PC Camera with Microphone (SN9C202 + S5K53BEB)
 	62bb  PC Camera with Microphone (SN9C202 + OV7660)
@@ -9137,7 +9244,9 @@
 	62be  PC Camera with Microphone (SN9C202 + OV7663)
 	62c0  Sonix USB 2.0 Camera
 	62e0  MSI Starcam Racer
+	6310  Sonix USB 2.0 Camera
 	63e0  Sonix Integrated Webcam
+	63f1  Integrated Webcam
 	63f8  Sonix Integrated Webcam
 	8000  DC31VC
 	8006  Dual Mode Camera (8006 VGA)
@@ -9282,6 +9391,7 @@
 	004f  Cinergy Analog XS
 	005c  Cinergy TÂ²
 	0069  Cinergy T XE DVB-T Receiver
+	0077  Aureon Dual USB
 0cd4  Bang Olufsen
 	0101  BeolinkPC2
 0cd5  LabJack Corporation
@@ -9312,12 +9422,14 @@
 	0020  Wi-Fi Wireless LAN Adapter
 	0022  802.11b/g/n Wireless Network Adapter
 	0023  UB81 802.11bgn
+	0025  802.11b/g/n USB Wireless Network Adapter
 	0026  UB82 802.11abgn
 0ce9  pico Technology
 	1001  PicoScope3204
 0cf1  e-Conn Electronic Co., Ltd
 0cf2  ENE Technology, Inc.
 	6220  SD Card Reader (SG361)
+	6225  SD card reader (UB6225)
 0cf3  Atheros Communications, Inc.
 	0001  AR5523
 	0002  AR5523 (no firmware)
@@ -9326,6 +9438,7 @@
 	0005  AR5523
 	0006  AR5523 (no firmware)
 	1001  TG121N
+	3000  AR3011
 	9170  AR9170 802.11n
 0cf4  Fomtex Corp.
 0cf5  Cellink Co., Ltd
@@ -9474,6 +9587,7 @@
 	1400  Attache 256MB USB 2.0 Flash Drive
 	1420  PS2044 Pen Drive
 	1470  Vosonic X's-Drive II+ VP2160
+	1620  USB Disk Pro
 	1900  USB Thumb Drive
 0d7e  American Computer & Digital Components
 	2507  Hi-Speed USB-to-IDE Bridge Controller
@@ -9592,7 +9706,7 @@
 	5515  MP3 Player
 	5516  MP3 Player
 	5581  Mega Sky 5580 DVB-T Tuner
-	6823  802.11b
+	6823  UB11B/MS-6823 802.11b Wi-Fi adapter
 	6826  IEEE 802.11g Wireless Network Adapter
 	6855  Bluetooth Device
 	6861  MSI-6861 802.11g WiFi adapter
@@ -9704,18 +9818,34 @@
 	0007  Bluetooth 2.0 Adapter 10m
 	000b  Bluetooth 2.0 Adapter DFU
 	000d  WL-168 Wireless Network Adapter 54g
-	0017  WL-182
+	0017  WL-182 Wireless-N Network USB Card
 	0019  Bluetooth 2.0 adapter 10m CN-512v2 001
-	001a  Bluetooth 2.0 adapter 100m CN-521v2 001
-	061c  LN-028
+	001a  Bluetooth 2.0 adapter 100m CN-521v2 001 
+	002b  WL-188 Wireless Network 300N USB Adapter
+	002c  WL-301 Wireless Network 300N USB Adapter
+	002d  WL-302 Wireless Network 300N USB dongle 
+	0039  WL-315 Wireless-N USB Adapter
+	003b  WL-321 Wireless USB Gaming Adapter 300N
+	003c  WL-323 Wireless-N USB Adapter
+	003d  WL-324 Wireless USB Adapter 300N
+	003e  WL-343 Wireless USB Adapter 150N X1
+	003f  WL-608 Wireless USB Adapter 54g
+	0040  WL-344 Wireless USB Adapter 300N X2
+	0041  WL-329 Wireless Dualband USB adapter 300N
+	0042  WL-345 Wireless USB adapter 300N X3
+	0047  WL-352v1 Wireless USB Adapter 300N 002
+	0048  WL-349v1 Wireless USB Adapter 150N 002
+	004a  WL-358v1 Wireless Micro USB Adapter 300N X3 002
+	004b  WL-360 Wireless Micro USB Adapter X3
+	061c  LN-028 Network USB 2.0 Adapter
 	21f4  44 St Bluetooth Device
 	2200  Sitecom bluetooth2.0 class 2 dongle CN-512
 	2208  Sitecom bluetooth2.0 class 2 dongle CN-520
 	2209  Sitecom bluetooth2.0 class 1 dongle CN-521
-	9071  802.11bg
-	9075  802.11bg
-	90ac  WL-172
-	9712  WL-113 rev 2
+	9071  WL-113 rev 1 Wireless Network USB Adapter
+	9075  WL-117 Hi-Speed USB Adapter
+	90ac  WL-172 Wireless Network USB Adapter 54g Turbo
+	9712  WL-113 rev 2 Wireless Network USB Adapter
 0df7  Mobile Action Technology, Inc.
 	0620  MA-620 Infrared Adapter
 	0700  MA-700 Bluetooth Adapter
@@ -9731,6 +9861,9 @@
 	0001  Touchscreen
 0e03  Nippon Systemware Co., Ltd
 0e08  Winbest Technology Co., Ltd
+0e0b  Amigo Technology Inc.
+	9031  802.11n Wireless USB Card
+	9041  802.11n Wireless USB Card
 0e0c  Gesytec
 	0101  LonUSB LonTalk Network Adapter
 0e0f  VMware, Inc.
@@ -9743,6 +9876,8 @@
 0e16  JMTek, LLC
 0e17  Walex Electronic, Ltd
 0e1b  Crewave
+0e20  Pegasus Technologies Ltd.
+	0101  NoteTaker
 0e21  Cowon Systems, Inc.
 	0300  iAudio CW200
 	0400  MP3 Player
@@ -9766,9 +9901,11 @@
 	0009  Handyscope HS3 (br)
 	000a  Handyscope HS4
 	000b  Handyscope HS4 (br)
-	000e  Handyscope HS4 Diff
-	000f  Handyscope HS4 Diff (br)
+	000e  Handyscope HS4-DIFF
+	000f  Handyscope HS4-DIFF (br)
 	0010  Handyscope HS2
+	0011  TiePieSCOPE HS805 (br)
+	0012  TiePieSCOPE HS805
 	0018  Handyprobe HP2
 	0042  TiePieSCOPE HS801
 	00fd  USB To Parallel adapter
@@ -9805,13 +9942,18 @@
 	6119  remote receive and control device
 	6441  C-Media Sound Device
 0e5d  Neltron Industrial Co., Ltd
-0e66  Hawking
-	0013  rt2870 [Hawking Hi-Gain Wireless-N]
+0e66  Hawking Technologies
+	0001  HWUN1 Hi-Gain Wireless-300N USB Adapter w/ Upgradable Antenna
+	0003  HWDN1 Hi-Gain USB Wireless-300N Dish Adapter
+	0009  HWUN2 Hi-Gain Wireless-150N USB Adapter w/ Upgradable Antenna
+	000b  HWDN2 Hi-Gain USB Wireless-150N Dish Adapter
+	0013  Hi-Gain Wireless-N USB [rt2870]
 	400b  UF100 10/100 Network Adapter
 	400c  UF100 Ethernet [pegasus2]
 0e67  Fossil, Inc.
 	0002  Wrist PDA
 0e6a  Megawin Technology Co., Ltd
+	0101  MA100 [USB-UART Bridge IC]
 0e70  Tokyo Electronic Industry Co., Ltd
 0e72  Hsi-Chin Electronics Co., Ltd
 0e75  TVS Electronics, Ltd
@@ -9974,6 +10116,22 @@
 0f61  Varian, Inc.
 0f62  Acrox Technologies Co., Ltd
 	1001  Targus Mini Trackball Optical Mouse
+0f63  LeapFrog Enterprises
+	0500  Fly Fusion
+	0600  Leap Port Turbo
+	0700  POGO
+	0800  Didj
+	0900  TAGSchool
+	0a00  Leapster 2
+	0b00  Crammer
+	0c00  Tag Jr
+	0d00  My Pal Scout
+	0e00  Tag32
+	0f00  Tag64
+	1000  Kiwi16
+	1100  Leapster L2x
+	1111  Fly Fusion
+	1300  Didj UK/France (Leapster Advance)
 0f68  Kobe Steel, Ltd
 0f69  Dionex Corp.
 0f6a  Vibren Technologies, Inc.
@@ -10027,10 +10185,12 @@
 0fca  Research In Motion, Ltd.
 	0001  Blackberry Handheld
 0fce  Sony Ericsson Mobile Communications AB
+	00af  V640i Phone [PTP Camera]
 	00d4  C902 [MTP]
 	00d9  C702 Phone
 	1010  WMC Modem
-	10d4  C902 [PictBridge]
+	10af  V640i Phone [PictBridge]
+	10d4  C902 Phone [PictBridge]
 	d008  V800-Vodafone 802SE WMC Modem
 	d016  K750i Phone
 	d017  K608i Phone
@@ -10040,9 +10200,11 @@
 	d041  K510i Phone
 	d042  W810i Phone
 	d046  K610i Phone
-	d0d4  C902 [Modem]
+	d0af  V640i Phone
+	d0d4  C902 Phone [Modem]
 	e042  W810i Phone
-	e0d4  C902 [Mass Storage]
+	e0af  V640i Phone [Mass Storage]
+	e0d4  C902 Phone [Mass Storage] 
 0fcf  Dynastream Innovations, Inc.
 0fd0  Tulip Computers B.V.
 0fd1  Giant Electronics Ltd.
@@ -10103,6 +10265,8 @@
 	3342  Cayman 3352 DSL Modem
 	3382  3380 Series Network Interface
 	6072  DSL Modem
+	9031  Motorola 802.11n Dualband USB Wireless Adapter
+	9032  Motorola 802.11n 5G USB Wireless Adapter
 	cb01  Cayman 3341 Ethernet DSL Router
 1010  Fukuda Denshi Co., Ltd
 1011  Mobile Media Tech.
@@ -10155,12 +10319,14 @@
 	8002  GN-BR402W
 	8003  GN-WLBM101
 	8004  GN-WLBZ101 802.11b Adapter
-	8005  802.11b
+	8005  GN-WLBZ201 802.11b Adapter
 	8006  GN-WBZB-M 802.11b Adapter
 	8007  GN-WBKG
 	8008  GN-WB01GS
 	800a  GN-WI05GS
 	800b  GN-WB30N 802.11n WLAN Card
+	800c  GN-WB31N 802.11n USB WLAN Card
+	800d  GN-WB32L 802.11n USB WLAN Card
 1046  Winbond Electronics Corp. [hex]
 	8901  Bluetooth Device
 	9967  W9967CF/W9968CF Webcam IC
@@ -10189,6 +10355,7 @@
 	0400  External HDD
 	0500  hub
 	0702  Passport External HDD
+	0900  MyBook Essential External HDD
 	0901  MyBook External HDD
 	1001  External Hard Disk
 1059  Giesecke & Devrient GmbH
@@ -10368,6 +10535,8 @@
 10e1  CablePlus, Ltd
 10e2  Nada Electronics, Ltd
 10ec  Vast Technologies, Inc.
+10f0  Nexio Co., Ltd
+	2002  iNexio Touchscreen controller
 10f5  Turtle Beach
 	0200  Audio Advantage Roadie
 10fb  Pictos Technologies, Inc.
@@ -10504,6 +10673,7 @@
 	6854  AirCard 885 Device
 	6870  MC8780 Device
 	6871  MC8781 Device
+	6893  MC8777 Device
 119a  ZHAN QI Technology Co., Ltd
 119b  ruwido austria GmbH
 	0400  Infrared Keyboard V2.01
@@ -10558,6 +10728,8 @@
 125c  Apogee Inc.
 	0010  Alta series CCD
 125f  A-DATA Technology Co., Ltd.
+1260  Standard Microsystems Corp.
+	ee22  Intersil ISL3887 [EZ-Connect 802.11g Adapter v3]
 1264  Covidien Energy-based Devices
 1266  Pirelli Broadband Solutions
 	6302  Fastweb DRG A226M ADSL Router
@@ -10576,8 +10748,23 @@
 1275  Xaxero Marine Software Engineering, Ltd.
 	0002  WeatherFax 2000 Demodulator
 	0080  SkyEye Weather Satellite Receiver
+1283  zebris Medical GmbH
+	0100  USB-RS232 Adaptor
+	0110  CMS20
+	0111  CMS 10
+	0112  CMS 05
+	0114  ARCUS digma PC-Interface
+	0115  SAM Axioquick recorder
+	0116  SAM Axioquick recorder
+	0120  emed-X
+	0121  emed-AT
+	0130  PDM
+	0150  CMS10GI (Golf)
 1286  Marvell Semiconductor, Inc.
 	8001  BLOB boot loader firmware
+1291  Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc.
+	0010  FDM 2xxx Flash-OFDM modem
+	0011  LR7F06/LR7F14 Flash-OFDM modem
 1292  Innomedia
 	0258  Creative Labs VoIP Blaster
 1293  Belkin Components [hex]
@@ -10587,6 +10774,7 @@
 129b  CyberTAN Technology
 	1666  TG54USB 802.11bg
 	1667  802.11bg
+	1828  Gigaset USB Adapter 300
 12a7  Trendchip Technologies Corp.
 12ab  Honey Bee Electronic International Ltd.
 12ba  Licensed by Sony Computer Entertainment America
@@ -10598,7 +10786,10 @@
 	1001  E620 USB Modem
 	1003  E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
 	1009  U120
+	140b  EC1260 Wireless Data Modem HSD USB Card
+	1446  E1552 (HSPA modem)
 12d2  LINE TECH INDUSTRIAL CO., LTD.
+12d6  EMS Dr. Thomas Wuensche
 12d7  BETTER WIRE FACTORY CO., LTD.
 12e6  Waldorf Music GmbH
 	0013  Blofeld
@@ -10737,6 +10928,9 @@
 	3243  DTV-DVB UDXTTM6010 - A/D Driver(Without HID)
 	3244  DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver
 	3247  802.11 n/g/b Wireless LAN Adapter
+	3262  802.11 n/g/b Wireless LAN USB Adapter
+	3273  802.11 n/g/b Wireless LAN USB Mini-Card
+	3284  Wireless LAN USB Mini-Card
 	7020  DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005)
 	7022  DTV-DVB UDST7022BDA DVB-S Box(Without HID)
 13dc  ALEREON, INC.
@@ -10762,9 +10956,15 @@
 	1110  Merlin S620
 	1120  Merlin EX720
 	1130  Merlin S720
-	1400  Merlin U740
+	1400  Merlin U730/U740 (Vodafone)
+	1410  Merlin U740 (non-Vodafone)
+	1430  Merlin XU870
+	1450  Merlin X950D
 	2110  Ovation U720/MCD3000
+	2410  Expedite EU740
+	2420  Expedite EU850D/EU860D/EU870D
 	4100  U727
+	4400  Ovation MC930D/MC950D
 1415  Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc.
 	0000  Sony SingStar USBMIC
 	0020  Sony Wireless SingStar
@@ -10772,6 +10972,8 @@
 1419  ABILITY ENTERPRISE CO., LTD.
 1429  Vega Technologies Industrial (Austria) Co.
 142a  Thales E-Transactions
+	0003  Artema Hybrid
+	0005  Artema Modular
 	0043  medCompact
 1430  RedOctane
 	4734  Guitar Hero4 hub
@@ -10811,6 +11013,7 @@
 	e015  eHome Infrared Receiver
 	e016  eHome Infrared Receiver
 147e  Upek
+	1000  Biometric Touchchip/Touchstrip Fingerprint Sensor
 	2016  Biometric Touchchip/Touchstrip Fingerprint Sensor
 147f  Hama GmbH & Co., KG
 1484  Elsa AG [hex]
@@ -10826,6 +11029,8 @@
 	2570  802.11g WiFi
 	2573  RT2501USB Wireless Adapter
 	2671  RT2601USB Wireless Adapter
+	2870  RT2870 Wireless Adapter
+	3070  RT2870 Wireless Adapter
 	9020  RT2500USB Wireless Adapter
 	9021  RT2501USB Wireless Adapter
 1497  Panstrong Company Ltd.
@@ -10856,6 +11061,8 @@
 	6900  Card Reader
 14d8  JAMER INDUSTRIES CO., LTD.
 14dd  Raritan Computer, Inc.
+14e1  Dialogue Technology Corp.
+	5000  PenMount 5000 Touch Controller
 14e5  SAIN Information & Communications Co., Ltd.
 14ea  Planex Communications
 	ab10  GW-US54GZ
@@ -10930,6 +11137,10 @@
 	9015  AF9015 DVB-T USB2.0 stick
 	9016  AF9015 DVB-T USB2.0 stick
 15a8  Teams Power Limited
+15a9  Gemtek
+	0004  WUBR177G
+	0006  Wireless 11n USB Adapter
+	0010  802.11n USB Wireless Card
 15aa  Gearway Electronics (Dong Guan) Co., Ltd.
 15ba  Olimex Ltd.
 	0003  OpenOCD JTAG
@@ -10946,6 +11157,7 @@
 	00c3  Mini Optical Mouse
 15d5  Coulomb Electronics Ltd.
 15d9  Unknown
+	0a33  Optical Mouse
 	0a37  Mouse
 15dc  Hynix Semiconductor Inc.
 15e0  Seong Ji Industrial Co., Ltd.
@@ -11104,6 +11316,9 @@
 	0103  mvBlueFOX camera
 1657  Struck Innovative Systeme GmbH
 	3150  SIS3150 USB2.0 to VME interface
+165b  Frontier Design Group
+	8101  Tranzport Control Surface
+	fad1  Alphatrack Control Surface
 1660  Creatix Polymedia GmbH
 1668  Actiontec Electronics, Inc. [hex]
 	0009  Gateway
@@ -11181,6 +11396,8 @@
 	7811  AR5523
 	7812  AR5523 (no firmware)
 16ac  Dongguan ChingLung Wire & Cable Co., Ltd.
+16b5  Persentec, Inc.
+	0002  Otto driving companion
 16c0  VOTI
 	03e8  free for internal lab use 1000
 	03e9  free for internal lab use 1001
@@ -11227,11 +11444,23 @@
 1736  CANON IMAGING SYSTEM TECHNOLOGIES INC.
 1737  Linksys
 	0039  USB1000
+	0070  WUSB100 RangePlus Wireless USB Adapter
+	0071  WUSB600N Dual-Band Wireless-N USB Network Adapter
+	0078  WUSB100 RangePlus Wireless USB Network Adapter ver. 2
+	0079  WUSB600N Wireless-N USB Network Adapter with Dual-Band ver. 2
 1740  Senao
+	0605  LevelOne WUA-0605 N_Max Wireless USB Adapter
+	0615  LevelOne WUA-0615 N_Max Wireless USB Adapter
 	2000  NUB-8301 802.11bg
+	9701  EnGenius 802.11n Wireless USB Adapter
+	9702  EnGenius 802.11n Wireless USB Adapter
+	9703  EnGenius 802.11n Wireless USB Adapter
+	9705  EnGenius 802.11n Wireless USB Adapter
+	9706  EnGenius 802.11n Wireless USB Adapter
 1743  General Atomics
 174c  ASMedia Technology Inc.
 174f  Syntek
+	1403  Integrated Webcam
 	5212  USB 2.0 UVC PC Camera
 	5a11  PC Camera
 	5a31  Sonix USB 2.0 Camera
@@ -11255,6 +11484,7 @@
 	0313  LW313 802.11n Adapter [ralink rt2770 + rt2720]
 1781  Multiple Vendors
 	083e  MetaGeek Wi-Spy
+	083f  MetaGeek Wi-Spy 2.4x
 	0938  Iguanaworks USB IR Transceiver
 1782  Spreadtrum Communications Inc.
 1784  TopSeed Technology Corp.
@@ -11263,6 +11493,13 @@
 1797  JALCO CO., LTD.
 17a0  Samson Technologies Corp.
 	0001  C01U condenser microphone
+	0002  Q1U dynamic microphone
+	0100  C03U multi-pattern microphone
+	0101  UB1 boundary microphone
+	0200  StudioDock monitors (internal hub)
+	0201  StudioDock monitors (audio)
+	0301  Q2U handheld microphone with XLR
+	0302  GoMic compact condenser microphone
 17a4  Concept2
 	0001  Performance Monitor 3
 	0002  Performance Monitor 4
@@ -11294,24 +11531,33 @@
 	3202  VisionDTV USB-Ter/HAMA USB DVB-T device warm
 1831  Gwo Jinn Industries Co., Ltd.
 1832  Huizhou Shenghua Industrial Co., Ltd.
+183d  VIVOphone
+	0010  VoiceKey
 1854  Memory Devices Ltd.
 185b  Compro
 	d000  Compro Videomate DVB-U2000 - DVB-T USB cold
 	d001  Compro Videomate DVB-U2000 - DVB-T USB warm
 1861  Tech Technology Industrial Company
 1862  Teridian Semiconductor Corp.
+1870  Nexio Co., Ltd
+	0001  iNexio Touchscreen controller
 1871  Aveo Technology Corp.
 1894  Topseed
 	5632  Atek Tote Remote
 	5641  TSAM-004 Presentation Remote
 1897  Evertop Wire Cable Co.
+18a5  Verbatim, Ltd
+	0214  Portable Hard Drive
+	0218  External Hard Drive
 18b4  e3C Technologies
 	1001  DUTV007
 	1689  DUTV009
 18b6  Mikkon Technology Limited
 18b7  Zotek Electronic Co., Ltd.
-18c5  AMIT
+18c5  AMIT Technology, Inc.
 	0002  CG-WLUSB2GO
+	0008  CG-WLUSB2GNR Corega Wireless USB Adapter
+	0012  CG-WLUSB10 Corega Wireless USB Adapter
 18cd  Ecamm
 	cafe  Pico iMage
 18d5  Starline International Group Limited
@@ -11332,10 +11578,10 @@
 18fd  FineArch Inc.
 190d  Motorola GSG
 1914  Alco Digital Devices Limited
-1915  Linksys
-	2233  WUSB11 v2.8 802.11b Adapter
-	2234  WUSB54G 802.11g Adapter
-	2236  WUSB11 v3.0 802.11b Adapter
+1915  Nordic Semiconductor ASA
+	2233  Linksys WUSB11 v2.8 802.11b Adapter
+	2234  Linksys WUSB54G 802.11g Adapter
+	2236  Linksys WUSB11 v3.0 802.11b Adapter
 192f  Avago Technologies, Pte.
 1930  Shenzhen Xianhe Technology Co., Ltd.
 1931  Ningbo Broad Telecommunication Co., Ltd.
@@ -11396,8 +11642,11 @@
 1a12  KES Co., Ltd.
 1a25  Amphenol East Asia Ltd.
 1a2a  Seagate Branded Solutions
+1a32  Quanta Microsystems, Inc.
+	0304  802.11n Wireless LAN Card
 1a36  Biwin Technology Ltd.
 1a40  TERMINUS TECHNOLOGY INC.
+	0101  USB-2.0 4-Port HUB
 1a41  Action Electronics Co., Ltd.
 1a44  VASCO Data Security International
 	0001  Digipass 905 SmartCard Reader
@@ -11511,30 +11760,30 @@
 	0064  Pleo robotic dinosaur
 1b36  ViXS Systems, Inc.
 1b3b  iPassion Technology Inc.
-	2933  PC Camera/WebCam controller
-	2935  PC Camera/WebCam controller
-	2936  PC Camera/WebCam controller
-	2937  PC Camera/WebCam controller
-	2938  PC Camera/WebCam controller
-	2939  PC Camera/WebCam controller
-	2950  PC Camera/WebCam controller
-	2951  PC Camera/WebCam controller
-	2952  PC Camera/WebCam controller
-	2953  PC Camera/WebCam controller
-	2955  PC Camera/WebCam controller
-	2956  PC Camera/WebCam controller
-	2957  PC Camera/WebCam controller
-	2958  PC Camera/WebCam controller
-	2959  PC Camera/WebCam controller
-	2960  PC Camera/WebCam controller
-	2961  PC Camera/WebCam controller
-	2962  PC Camera/WebCam controller
-	2963  PC Camera/WebCam controller
-	2965  PC Camera/WebCam controller
-	2966  PC Camera/WebCam controller
-	2967  PC Camera/WebCam controller
-	2968  PC Camera/WebCam controller
-	2969  PC Camera/WebCam controller
+	2933  PC Camera/Webcam controller
+	2935  PC Camera/Webcam controller
+	2936  PC Camera/Webcam controller
+	2937  PC Camera/Webcam controller
+	2938  PC Camera/Webcam controller
+	2939  PC Camera/Webcam controller
+	2950  PC Camera/Webcam controller
+	2951  PC Camera/Webcam controller
+	2952  PC Camera/Webcam controller
+	2953  PC Camera/Webcam controller
+	2955  PC Camera/Webcam controller
+	2956  PC Camera/Webcam controller
+	2957  PC Camera/Webcam controller
+	2958  PC Camera/Webcam controller
+	2959  PC Camera/Webcam controller
+	2960  PC Camera/Webcam controller
+	2961  PC Camera/Webcam controller
+	2962  PC Camera/Webcam controller
+	2963  PC Camera/Webcam controller
+	2965  PC Camera/Webcam controller
+	2966  PC Camera/Webcam controller
+	2967  PC Camera/Webcam controller
+	2968  PC Camera/Webcam controller
+	2969  PC Camera/Webcam controller
 1b3f  Generalplus Technology Inc.
 1b47  Energizer Holdings, Inc.
 	0001  CHUSB Duo Charger (NiMH AA/AAA USB smart charger)
@@ -11543,6 +11792,8 @@
 1b5a  Chao Zhou Kai Yuan Electric Co., Ltd.
 1b65  The Hong Kong Standards and Testing Centre Ltd.
 1b72  ATERGI TECHNOLOGY CO., LTD.
+1b75  Ovislink Corp.
+	3072  AirLive WN-360USB adapter
 1b76  Legend Silicon Corp.
 1b80  Afatech
 	c810  AF9015 BDA Device
@@ -11632,6 +11883,7 @@
 1ce1  Amphenol KAE
 1cfc  ANDES TECHNOLOGY CORPORATION
 1cfd  Flextronics Digital Design Japan, LTD.
+1d07  Solid-Motion
 1d08  NINGBO HENTEK DRAGON ELECTRONICS CO., LTD.
 1d09  TechFaith Wireless Technology Limited
 1d0a  Johnson Controls, Inc. The Automotive Business Unit
@@ -11639,6 +11891,10 @@
 1d14  ALPHA-SAT TECHNOLOGY LIMITED
 1d1f  Diostech Co., Ltd.
 1d20  SAMTACK INC.
+1d4d  PEGATRON CORPORATION
+	0002  Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device
+	000c  Ralink RT3070 802.11b/g/n Wireless Lan USB Device
+	000e  Ralink RT3070 802.11b/g/n Wireless Lan USB Device
 1d50  OpenMoko, Inc.
 1d5b  Smartronix, Inc.
 1d6b  Linux Foundation
@@ -11656,7 +11912,14 @@
 	2030  2030 USB Keyboard
 1e68  TrekStor GmbH & Co. KG
 	001b  DataStation maxi g.u
+1e71  NZXT
+	0001  Avatar Optical Mouse
+1e74  Coby Electronics Corporation
+	6511  MP705-8G MP3 player
+	6512  MP705-4G
 1ebb  NuCORE Technology, Inc.
+1eda  AirTies Wireless Networks
+	2310  802.11n USB Wireless LAN Card
 1f28  Cal-Comp
 2001  D-Link Corp. [hex]
 	0001  DWL-120 WIRELESS ADAPTER
@@ -11701,6 +11964,7 @@
 	9b00  Broadband Cable Modem Remote NDIS Device
 	abc1  DSB-650 Ethernet [pegasus]
 	f013  DLink 7 port USB2.0 Hub
+	f103  DUB-H7 7-port USB 2.0 hub
 	f10d  Accent Communications Modem
 	f110  DUB-AV300 A/V Capture
 	f111  DBT-122 Bluetooth adapter
@@ -11713,11 +11977,15 @@
 	5303  GW-US54GXS 802.11bg
 	5304  GWUS300 802.11n
 	ab01  GW-US54HP
+	ab24  GW-US300MiniS
+	ab25  150N Wireless LAN USB Adapter
 	ab50  GW-US54Mini2
 	c002  GW-US54SG
 	c007  GW-US54GZL
 	ed02  GW-USMM
 2040  Hauppauge
+	2011  WinTV MiniCard [Dell Digital TV Receiver]
+	2400  WinTV PVR USB2 (Model 24019)
 	4700  WinTV Nova-S-USB2
 	6502  WinTV HVR-900
 	6503  WinTV HVR-930
@@ -11727,6 +11995,7 @@
 	7070  Nova-T Stick 3
 	9300  WinTV NOVA-T USB2 (cold)
 	9301  WinTV NOVA-T USB2 (warm)
+2047  Texas Instruments
 20b1  XMOS Ltd
 	10ad  XUSB Loader
 	f7d1  X2TAG - USB to JTAG interface
@@ -12003,10 +12272,12 @@
 	0058  Port Replicator
 	1001  Keyboard Hub
 	1002  Keyboard Hub
+	1003  Keyboard Hub
 	2001  Keyboard HID Support
 	2002  SK-8125 Keyboard
 	2003  Keyboard
 	2005  RT7D50 Keyboard
+	2011  Multimedia Pro Keyboard
 	2100  SK-3106 Keyboard
 	2101  SmartCard Reader Keyboard
 	2105  Model L100 Keyboard
@@ -12164,6 +12435,11 @@
 	0200  OrbiCam
 5a57  Zinwell
 	0260  RT2570
+	0280  802.11a/b/g/n USB Wireless LAN Card
+	0282  802.11b/g/n USB Wireless LAN Card
+	0283  802.11b/g/n USB Wireless LAN Card
+	0284  802.11a/b/g/n USB Wireless LAN Card
+	5257  Metronic 495257 wifi 802.11ng
 6189  Sitecom
 	182d  USB 2.0 Ethernet
 	2068  USB to serial cable (v2)
@@ -12185,6 +12461,10 @@
 6a75  Shanghai Jujo Electronics Co., Ltd
 7104  CME (Central Music Co.)
 	2202  UF5/UF6/UF7/UF8 MIDI Master Keyboard
+7392  Edimax Technology Co., Ltd
+	7711  EW-7711UTn nLite Wireless USB Adapter
+	7717  EW-7717UN 802.11n Wireless USB Adapter
+	7718  EW-7718UN 802.11n Wireless USB Adapter
 8086  Intel Corp.
 	0001  AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter
 	0100  Personal Audio Player 3000
@@ -12204,6 +12484,7 @@
 	1110  PRO/Wireless LAN Module
 	1111  PRO/Wireless 2011B 802.11b Adapter
 	1134  Hollister Mobile Monitor
+	1139  In-Target Probe (ITP)
 	1234  Prototype Reader/Writer
 	3100  PRO/DSL 3220 Modem - WAN
 	3101  PRO/DSL 3220 Modem
@@ -12232,6 +12513,24 @@
 	7830  MCS7830 Ethernet
 99fa  Grandtec
 	8988  V.cap Camera Device
+a128  AnMo Electronics Corp. / Dino-Lite (?)
+	0610  Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+	0611  Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+	0612  Dino-Lite Digital Microscope (SN9C120 + HV7131R)
+	0613  Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+	0614  Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+	0615  Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+	0616  Dino-Lite Digital Microscope (SN9C120 + HV7131R)
+	0617  Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111)
+	0618  Dino-Lite Digital Microscope (SN9C201 + HV7131R)
+a168  AnMo Electronics Corporation
+	0610  Dino-Lite Digital Microscope
+	0611  Dino-Lite Digital Microscope
+	0613  Dino-Lite Digital Microscope
+	0614  Dino-Lite Pro Digital Microscope
+	0615  Dino-Lite Pro Digital Microscope
+	0617  Dino-Lite Pro Digital Microscope
+	0618  Dino-Lite Digital Microscope
 a600  Asix
 	e110  OK1ZIA Davac 4.x
 a727  3Com
@@ -12244,6 +12543,19 @@
 	2710  ULink
 d209  Ultimarc
 	0301  I-PAC Arcade Control Interface
+e4e4  Xorcom Ltd.
+	1130  Astribank series
+	1131  Astribank series
+	1132  Astribank series
+	1140  Astribank series
+	1141  Astribank series
+	1142  Astribank series
+	1150  Astribank series
+	1151  Astribank series
+	1152  Astribank series
+	1160  Astribank 2 series
+	1161  Astribank 2 series
+	1162  Astribank 2 series
 eb03  MakingThings
 	0920  Make Controller Kit
 eb1a  eMPIA Technology, Inc.
