kernel/usb4bsd: Sync usb_quirk(4) with FreeBSD.
authorSascha Wildner <saw@online.de>
Sat, 10 Jan 2015 19:25:58 +0000 (20:25 +0100)
committerSascha Wildner <saw@online.de>
Sat, 10 Jan 2015 19:27:16 +0000 (20:27 +0100)
share/man/man4/usb_quirk.4
sys/bus/u4b/quirk/Makefile
sys/bus/u4b/quirk/usb_quirk.c
sys/bus/u4b/quirk/usb_quirk.h
sys/bus/u4b/usbdevs

index 864317c..6ae306a 100644 (file)
@@ -14,9 +14,9 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.\" $FreeBSD: head/share/man/man4/usb_quirk.4 253988 2013-08-06 11:00:56Z dwmalone $
+.\" $FreeBSD: head/share/man/man4/usb_quirk.4 267938 2014-06-26 21:46:14Z bapt $
 .\"
-.Dd April 20, 2013
+.Dd January 10, 2015
 .Dt USB_QUIRK 4
 .Os
 .Sh NAME
@@ -49,13 +49,13 @@ swap left and right channels
 .It UQ_AU_INP_ASYNC
 input is async despite claim of adaptive
 .It UQ_AU_NO_FRAC
-don't adjust for fractional samples
+do not adjust for fractional samples
 .It UQ_AU_NO_XU
 audio device has broken extension unit
 .It UQ_BAD_ADC
 bad audio spec version number
 .It UQ_BAD_AUDIO
-device claims audio class, but isn't
+device claims audio class, but is not
 .It UQ_BROKEN_BIDIR
 printer has broken bidir mode
 .It UQ_BUS_POWERED
@@ -69,7 +69,7 @@ device should set the boot protocol
 .It UQ_UMS_IGNORE
 device should be ignored by ums class
 .It UQ_MS_BAD_CLASS
-doesn't identify properly
+does not identify properly
 .It UQ_MS_LEADING_BYTE
 mouse sends an unknown leading byte
 .It UQ_MS_REVZ
@@ -150,27 +150,28 @@ ejects after Huawei USB command
 ejects after Sierra USB command
 .It UQ_MSC_EJECT_SCSIEJECT
 ejects after SCSI eject command
-0x1b0000000200
+.Dv 0x1b0000000200
 .It UQ_MSC_EJECT_REZERO
 ejects after SCSI rezero command
-0x010000000000
+.Dv 0x010000000000
 .It UQ_MSC_EJECT_ZTESTOR
 ejects after ZTE SCSI command
-0x850101011801010101010000
+.Dv 0x850101011801010101010000
 .It UQ_MSC_EJECT_CMOTECH
 ejects after C-motech SCSI command
-0xff52444556434847
+.Dv 0xff52444556434847
 .It UQ_MSC_EJECT_WAIT
 wait for the device to eject
 .It UQ_MSC_EJECT_SAEL_M460
 ejects after Sael USB commands
 .It UQ_MSC_EJECT_HUAWEISCSI
 ejects after Huawei SCSI command
-0x11060000000000000000000000000000
+.Dv 0x11060000000000000000000000000000
 .It UQ_MSC_EJECT_TCT
 ejects after TCT SCSI command
-0x06f504025270
+.Dv 0x06f504025270
 .El
+.Pp
 See
 .Pa /sys/dev/usb/quirk/usb_quirk.h
 for the complete list of supported quirks.
index 5350848..48a8282 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/sys/modules/usb/quirk/Makefile,v 1.1 2009/02/23 18:32:59 thompsa Exp $
+# $FreeBSD: head/sys/modules/usb/quirk/Makefile 188943 2009-02-23 18:32:59Z thompsa $
 #
 # Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
 #
index f121a6e..1b819d1 100644 (file)
@@ -1,4 +1,4 @@
-/* $FreeBSD$ */
+/* $FreeBSD: head/sys/dev/usb/quirk/usb_quirk.c 276239 2014-12-26 10:53:22Z hselasky $ */
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc. All rights reserved.
  * Copyright (c) 1998 Lennart Augustsson. All rights reserved.
@@ -57,7 +57,7 @@
 MODULE_DEPEND(usb_quirk, usb, 1, 1, 1);
 MODULE_VERSION(usb_quirk, 1);
 
-#define        USB_DEV_QUIRKS_MAX 256
+#define        USB_DEV_QUIRKS_MAX 384
 #define        USB_SUB_QUIRKS_MAX 8
 
 struct usb_quirk_entry {
@@ -91,6 +91,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(TELEX, MIC1, 0x009, 0x009, UQ_AU_NO_FRAC),
        USB_QUIRK(SILICONPORTALS, YAPPHONE, 0x100, 0x100, UQ_AU_INP_ASYNC),
        USB_QUIRK(LOGITECH, UN53B, 0x0000, 0xffff, UQ_NO_STRINGS),
+       USB_QUIRK(REALTEK, RTL8196EU, 0x0000, 0xffff, UQ_CFG_INDEX_1),
        USB_QUIRK(ELSA, MODEM1, 0x0000, 0xffff, UQ_CFG_INDEX_1),
        USB_QUIRK(PLANEX2, MZKUE150N, 0x0000, 0xffff, UQ_CFG_INDEX_1),
        /* Quirks for printer devices */
@@ -107,6 +108,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(CYBERPOWER, 1500CAVRLCD, 0x0000, 0xffff, UQ_HID_IGNORE),
        USB_QUIRK(CYPRESS, SILVERSHIELD, 0x0000, 0xffff, UQ_HID_IGNORE),
        USB_QUIRK(DELORME, EARTHMATE, 0x0000, 0xffff, UQ_HID_IGNORE),
+       USB_QUIRK(DREAMLINK, DL100B, 0x0000, 0xffff, UQ_HID_IGNORE),
        USB_QUIRK(ITUNERNET, USBLCD2X20, 0x0000, 0xffff, UQ_HID_IGNORE),
        USB_QUIRK(ITUNERNET, USBLCD4X20, 0x0000, 0xffff, UQ_HID_IGNORE),
        USB_QUIRK(LIEBERT, POWERSURE_PXT, 0x0000, 0xffff, UQ_HID_IGNORE),
@@ -127,6 +129,8 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(MICROSOFT, WLINTELLIMOUSE, 0x0000, 0xffff, UQ_MS_LEADING_BYTE),
        /* Quirk for Corsair Vengeance K60 keyboard */
        USB_QUIRK(CORSAIR, K60, 0x0000, 0xffff, UQ_KBD_BOOTPROTO),
+       /* Quirk for Corsair Vengeance K70 keyboard */
+       USB_QUIRK(CORSAIR, K70, 0x0000, 0xffff, UQ_KBD_BOOTPROTO),
        /* umodem(4) device quirks */
        USB_QUIRK(METRICOM, RICOCHET_GS, 0x100, 0x100, UQ_ASSUME_CM_OVER_DATA),
        USB_QUIRK(SANYO, SCP4900, 0x000, 0x000, UQ_ASSUME_CM_OVER_DATA),
@@ -162,6 +166,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(ASAHIOPTICAL, OPTIO330, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
+       USB_QUIRK(ATP, EUSB, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(BELKIN, USB2SCSI, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI),
        USB_QUIRK(CASIO, QV_DIGICAM, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_CBI,
@@ -232,6 +237,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(JMICRON, JM20337, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI,
            UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(KINGSTON, HYPERX3_0, 0x0000, 0xffff, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(KYOCERA, FINECAM_L3, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(KYOCERA, FINECAM_S3X, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_CBI,
@@ -245,6 +251,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(LEXAR, CF_READER, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(LEXAR, JUMPSHOT, 0x0000, 0xffff, UQ_MSC_FORCE_PROTO_SCSI),
+       USB_QUIRK(LEXAR, JUMPDRIVE, 0x0000, 0xffff, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(LOGITEC, LDR_H443SU2, 0x0000, 0xffff, UQ_MSC_FORCE_PROTO_SCSI),
        USB_QUIRK(LOGITEC, LDR_H443U2, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI,),
@@ -284,6 +291,7 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_IGNORE_RESIDUE),
        USB_QUIRK(NETCHIP, CLIK_40, 0x0000, 0xffff, UQ_MSC_FORCE_PROTO_ATAPI,
            UQ_MSC_NO_INQUIRY),
+       USB_QUIRK(NETCHIP, POCKETBOOK, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(NIKON, D300, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI),
        USB_QUIRK(OLYMPUS, C1, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
@@ -330,6 +338,9 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(SANDISK, SDDR12, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_CBI,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_READ_CAP_OFFBY1,
            UQ_MSC_NO_GETMAXLUN),
+       USB_QUIRK(SANDISK, SDCZ2_128, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
+           UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_IGNORE_RESIDUE,
+           UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(SANDISK, SDCZ2_256, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_IGNORE_RESIDUE),
        USB_QUIRK(SANDISK, SDCZ4_128, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
@@ -425,8 +436,28 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
        USB_QUIRK(WESTERN, MYBOOK, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY_EVPD,
            UQ_MSC_NO_SYNC_CACHE),
-       USB_QUIRK(WESTERN, MYPASSWORD, 0x0000, 0xffff, UQ_MSC_FORCE_SHORT_INQ),
-       USB_QUIRK(WESTERN, MYPASSPORT, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_00, 0x0000, 0xffff, UQ_MSC_FORCE_SHORT_INQ),
+       USB_QUIRK(WESTERN, MYPASSPORT_01, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_02, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_03, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_04, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_05, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_06, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_07, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_08, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_09, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_10, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORT_11, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_00, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_01, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_02, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_03, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_04, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_05, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_06, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_07, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_08, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(WESTERN, MYPASSPORTES_09, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(WINMAXGROUP, FLASH64MC, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
        USB_QUIRK(YANO, FW800HD, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
@@ -447,8 +478,8 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
            UQ_MSC_FORCE_PROTO_ATAPI),
        USB_QUIRK(MEIZU, M6_SL, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY, UQ_MSC_NO_SYNC_CACHE),
-
-       USB_QUIRK(TOSHIBA, TRANSMEMORY, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
+       USB_QUIRK(TOSHIBA, TRANSMEMORY, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE,
+           UQ_MSC_NO_PREVENT_ALLOW),
        USB_QUIRK(VIALABS, USB30SATABRIDGE, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
 
        /* Non-standard USB MIDI devices */
@@ -553,6 +584,7 @@ static const char *usb_quirk_str[USB_QUIRK_MAX] = {
        [UQ_MSC_EJECT_WAIT]             = "UQ_MSC_EJECT_WAIT",
        [UQ_MSC_EJECT_SAEL_M460]        = "UQ_MSC_EJECT_SAEL_M460",
        [UQ_MSC_EJECT_HUAWEISCSI]       = "UQ_MSC_EJECT_HUAWEISCSI",
+       [UQ_MSC_EJECT_HUAWEISCSI2]      = "UQ_MSC_EJECT_HUAWEISCSI2",
        [UQ_MSC_EJECT_TCT]              = "UQ_MSC_EJECT_TCT",
        [UQ_BAD_MIDI]                   = "UQ_BAD_MIDI",
        [UQ_AU_VENDOR_CLASS]            = "UQ_AU_VENDOR_CLASS",
index 15d5f15..3296ff1 100644 (file)
@@ -1,4 +1,4 @@
-/* $FreeBSD$ */
+/* $FreeBSD: head/sys/dev/usb/quirk/usb_quirk.h 269576 2014-08-05 09:35:25Z n_hibma $ */
 /*-
  * Copyright (c) 2008 Hans Petter Selasky. All rights reserved.
  *
@@ -102,6 +102,7 @@ enum {
        UQ_MSC_EJECT_WAIT,              /* wait for the device to eject */
        UQ_MSC_EJECT_SAEL_M460,         /* ejects after Sael USB commands */ 
        UQ_MSC_EJECT_HUAWEISCSI,        /* ejects after Huawei SCSI command */
+       UQ_MSC_EJECT_HUAWEISCSI2,       /* ejects after Huawei SCSI 2 command */
        UQ_MSC_EJECT_TCT,               /* ejects after TCT SCSI command */
 
        UQ_BAD_MIDI,            /* device claims MIDI class, but isn't */
index 86698ad..ab3bc12 100644 (file)
@@ -643,6 +643,7 @@ vendor ABOCOM2              0x1482  AboCom Systems
 vendor SILICOM         0x1485  Silicom
 vendor RALINK          0x148f  Ralink Technology
 vendor IMAGINATION     0x149a  Imagination Technologies
+vendor ATP             0x14af  ATP Electronics
 vendor CONCEPTRONIC2   0x14b2  Conceptronic
 vendor SUPERTOP                0x14cd  Super Top
 vendor PLANEX3         0x14ea  Planex Communications
@@ -712,6 +713,7 @@ vendor LONGCHEER    0x1c9e  Longcheer Holdings, Ltd.
 vendor MPMAN           0x1cae  MpMan
 vendor DRESDENELEKTRONIK 0x1cf1 dresden elektronik
 vendor NEOTEL          0x1d09  Neotel
+vendor DREAMLINK       0x1d34  Dream Link
 vendor PEGATRON                0x1d4d  Pegatron
 vendor QISDA           0x1da5  Qisda
 vendor METAGEEK2       0x1dd5  MetaGeek
@@ -1156,6 +1158,9 @@ product ATEN UC232A               0x2008  Serial
 product ATEN UC210T            0x2009  UC-210T Ethernet
 product ATEN DSB650C           0x4000  DSB-650C
 
+/* ATP Electronics products */
+product ATP EUSB               0xaf01  ATP IG eUSB SSD
+
 /* Atheros Communications products */
 product ATHEROS AR5523         0x0001  AR5523
 product ATHEROS AR5523_NF      0x0002  AR5523 (no firmware)
@@ -1431,6 +1436,7 @@ product COREGA FETHER_USB_TXC     0x9601  FEther USB-TXC
 
 /* Corsair products */
 product CORSAIR K60            0x0a60  Corsair Vengeance K60 keyboard
+product CORSAIR K70            0x1b09  Corsair Vengeance K70 keyboard
 
 /* Creative products */
 product CREATIVE NOMAD_II      0x1002  Nomad II MP3 player
@@ -1600,6 +1606,9 @@ product DMI DISK          0x2bcf  Generic Disk
 /* DrayTek products */
 product DRAYTEK VIGOR550       0x0550  Vigor550
 
+/* Dream Link products */
+product DREAMLINK DL100B       0x0004  USB Webmail Notifier
+
 /* dresden elektronik products */
 product DRESDENELEKTRONIK SENSORTERMINALBOARD  0x0001 SensorTerminalBoard
 product DRESDENELEKTRONIK WIRELESSHANDHELDTERMINAL  0x0004 Wireless Handheld Terminal
@@ -2454,6 +2463,7 @@ product KEYSPAN UIA11             0x0202  UIA-11 remote control
 /* Kingston products */
 product KINGSTON XX1           0x0008  Ethernet
 product KINGSTON KNU101TX      0x000a  KNU101TX USB Ethernet
+product KINGSTON HYPERX3_0     0x162b  DT HyperX 3.0
 
 /* Kawasaki products */
 product KLSI DUH3E10BT         0x0008  USB Ethernet
@@ -2530,6 +2540,7 @@ product LENOVO ETHERNET           0x7203  USB 2.0 Ethernet
 /* Lexar products */
 product LEXAR JUMPSHOT         0x0001  jumpSHOT CompactFlash Reader
 product LEXAR CF_READER                0xb002  USB CF Reader
+product LEXAR JUMPDRIVE                0xa833  USB Jumpdrive Flash Drive
 
 /* Lexmark products */
 product LEXMARK S2450          0x0009  Optra S 2450
@@ -3111,6 +3122,7 @@ product NETCHIP TURBOCONNECT      0x1080  Turbo-Connect
 product NETCHIP CLIK_40                0xa140  USB Clik! 40
 product NETCHIP GADGETZERO     0xa4a0  Linux Gadget Zero
 product NETCHIP ETHERNETGADGET 0xa4a2  Linux Ethernet/RNDIS gadget on pxa210/25x/26x
+product NETCHIP POCKETBOOK     0xa4a5  PocketBook
 
 /* Netgear products */
 product NETGEAR EA101          0x1001  Ethernet
@@ -3648,6 +3660,7 @@ product REALTEK RTL8188CU_2       0x817b  RTL8188CU
 product REALTEK RTL8187                0x8187  RTL8187 Wireless Adapter
 product REALTEK RTL8187B_0     0x8189  RTL8187B Wireless Adapter
 product REALTEK RTL8188CUS     0x818a  RTL8188CUS
+product REALTEK RTL8196EU      0x8196  RTL8196EU
 product REALTEK RTL8187B_1     0x8197  RTL8187B Wireless Adapter
 product REALTEK RTL8187B_2     0x8198  RTL8187B Wireless Adapter
 product REALTEK RTL8188CU_COMBO        0x8754  RTL8188CU
@@ -4387,8 +4400,28 @@ product WESTERN COMBO            0x0200  Firewire USB Combo
 product WESTERN EXTHDD         0x0400  External HDD
 product WESTERN HUB            0x0500  USB HUB
 product WESTERN MYBOOK         0x0901  MyBook External HDD
-product WESTERN MYPASSWORD     0x0704  MyPassword External HDD
-product WESTERN MYPASSPORT     0x0748  MyPassport External HDD
+product WESTERN MYPASSPORT_00  0x0704  MyPassport External HDD
+product WESTERN MYPASSPORT_11  0x0741  MyPassport External HDD
+product WESTERN MYPASSPORT_01  0x0746  MyPassport External HDD
+product WESTERN MYPASSPORT_02  0x0748  MyPassport External HDD
+product WESTERN MYPASSPORT_03  0x074A  MyPassport External HDD
+product WESTERN MYPASSPORT_04  0x074C  MyPassport External HDD
+product WESTERN MYPASSPORT_05  0x074E  MyPassport External HDD
+product WESTERN MYPASSPORT_06  0x07A6  MyPassport External HDD
+product WESTERN MYPASSPORT_07  0x07A8  MyPassport External HDD
+product WESTERN MYPASSPORT_08  0x07AA  MyPassport External HDD
+product WESTERN MYPASSPORT_09  0x07AC  MyPassport External HDD
+product WESTERN MYPASSPORT_10  0x07AE  MyPassport External HDD
+product WESTERN MYPASSPORTES_00        0x070A  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_01        0x071A  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_02        0x0730  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_03        0x0732  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_04        0x0740  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_05        0x0742  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_06        0x0750  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_07        0x0752  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_08        0x07A0  MyPassport Essential External HDD
+product WESTERN MYPASSPORTES_09        0x07A2  MyPassport Essential External HDD
 
 /* WeTelecom products */
 product WETELECOM WM_D200      0x6801  WM-D200