Permalink
Browse files

added an entry for IO-DATA USB serial cable USB-RSAQ3.

# just for my convention.
  • Loading branch information...
1 parent 1131b70 commit 9aa589d1020321c3caeec6a474a21aceb8869e52 keiichi committed Jun 9, 2005
Showing with 534 additions and 64 deletions.
  1. +228 −31 freebsd5/sys/dev/usb/uplcom.c
  2. +306 −33 freebsd5/sys/dev/usb/usbdevs
View
259 freebsd5/sys/dev/usb/uplcom.c
@@ -1,8 +1,7 @@
-/* $NetBSD: uplcom.c,v 1.20 2001/07/31 12:33:11 ichiro Exp $ */
-/* $FreeBSD: src/sys/dev/usb/uplcom.c,v 1.9 2002/11/17 14:22:37 joe Exp $ */
+/* $NetBSD: uplcom.c,v 1.21 2001/11/13 06:24:56 lukem Exp $ */
/*-
- * Copyright (c) 2001-2002, Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * Copyright (c) 2001-2003, 2005 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -27,7 +26,10 @@
* SUCH DAMAGE.
*/
-/*
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/sys/dev/usb/uplcom.c,v 1.20.2.4 2005/02/08 12:44:09 akiyama Exp $");
+
+/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -64,16 +66,30 @@
*/
/*
- * Simple datasheet
- * http://www.prolific.com.tw/download/DataSheet/pl2303_ds11.PDF
- * http://www.nisseisg.co.jp/jyouhou/_cp/@gif/2303.pdf
- * (english)
+ * This driver supports several USB-to-RS232 serial adapters driven by
+ * Prolific PL-2303, PL-2303X and probably PL-2303HX USB-to-RS232
+ * bridge chip. The adapters are sold under many different brand
+ * names.
+ *
+ * Datasheets are available at Prolific www site at
+ * http://www.prolific.com.tw. The datasheets don't contain full
+ * programming information for the chip.
+ *
+ * PL-2303HX is probably programmed the same as PL-2303X.
*
+ * There are several differences between PL-2303 and PL-2303(H)X.
+ * PL-2303(H)X can do higher bitrate in bulk mode, has _probably_
+ * different command for controlling CRTSCTS and needs special
+ * sequence of commands for initialization which aren't also
+ * documented in the datasheet.
*/
+#include "opt_uplcom.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
+#include <sys/module.h>
#include <sys/malloc.h>
#include <sys/bus.h>
#include <sys/ioccom.h>
@@ -90,20 +106,24 @@
#include <sys/vnode.h>
#include <sys/poll.h>
#include <sys/sysctl.h>
+#include <sys/taskqueue.h>
+
+#include <machine/bus.h>
#include <dev/usb/usb.h>
#include <dev/usb/usbcdc.h>
#include <dev/usb/usbdi.h>
+#include <dev/usb/usbdivar.h>
#include <dev/usb/usbdi_util.h>
-#include <dev/usb/usbdevs.h>
+#include "usbdevs.h"
#include <dev/usb/usb_quirks.h>
#include <dev/usb/ucomvar.h>
+SYSCTL_NODE(_hw_usb, OID_AUTO, uplcom, CTLFLAG_RW, 0, "USB uplcom");
#ifdef USB_DEBUG
static int uplcomdebug = 0;
-SYSCTL_NODE(_hw_usb, OID_AUTO, uplcom, CTLFLAG_RW, 0, "USB uplcom");
SYSCTL_INT(_hw_usb_uplcom, OID_AUTO, debug, CTLFLAG_RW,
&uplcomdebug, 0, "uplcom debug level");
@@ -122,13 +142,19 @@ SYSCTL_INT(_hw_usb_uplcom, OID_AUTO, debug, CTLFLAG_RW,
#define UPLCOM_IFACE_INDEX 0
#define UPLCOM_SECOND_IFACE_INDEX 1
+#ifndef UPLCOM_INTR_INTERVAL
#define UPLCOM_INTR_INTERVAL 100 /* ms */
+#endif
#define UPLCOM_SET_REQUEST 0x01
#define UPLCOM_SET_CRTSCTS 0x41
+#define UPLCOM_SET_CRTSCTS_PL2303X 0x61
#define RSAQ_STATUS_DSR 0x02
#define RSAQ_STATUS_DCD 0x01
+#define TYPE_PL2303 0
+#define TYPE_PL2303X 1
+
struct uplcom_softc {
struct ucom_softc sc_ucom;
@@ -147,6 +173,10 @@ struct uplcom_softc {
u_char sc_lsr; /* Local status register */
u_char sc_msr; /* uplcom status register */
+
+ int sc_chiptype; /* Type of chip */
+
+ struct task sc_task;
};
/*
@@ -174,6 +204,7 @@ Static int uplcom_ioctl(void *, int, u_long, caddr_t, int, usb_proc_ptr);
Static int uplcom_param(void *, int, struct termios *);
Static int uplcom_open(void *, int);
Static void uplcom_close(void *, int);
+Static void uplcom_notify(void *, int);
struct ucom_callback uplcom_callback = {
uplcom_get_status,
@@ -189,21 +220,42 @@ struct ucom_callback uplcom_callback = {
static const struct uplcom_product {
uint16_t vendor;
uint16_t product;
+ int32_t release; /* release is a 16bit entity,
+ * if -1 is specified we "don't care"
+ */
+ char chiptype;
} uplcom_products [] = {
/* I/O DATA USB-RSAQ */
- { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBRSAQ },
+ { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBRSAQ, -1, TYPE_PL2303 },
/* I/O DATA USB-RSAQ2 */
- { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_RSAQ2 },
+ { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_RSAQ2, -1, TYPE_PL2303 },
+ /* I/O DATA USB-RSAQ3 */
+ { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_RSAQ3, -1, TYPE_PL2303X },
/* PLANEX USB-RS232 URS-03 */
- { USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC232A },
- /* IOGEAR/ATEN UC-232A */
- { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303 },
+ { USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC232A, -1, TYPE_PL2303 },
+ /* ST Lab USB-SERIAL-4 */
+ { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303,
+ 0x300, TYPE_PL2303X },
+ /* IOGEAR/ATEN UC-232A (also ST Lab USB-SERIAL-1) */
+ { USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303, -1, TYPE_PL2303 },
/* TDK USB-PHS Adapter UHA6400 */
- { USB_VENDOR_TDK, USB_PRODUCT_TDK_UHA6400 },
+ { USB_VENDOR_TDK, USB_PRODUCT_TDK_UHA6400, -1, TYPE_PL2303 },
/* RATOC REX-USB60 */
- { USB_VENDOR_RATOC, USB_PRODUCT_RATOC_REXUSB60 },
+ { USB_VENDOR_RATOC, USB_PRODUCT_RATOC_REXUSB60, -1, TYPE_PL2303 },
/* ELECOM UC-SGT */
- { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_UCSGT },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_UCSGT, -1, TYPE_PL2303 },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_UCSGT0, -1, TYPE_PL2303 },
+ /* Sony Ericsson USB Cable */
+ { USB_VENDOR_SONYERICSSON, USB_PRODUCT_SONYERICSSON_DCU10,
+ -1,TYPE_PL2303 },
+ /* SOURCENEXT KeikaiDenwa 8 */
+ { USB_VENDOR_SOURCENEXT, USB_PRODUCT_SOURCENEXT_KEIKAI8,
+ -1, TYPE_PL2303 },
+ /* SOURCENEXT KeikaiDenwa 8 with charger */
+ { USB_VENDOR_SOURCENEXT, USB_PRODUCT_SOURCENEXT_KEIKAI8_CHG,
+ -1, TYPE_PL2303 },
+ /* HAL Corporation Crossam2+USB */
+ { USB_VENDOR_HAL, USB_PRODUCT_HAL_IMR001, -1, TYPE_PL2303 },
{ 0, 0 }
};
@@ -230,6 +282,29 @@ MODULE_DEPEND(uplcom, usb, 1, 1, 1);
MODULE_DEPEND(uplcom, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER);
MODULE_VERSION(uplcom, UPLCOM_MODVER);
+static int uplcominterval = UPLCOM_INTR_INTERVAL;
+
+static int
+sysctl_hw_usb_uplcom_interval(SYSCTL_HANDLER_ARGS)
+{
+ int err, val;
+
+ val = uplcominterval;
+ err = sysctl_handle_int(oidp, &val, sizeof(val), req);
+ if (err != 0 || req->newptr == NULL)
+ return (err);
+ if (0 < val && val <= 1000)
+ uplcominterval = val;
+ else
+ err = EINVAL;
+
+ return (err);
+}
+
+SYSCTL_PROC(_hw_usb_uplcom, OID_AUTO, interval, CTLTYPE_INT | CTLFLAG_RW,
+ 0, sizeof(int), sysctl_hw_usb_uplcom_interval,
+ "I", "uplcom interrupt pipe interval");
+
USB_MATCH(uplcom)
{
USB_MATCH_START(uplcom, uaa);
@@ -240,7 +315,9 @@ USB_MATCH(uplcom)
for (i = 0; uplcom_products[i].vendor != 0; i++) {
if (uplcom_products[i].vendor == uaa->vendor &&
- uplcom_products[i].product == uaa->product) {
+ uplcom_products[i].product == uaa->product &&
+ (uplcom_products[i].release == uaa->release ||
+ uplcom_products[i].release == -1)) {
return (UMATCH_VENDOR_PRODUCT);
}
}
@@ -279,7 +356,37 @@ USB_ATTACH(uplcom)
DPRINTF(("uplcom attach: sc = %p\n", sc));
- /* initialize endpoints */
+ /* determine chip type */
+ for (i = 0; uplcom_products[i].vendor != 0; i++) {
+ if (uplcom_products[i].vendor == uaa->vendor &&
+ uplcom_products[i].product == uaa->product &&
+ (uplcom_products[i].release == uaa->release ||
+ uplcom_products[i].release == -1)) {
+ sc->sc_chiptype = uplcom_products[i].chiptype;
+ break;
+ }
+ }
+
+ /*
+ * check we found the device - attach should have ensured we
+ * don't get here without matching device
+ */
+ if (uplcom_products[i].vendor == 0) {
+ printf("%s: didn't match\n", devname);
+ ucom->sc_dying = 1;
+ goto error;
+ }
+
+#ifdef USB_DEBUG
+ /* print the chip type */
+ if (sc->sc_chiptype == TYPE_PL2303X) {
+ DPRINTF(("uplcom_attach: chiptype 2303X\n"));
+ } else {
+ DPRINTF(("uplcom_attach: chiptype 2303\n"));
+ }
+#endif
+
+ /* initialize endpoints */
ucom->sc_bulkin_no = ucom->sc_bulkout_no = -1;
sc->sc_intr_number = -1;
sc->sc_intr_pipe = NULL;
@@ -304,7 +411,7 @@ USB_ATTACH(uplcom)
}
/* get the (first/common) interface */
- err = usbd_device2interface_handle(dev, UPLCOM_IFACE_INDEX,
+ err = usbd_device2interface_handle(dev, UPLCOM_IFACE_INDEX,
&ucom->sc_iface);
if (err) {
printf("%s: failed to get interface: %s\n",
@@ -331,7 +438,7 @@ USB_ATTACH(uplcom)
UE_GET_XFERTYPE(ed->bmAttributes) == UE_INTERRUPT) {
sc->sc_intr_number = ed->bEndpointAddress;
sc->sc_isize = UGETW(ed->wMaxPacketSize);
- }
+ }
}
if (sc->sc_intr_number == -1) {
@@ -353,11 +460,11 @@ USB_ATTACH(uplcom)
* Interrupt(0x81) | Interrupt(0x81)
* -----------------+ BulkIN(0x02)
* Interface 1 | BulkOUT(0x83)
- * BulkIN(0x02) |
+ * BulkIN(0x02) |
* BulkOUT(0x83) |
*/
if (cdesc->bNumInterface == 2) {
- err = usbd_device2interface_handle(dev,
+ err = usbd_device2interface_handle(dev,
UPLCOM_SECOND_IFACE_INDEX,
&ucom->sc_iface);
if (err) {
@@ -366,7 +473,7 @@ USB_ATTACH(uplcom)
ucom->sc_dying = 1;
goto error;
}
- }
+ }
/* Find the bulk{in,out} endpoints */
@@ -427,6 +534,7 @@ USB_ATTACH(uplcom)
DPRINTF(("uplcom: in = 0x%x, out = 0x%x, intr = 0x%x\n",
ucom->sc_bulkin_no, ucom->sc_bulkout_no, sc->sc_intr_number));
+ TASK_INIT(&sc->sc_task, 0, uplcom_notify, sc);
ucom_attach(&sc->sc_ucom);
free(devinfo, M_USBDEV);
@@ -468,9 +576,9 @@ uplcom_reset(struct uplcom_softc *sc)
req.bRequest = UPLCOM_SET_REQUEST;
USETW(req.wValue, 0);
USETW(req.wIndex, sc->sc_iface_number);
- USETW(req.wLength, 0);
+ USETW(req.wLength, 0);
- err = usbd_do_request(sc->sc_ucom.sc_udev, &req, 0);
+ err = usbd_do_request(sc->sc_ucom.sc_udev, &req, 0);
if (err) {
printf("%s: uplcom_reset: %s\n",
USBDEVNAME(sc->sc_ucom.sc_dev), usbd_errstr(err));
@@ -480,6 +588,55 @@ uplcom_reset(struct uplcom_softc *sc)
return (0);
}
+struct pl2303x_init {
+ uint8_t req_type;
+ uint8_t request;
+ uint16_t value;
+ uint16_t index;
+ uint16_t length;
+};
+
+Static const struct pl2303x_init pl2303x[] = {
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 0 },
+ { UT_WRITE_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x0404, 0, 0 },
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 0 },
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8383, 0, 0 },
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 0 },
+ { UT_WRITE_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x0404, 1, 0 },
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 0 },
+ { UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8383, 0, 0 },
+ { UT_WRITE_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0, 1, 0 },
+ { UT_WRITE_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 1, 0, 0 },
+ { UT_WRITE_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 2, 0x44, 0 }
+};
+#define N_PL2302X_INIT (sizeof(pl2303x)/sizeof(pl2303x[0]))
+
+Static usbd_status
+uplcom_pl2303x_init(struct uplcom_softc *sc)
+{
+ usb_device_request_t req;
+ usbd_status err;
+ int i;
+
+ for (i = 0; i < N_PL2302X_INIT; i++) {
+ req.bmRequestType = pl2303x[i].req_type;
+ req.bRequest = pl2303x[i].request;
+ USETW(req.wValue, pl2303x[i].value);
+ USETW(req.wIndex, pl2303x[i].index);
+ USETW(req.wLength, pl2303x[i].length);
+
+ err = usbd_do_request(sc->sc_ucom.sc_udev, &req, 0);
+ if (err) {
+ printf("%s: uplcom_pl2303x_init: %d: %s\n",
+ USBDEVNAME(sc->sc_ucom.sc_dev), i,
+ usbd_errstr(err));
+ return (EIO);
+ }
+ }
+
+ return (0);
+}
+
Static void
uplcom_set_line_state(struct uplcom_softc *sc)
{
@@ -576,7 +733,10 @@ uplcom_set_crtscts(struct uplcom_softc *sc)
req.bmRequestType = UT_WRITE_VENDOR_DEVICE;
req.bRequest = UPLCOM_SET_REQUEST;
USETW(req.wValue, 0);
- USETW(req.wIndex, UPLCOM_SET_CRTSCTS);
+ if (sc->sc_chiptype == TYPE_PL2303X)
+ USETW(req.wIndex, UPLCOM_SET_CRTSCTS_PL2303X);
+ else
+ USETW(req.wIndex, UPLCOM_SET_CRTSCTS);
USETW(req.wLength, 0);
err = usbd_do_request(sc->sc_ucom.sc_udev, &req, 0);
@@ -623,15 +783,36 @@ uplcom_set_line_coding(struct uplcom_softc *sc, usb_cdc_line_state_t *state)
return (USBD_NORMAL_COMPLETION);
}
+Static const int uplcom_rates[] = {
+ 75, 150, 300, 600, 1200, 1800, 2400, 3600, 4800, 7200, 9600, 14400,
+ 19200, 28800, 38400, 57600, 115200,
+ /*
+ * Higher speeds are probably possible. PL2303X supports up to
+ * 6Mb and can set any rate
+ */
+ 230400, 460800, 614400, 921600, 1228800
+};
+#define N_UPLCOM_RATES (sizeof(uplcom_rates)/sizeof(uplcom_rates[0]))
+
Static int
uplcom_param(void *addr, int portno, struct termios *t)
{
struct uplcom_softc *sc = addr;
usbd_status err;
usb_cdc_line_state_t ls;
+ int i;
DPRINTF(("uplcom_param: sc = %p\n", sc));
+ /* Check requested baud rate */
+ for (i = 0; i < N_UPLCOM_RATES; i++)
+ if (uplcom_rates[i] == t->c_ospeed)
+ break;
+ if (i == N_UPLCOM_RATES) {
+ DPRINTF(("uplcom_param: bad baud rate (%d)\n", t->c_ospeed));
+ return (EIO);
+ }
+
USETDW(ls.dwDTERate, t->c_ospeed);
if (ISSET(t->c_cflag, CSTOPB))
ls.bCharFormat = UCDC_STOP_BIT_2;
@@ -677,7 +858,7 @@ uplcom_open(void *addr, int portno)
{
struct uplcom_softc *sc = addr;
int err;
-
+
if (sc->sc_ucom.sc_dying)
return (ENXIO);
@@ -694,7 +875,7 @@ uplcom_open(void *addr, int portno)
sc->sc_intr_buf,
sc->sc_isize,
uplcom_intr,
- UPLCOM_INTR_INTERVAL);
+ uplcominterval);
if (err) {
printf("%s: cannot open interrupt pipe (addr %d)\n",
USBDEVNAME(sc->sc_ucom.sc_dev),
@@ -703,11 +884,14 @@ uplcom_open(void *addr, int portno)
}
}
+ if (sc->sc_chiptype == TYPE_PL2303X)
+ return (uplcom_pl2303x_init(sc));
+
return (0);
}
Static void
-uplcom_close(void *addr, int portno)
+uplcom_close(void *addr, int portno)
{
struct uplcom_softc *sc = addr;
int err;
@@ -763,6 +947,19 @@ uplcom_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status)
sc->sc_msr |= UMSR_DSR;
if (ISSET(pstatus, RSAQ_STATUS_DCD))
sc->sc_msr |= UMSR_DCD;
+
+ /* Deferred notifying to the ucom layer */
+ taskqueue_enqueue(taskqueue_swi_giant, &sc->sc_task);
+}
+
+Static void
+uplcom_notify(void *arg, int count)
+{
+ struct uplcom_softc *sc;
+
+ sc = (struct uplcom_softc *)arg;
+ if (sc->sc_ucom.sc_dying)
+ return;
ucom_status_change(&sc->sc_ucom);
}
View
339 freebsd5/sys/dev/usb/usbdevs
@@ -1,7 +1,8 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.102 2002/10/08 03:00:37 kan Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.195.2.9 2005/04/01 12:46:26 sobomax Exp $
+/* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
-/*
- * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
+/*-
+ * Copyright (c) 1998-2004 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
@@ -40,29 +41,16 @@ $FreeBSD: src/sys/dev/usb/usbdevs,v 1.102 2002/10/08 03:00:37 kan Exp $
/*
* List of known USB vendors
*
- * Adding an ID and its string description for a device to the usbdevs file,
- * enables the USB stack to print a useful description of the device that was
- * connected.
- *
- * The ID should be added in usbdevs and then the files usbdevs.h and
- * usbdevs_data.h need to be regenerated.
+ * Adding an ID and its string description for a device to the usbdevs
+ * file, enables the USB stack to print a useful description of the
+ * device that was connected.
*
- * # edit usbdevs
- * make -f Makefile.usbdevs
- * # test your change
- * cd ../../modules/usb
- * make
- * # commit, if appropriate
- * cvs -m "ID for device XYZ" commit usbdevs
- * # commit the derived files after the $ FreeBSD $ has been updated.
- * cvs commit usbdevs.h usbdevs_data.h
- *
- * Please note that these IDs do not do anything. Adding an ID here and
- * regenerating the usbdevs.h and usbdevs_data.h only makes a symbolic name
- * available to the source code and does not change any functionality, nor
- * does it make your device available to a specific driver.
- * It will however make the descriptive string available if a device does not
- * provide the string itself.
+ * Please note that these IDs do not do anything. Adding an ID here
+ * only makes a symbolic name available to the source code and does
+ * not change any functionality, nor does it make your device
+ * available to a specific driver. It will however make the
+ * descriptive string available if a device does not provide the
+ * string itself.
*
* After adding a vendor ID VNDR and a product ID PRDCT you will have the
* following extra defines:
@@ -108,12 +96,15 @@ vendor MEGATRENDS 0x046b American Megatrends
vendor LOGITECH 0x046d Logitech
vendor BTC 0x046e Behavior Tech. Computer
vendor PHILIPS 0x0471 Philips
+vendor SANYO 0x0474 Sanyo Electric
vendor CONNECTIX 0x0478 Connectix
vendor KENSINGTON 0x047d Kensington
vendor LUCENT 0x047e Lucent
+vendor KYOCERA 0x0482 Kyocera Corp.
vendor STMICRO 0x0483 STMicroelectronics
vendor YAMAHA 0x0499 YAMAHA
vendor COMPAQ 0x049f Compaq Computers
+vendor HITACHI 0x04a4 Hitachi, Ltd.
vendor ACERP 0x04a5 Acer Peripherals
vendor VISIONEER 0x04a7 Visioneer
vendor CANON 0x04a9 Canon
@@ -142,9 +133,12 @@ vendor DIGI2 0x04d0 Digi International
vendor ITTCANON 0x04d1 ITT Canon
vendor ALTEC 0x04d2 Altec Lansing Technologies
vendor PANASONIC 0x04da Panasonic (Matsushita)
+vendor SHARP 0x04dd Sharp
vendor IIYAMA 0x04e1 Iiyama
vendor SHUTTLE 0x04e6 Shuttle Technology
+vendor SAMSUNG 0x04e8 Samsung Electronics
vendor ANNABOOKS 0x04ed Annabooks
+vendor JVC 0x04f1 JVC
vendor CHICONY 0x04f2 Chicony Electronics
vendor BROTHER 0x04f9 Brother Industries
vendor DALLAS 0x04fa Dallas Semiconductor
@@ -192,6 +186,7 @@ vendor OMNIVISION 0x05a9 OmniVision
vendor INSYSTEM 0x05ab In-System Design
vendor APPLE 0x05ac Apple Computer
vendor DIGI 0x05c5 Digi International
+vendor QUALCOMM 0x05c6 Qualcomm
vendor QTRONIX 0x05c7 Qtronix
vendor ELSA 0x05cc ELSA
vendor BRAINBOXES 0x05d1 Brainboxes Limited
@@ -248,11 +243,14 @@ vendor BOSTON 0x06fd Boston Acoustics
vendor SMC 0x0707 Standard Microsystems
vendor PUTERCOM 0x0708 Putercom
vendor MCT 0x0711 MCT
+vendor SONYERICSSON 0x0731 Sony Ericsson
vendor DIGITALSTREAM 0x074e Digital Stream
vendor AUREAL 0x0755 Aureal Semiconductor
vendor MIDIMAN 0x0763 Midiman
+vendor LINKSYS2 0x077b Linksys
vendor GRIFFIN 0x077d Griffin Technology
vendor SANDISK 0x0781 SanDisk Corp
+vendor LOGITEC 0x0789 Logitec Corp
vendor BRIMAX 0x078e Brimax
vendor AXIS 0x0792 Axis Communications
vendor ABL 0x0794 ABL Electronics
@@ -264,9 +262,11 @@ vendor ADMTEK 0x07a6 ADMtek
vendor COREGA 0x07aa Corega
vendor FREECOM 0x07ab Freecom
vendor MICROTECH 0x07af Microtech
+vendor GENERALINSTMNTS 0x07b2 General Instruments (Motorola)
vendor OLYMPUS 0x07b4 Olympus
vendor ABOCOM 0x07b8 AboCom Systems
vendor KEISOKUGIKEN 0x07c1 Keisokugiken
+vendor ONSPEC 0x07c4 OnSpec Electronic
vendor APG 0x07c5 APG Cash Drawer
vendor BUG 0x07c8 B.U.G.
vendor ALLIEDTELESYN 0x07c9 Allied Telesyn International
@@ -282,11 +282,13 @@ vendor BROADLOGIC 0x0827 BroadLogic
vendor HANDSPRING 0x082d Handspring
vendor ACTIONSTAR 0x0835 Action Star Enterprise
vendor PALM 0x0830 Palm Computing
+vendor SOURCENEXT 0x0833 SOURCENEXT
vendor ACCTON 0x083a Accton Technology
vendor DIAMOND 0x0841 Diamond
vendor NETGEAR 0x0846 BayNETGEAR
vendor ACTIVEWIRE 0x0854 ActiveWire
vendor PORTGEAR 0x085a PortGear
+vendor SYSTEMTALKS 0x086e System TALKS, Inc.
vendor METRICOM 0x0870 Metricom
vendor ADESSOKBTEK 0x087c ADESSO/Kbtek America
vendor JATON 0x087d Jaton
@@ -301,16 +303,21 @@ vendor BILLIONTON 0x08dd Billionton Systems
vendor EXTENDED 0x08e9 Extended Systems
vendor MSYSTEMS 0x08ec M-Systems
vendor AUTHENTEC 0x08ff AuthenTec
+vendor TRUMPION 0x090a Trumpion Microelectronics
vendor ALATION 0x0910 Alation Systems
vendor GOHUBS 0x0921 GoHubs
vendor BIOMETRIC 0x0929 American Biometric Company
+vendor TOSHIBA 0x0930 Toshiba Corporation
+vendor PLEXTOR 0x093b Plextor Corp.
+vendor INTREPIDCS 0x093c Intrepid Control Systems
vendor YANO 0x094f Yano
vendor KINGSTON 0x0951 Kingston Technology
vendor BLUEWATER 0x0956 BlueWater Systems
vendor AGILENT 0x0957 Agilent Technologies
vendor PORTSMITH 0x095a Portsmith
vendor ADIRONDACK 0x0976 Adirondack Wire & Cable
vendor BECKHOFF 0x0978 Beckhoff
+vendor INTERSIL 0x09aa Intersil
vendor ALTIUS 0x09b3 Altius Solutions
vendor ARRIS 0x09c1 Arris Interactive
vendor ACTIVCARD 0x09c3 ACTIVCARD
@@ -322,21 +329,40 @@ vendor AKAI 0x09e8 AKAI professional M.I.
vendor ARESCOM 0x09f5 ARESCOM
vendor BAY 0x09f9 Bay Associates
vendor ALTERA 0x09fb Altera
+vendor CSR 0x0a12 Cambridge Silicon Radio Ltd.
vendor TREK 0x0a16 Trek Technology
vendor ASAHIOPTICAL 0x0a17 Asahi Optical
vendor BOCASYSTEMS 0x0a43 Boca Systems
vendor BROADCOM 0x0a5c Broadcom
vendor GREENHOUSE 0x0a6b GREENHOUSE
vendor GEOCAST 0x0a79 Geocast Network Systems
+vendor NEODIO 0x0aec Neodio
vendor TODOS 0x0b0c Todos Data System
+vendor SIIG2 0x0b39 SIIG
+vendor HAL 0x0b41 HAL Corporation
+vendor EMS 0x0b43 EMS Production Ltd.
vendor NEC2 0x0b62 NEC
vendor ATI2 0x0b6f ATI
+vendor ASIX 0x0b95 ASIX Electronics
+vendor REALTEK 0x0bda RealTek
vendor AGATE 0x0c08 Agate Technologies
vendor DMI 0x0c0b DMI
vendor LUWEN 0x0c76 Luwen
+vendor SMC3 0x0d5c Standard Microsystems
+vendor PNY 0x0d7d PNY
+vendor MSI 0x0db0 Micro Star International
+vendor HAWKING 0x0e66 Hawking Technologies
+vendor GMATE 0x0e7e G.Mate, Inc
+vendor MICROTUNE 0x0f4d Microtune, Inc.
+vendor QUALCOMM2 0x1004 Qualcomm
+vendor WESTERN 0x1058 Western Digital
vendor MOTOROLA 0x1063 Motorola
vendor PLX 0x10b5 PLX
vendor ASANTE 0x10bd Asante
+vendor JRC 0x1145 Japan Radio Company
+vendor DELORME 0x1163 Delorme Publishing
+vendor ACERCM 0x1189 Acer Communications & Multimedia Inc.
+vendor TWINMOS 0x126f TwinMOS
vendor BELKIN2 0x1293 Belkin Components
vendor MOBILITY 0x1342 Mobility
vendor SHARK 0x13d2 Shark
@@ -346,8 +372,12 @@ vendor UMAX 0x1606 UMAX Data Systems
vendor INSIDEOUT 0x1608 Inside Out Networks
vendor ENTREGA 0x1645 Entrega
vendor ACTIONTEC 0x1668 Actiontec Electronics
+vendor LINKSYS3 0x1915 Linksys
vendor DLINK 0x2001 D-Link
+vendor VIDZMEDIA 0x3275 VidzMedia Pte Ltd
vendor DAISY 0x3579 Daisy Technology
+vendor DELL 0x413c Dell
+vendor SITECOM 0x6189 Sitecom
vendor INTEL 0x8086 Intel
vendor HP2 0xf003 Hewlett Packard
@@ -357,6 +387,7 @@ vendor HP2 0xf003 Hewlett Packard
/* 3Com products */
product 3COM HOMECONN 0x009d HomeConnect USB Camera
+product 3COM 3CREB96 0x00a0 Bluetooth USB dongle
product 3COM 3C19250 0x03E8 3C19250 Ethernet adapter
product 3COM USR56K 0x3021 U.S.Robotics 56000 Voice Faxmodem Pro
product 3COM 3C460 0x11f8 HomeConnect 3C460
@@ -390,14 +421,20 @@ product ACERP ACERSCAN_C310U 0x12a6 Acerscan C310U
product ACERP ACERSCAN_320U 0x2022 Acerscan 320U
product ACERP ACERSCAN_640U 0x2040 Acerscan 640U
product ACERP ACERSCAN_620U 0x2060 Acerscan 620U
+product ACERP AWL300 0x9000 AWL300 Wireless adapter
+product ACERP AWL400 0x9001 AWL400 Wireless adapter
/* ActiveWire, Inc. products */
product ACTIVEWIRE IOBOARD 0x0100 I/O Board
product ACTIVEWIRE IOBOARD_FW1 0x0101 I/O Board, rev. 1 firmware
+/* Actiontec, Inc. products */
+product ACTIONTEC UAT1 0x7605 UAT1 Wireless Ethernet adapter
+
/* ADMtek products */
product ADMTEK PEGASUS 0x0986 AN986 USB Ethernet adapter
product ADMTEK PEGASUSII 0x8511 AN8511 USB Ethernet adapter
+product ADMTEK PEGASUSII_2 0x8513 AN8513 USB Ethernet adapter
/* ADS products */
product ADS UBS10BT 0x0008 UBS-10BT Ethernet adapter
@@ -446,14 +483,23 @@ product AOX USB101 0x0008 USB ethernet controller engine
product APPLE OPTMOUSE 0x0302 Optical mouse
product APPLE SPEAKERS 0x1101 Speakers
+/* Asahi Optical products */
+product ASAHIOPTICAL OPTIO230 0x0004 Digital camera
+product ASAHIOPTICAL OPTIO330 0x0006 Digital camera
+
+/* ASIX Electronics products */
+product ASIX AX88172 0x1720 USB 2.0 10/100 ethernet controller
+
/* ATen products */
product ATEN UC1284 0x2001 Parallel printer adapter
product ATEN UC10T 0x2002 10Mbps ethernet adapter
product ATEN UC232A 0x2008 Serial adapter
/* Atmel Comp. products */
product ATMEL UHB124 0x3301 UHB124 hub
-product ATMEL DWL120 0x7602 DWL-120 Wireless adapter
+product ATMEL DWL120 0x7603 DWL-120 Wireless adapter
+product ATMEL BW002 0x7605 BW002 Wireless adapter
+product ATMEL AT76C505A 0x7614 AT76c505a Wireless adapter
/* Avision products */
product AVISION 1200U 0x0268 1200U scanner
@@ -463,6 +509,9 @@ product AVISION 1200U 0x0268 1200U scanner
product BELKIN2 F5U002 0x0002 F5U002 Parallel printer adapter
product BELKIN USB2LAN 0x0121 USB to LAN Converter
product BELKIN F5U103 0x0103 F5U103 Serial adapter
+product BELKIN F5U109 0x0109 F5U109 Serial adapter
+product BELKIN F5U208 0x0208 F5U208 VideoBus II
+product BELKIN F5U409 0x0409 F5U409 Serial adapter
product BELKIN F5U120 0x1203 F5U120-PC Hub
/* Billionton products */
@@ -477,10 +526,17 @@ product BROTHER HL1050 0x0002 HL-1050 laser printer
/* Behavior Technology Computer products */
product BTC BTC7932 0x6782 Keyboard with mouse port
+/* Broadcom products */
+product BROADCOM BCM2033 0x2033 BCM2033 Bluetooth USB dongle
+
/* Canon, Inc. products */
-product CANON N656U 0x2206 CANOSCAN N656U
+product CANON N656U 0x2206 CanoScan N656U
+product CANON N1220U 0x2207 CanoScan N1220U
+product CANON N676U 0x220d CanoScan N676U
+product CANON N1240U 0x220e CanoScan N1240U
product CANON S10 0x3041 PowerShot S10
product CANON S100 0x3045 PowerShot S100
+product CANON S200 0x3065 PowerShot S200
/* CATC products */
product CATC NETMATE 0x000a Netmate ethernet adapter
@@ -494,6 +550,7 @@ product CASIO NAMELAND 0x4001 CASIO Nameland EZ-USB
/* Cherry products */
product CHERRY MY3000KBD 0x0001 My3000 keyboard
product CHERRY MY3000HUB 0x0003 My3000 hub
+product CHERRY CYBOARD 0x0004 CyBoard Keyboard
/* Chic Technology products */
product CHIC MOUSE1 0x0001 mouse
@@ -512,24 +569,44 @@ product CONNECTIX QUICKCAM 0x0001 QuickCam
product COREGA ETHER_USB_T 0x0001 Ether USB-T
product COREGA FETHER_USB_TX 0x0004 FEther USB-TX
product COREGA FETHER_USB_TXS 0x000d FEther USB-TXS
+product COREGA FETHER_USB_TXC 0x9601 FEther USB-TXC
/* Creative products */
product CREATIVE NOMAD_II 0x1002 Nomad II MP3 player
+/* Crystalfontz products */
+product FTDI CFA_631 0xfc0c Crystalfontz CFA-631 USB LCD
+product FTDI CFA_632 0xfc08 Crystalfontz CFA-632 USB LCD
+product FTDI CFA_633 0xfc0b Crystalfontz CFA-633 USB LCD
+product FTDI CFA_634 0xfc09 Crystalfontz CFA-634 USB LCD
+product FTDI SEMC_DSS20 0xfc82 SEMC DSS-20 SyncStation
+
+/* Cambridge Silicon Radio Ltd. products */
+product CSR BT_DONGLE 0x0001 Bluetooth USB dongle
+product CSR CSRDFU 0xffff USB Bluetooth Device in DFU State
+
/* CTX products */
product CTX EX1300 0x9999 Ex1300 hub
/* Cypress Semiconductor products */
product CYPRESS MOUSE 0x0001 mouse
product CYPRESS THERMO 0x0002 thermometer
product CYPRESS FMRADIO 0x1002 FM Radio
+product CYPRESS SLIM_HUB 0x6560 Slim Hub
/* Daisy Technology products */
product DAISY DMC 0x6901 USB MultiMedia Reader
/* Dallas Semiconductor products */
product DALLAS J6502 0x4201 J-6502 speakers
+/* Dell products */
+product DELL PORT 0x0058 Port Replicator
+product DELL BC02 0x8000 BC02 Bluetooth USB Adapter
+
+/* Delorme Paublishing products */
+product DELORME EARTHMATE 0x0100 Earthmate GPS
+
/* Diamond products */
product DIAMOND RIO500USB 0x0001 Rio 500 USB
@@ -540,6 +617,7 @@ product DIGI ACCELEPORT8 0x0008 AccelePort USB 8
/* D-Link products */
/*product DLINK DSBS25 0x0100 DSB-S25 serial adapter*/
+product DLINK DUBE100 0x1a00 10/100 ethernet adapter
product DLINK DSB650TX4 0x200c 10/100 ethernet adapter
product DLINK DSB650C 0x4000 10Mbps ethernet adapter
product DLINK DSB650TX1 0x4001 10/100 ethernet adapter
@@ -560,12 +638,16 @@ product ELECOM LDUSBTX1 0x4002 LD-USB/TX
product ELECOM LDUSBLTX 0x4005 LD-USBL/TX
product ELECOM LDUSBTX2 0x400b LD-USB/TX
product ELECOM UCSGT 0x5003 UC-SGT
+product ELECOM UCSGT0 0x5004 UC-SGT
product ELECOM LDUSBTX3 0xabc1 LD-USB/TX
/* Elsa products */
product ELSA MODEM1 0x2265 ELSA Modem Board
product ELSA USB2ETHERNET 0x3000 Microlink USB2Ethernet
+/* EMS products */
+product EMS DUAL_SHOOTER 0x0003 PSX gun controller converter
+
/* Entrega products */
product ENTREGA 1S 0x0001 1S serial connector
product ENTREGA 2S 0x0002 2S serial connector
@@ -591,8 +673,14 @@ product EPSON 1600 0x0107 Expression 1600 scanner
product EPSON 1640 0x010a Perfection 1640SU scanner
product EPSON 1240 0x010b Perfection 1240U / 1240Photo scanner
product EPSON 640U 0x010c Perfection 640U scanner
+product EPSON 1250 0x010f Perfection 1250U / 1250Photo scanner
product EPSON 1650 0x0110 Perfection 1650 scanner
product EPSON GT9700F 0x0112 GT-9700F scanner
+product EPSON GT9300UF 0x011b GT-9300UF scanner
+product EPSON 3200 0x011c Perfection 3200 scanner
+product EPSON 1260 0x011d Perfection 1260 scanner
+product EPSON 1660 0x011e Perfection 1660 scanner
+product EPSON 1670 0x011f Perfection 1670 scanner
/* e-TEK Labs products */
product ETEK 1COM 0x8007 Serial port
@@ -622,17 +710,47 @@ product FTDI SERIAL_8U232AM 0x6001 8U232AM Serial converter
/* Fuji photo products */
product FUJIPHOTO MASS0100 0x0100 Mass Storage
+/* Fujitsu protducts */
+product FUJITSU AH_F401U 0x105b AH-F401U Air H device
+
+/* Qualcomm products */
+product QUALCOMM CDMA_MSM 0x3196 CDMA Technologies MSM modem
+product QUALCOMM2 CDMA_MSM 0x6000 CDMA Technologies MSM phone
+
+/* General Instruments (Motorola) products */
+product GENERALINSTMNTS SB5100 0x5100 SURFboard SB5100 Cable modem
+
+/* Genesys Logic products */
+product GENESYS GL650 0x0604 GL650 Hub
+product GENESYS GL641USB 0x0700 GL641USB CompactFlash Card Reader
+product GENESYS GL641USB2IDE_2 0x0701 GL641USB USB-IDE Bridge No 2
+product GENESYS GL641USB2IDE 0x0702 GL641USB USB-IDE Bridge
+
+/* G.Mate, Inc products */
+product GMATE YP3X00 0x1001 YP3X00 PDA
+
+/* HAL Corporation products */
+product HAL IMR001 0x0011 Crossam2+USB IR commander
+
/* Hagiwara products */
product HAGIWARA FGSM 0x0002 FlashGate SmartMedia Card Reader
product HAGIWARA FGCF 0x0003 FlashGate CompactFlash Card Reader
product HAGIWARA FG 0x0005 FlashGate
/* Handspring, Inc. */
product HANDSPRING VISOR 0x0100 Handspring Visor
+product HANDSPRING TREO 0x0200 Handspring Treo
+product HANDSPRING TREO600 0x0300 Handspring Treo 600
/* Hauppauge Computer Works */
product HAUPPAUGE WINTV_USB_FM 0x4d12 WinTV USB FM
+/* Hawking Technologies products */
+product HAWKING UF100 0x400c 10/100 USB Ethernet
+
+/* Hitachi, Ltd. products */
+product HITACHI DVDCAM_USB 0x001e DVDCAM USB HS Interface
+
/* HP products */
product HP 895C 0x0004 DeskJet 895C
product HP 4100C 0x0101 Scanjet 4100C
@@ -658,12 +776,16 @@ product HP 6300C 0x0601 Scanjet 6300C
product HP 840C 0x0604 DeskJet 840c
product HP 2200C 0x0605 ScanJet 2200C
product HP 5300C 0x0701 Scanjet 5300C
+product HP 4400C 0x0705 Scanjet 4400C
+product HP 2300D 0x0b17 Laserjet 2300d
product HP 970CSE 0x1004 Deskjet 970Cse
product HP 5400C 0x1005 Scanjet 5400C
product HP 930C 0x1204 DeskJet 930c
product HP P2000U 0x1801 Inkjet P-2000U
product HP 640C 0x2004 DeskJet 640c
+product HP 4670V 0x3005 ScanJet 4670v
product HP P1100 0x3102 Photosmart P1100
+product HP HN210E 0x811c Ethernet HN210E
/* HP products */
product HP2 C500 0x6002 PhotoSmart C500
@@ -685,18 +807,34 @@ product INSYSTEM USBCABLE 0x081a USB cable
product INTEL EASYPC_CAMERA 0x0110 Easy PC Camera
product INTEL TESTBOARD 0x9890 82930 test board
+/* Intersil products */
+product INTERSIL PRISM_2X 0x3642 Prism2.x or Atmel WLAN
+
+/* Interpid Control Systems products */
+product INTREPIDCS VALUECAN 0x0601 ValueCAN CAN bus interface
+product INTREPIDCS NEOVI 0x0701 NeoVI Blue vehicle bus interface
+
/* I/O DATA products */
product IODATA USBETT 0x0901 USB ETT
product IODATA USBETTX 0x0904 USB ETTX
product IODATA USBETTXS 0x0913 USB ETTX
product IODATA USBRSAQ 0x0a03 USB serial adapter USB-RSAQ1
+product IODATA IU_CD2 0x0204 DVD Multi-plus unit iU-CD2
+product IODATA DVR_UEH8 0x0206 DVD Multi-plus unit DVR-UEH8
/* Iomega products */
product IOMEGA ZIP100 0x0001 Zip 100
product IOMEGA ZIP250 0x0030 Zip 250
+/* JVC products */
+product JVC GR_DX95 0x000a GR-DX95
+
+/* JRC products */
+product JRC AH_J3001V_J3002V 0x0001 AirH\" PHONE AH-J3001V/J3002V
+
/* Kawasaki products */
product KLSI DUH3E10BT 0x0008 USB ethernet controller engine
+product KLSI DUH3E10BTN 0x0009 USB ethernet controller engine
/* Kawatsu products */
product KAWATSU MH4000P 0x0003 MiniHub 4000P
@@ -718,6 +856,7 @@ product KEYSPAN USA19 0x0103 USA-19 serial adapter
product KEYSPAN USA18X 0x0105 USA-18X serial adapter
product KEYSPAN USA19W 0x0106 USA-19W serial adapter
product KEYSPAN USA49W 0x0109 USA-49W serial adapter
+product KEYSPAN USA19QW 0x0118 USA-19QW serial adapter
/* Kingston products */
product KINGSTON KNU101TX 0x000a KNU101TX USB Ethernet
@@ -739,6 +878,9 @@ product KYE NETSCROLL 0x0003 Genius NetScroll mouse
product KYE FLIGHT2000 0x1004 Flight 2000 joystick
product KYE VIVIDPRO 0x2001 ColorPage Vivid-Pro scanner
+/* Kyocera products */
+product KYOCERA AHK3001V 0x0203 AH-K3001V
+
/* LaCie products */
product LACIE HD 0xa601 Hard Disk
product LACIE CDRW 0xa602 CD R/W
@@ -757,6 +899,9 @@ product LINKSYS USB100TX 0x2203 USB100TX Ethernet
product LINKSYS USB100H1 0x2204 USB100H1 Ethernet/HPNA
product LINKSYS USB10TA 0x2206 USB10TA Ethernet
product LINKSYS USB10TX2 0x400b USB10TX
+product LINKSYS2 WUSB11 0x2219 WUSB11 Wireless adapter
+product LINKSYS2 USB200M 0x2226 USB 2.0 10/100 ethernet controller
+product LINKSYS3 WUSB11v28 0x2233 WUSB11 v2.8 wireless adapter
/* Logitech products */
product LOGITECH M2452 0x0203 M2452 keyboard
@@ -774,11 +919,17 @@ product LOGITECH BD58 0xc00c BD58 mouse
product LOGITECH UN58A 0xc030 iFeel Mouse
product LOGITECH BB13 0xc401 USB-PS/2 Trackball
product LOGITECH WMPAD 0xc208 WingMan GamePad Extreme
-product LOGITECH WMJOY 0xc281 WingMan Force joystick
+product LOGITECH WMRPAD 0xc20a WingMan RumblePad
+product LOGITECH WMJOY 0xc281 WingMan Force joystick
product LOGITECH RK53 0xc501 Cordless mouse
product LOGITECH RB6 0xc503 Cordless keyboard
+product LOGITECH MX700 0xc506 Cordless optical mouse
product LOGITECH QUICKCAMPRO2 0xd001 QuickCam Pro
+/* Logitec Corp. products */
+product LOGITEC LDR_H443SU2 0x0033 DVD Multi-plus unit LDR-H443SU2
+product LOGITEC LDR_H443U2 0x00b3 DVD Multi-plus unit LDR-H443U2
+
/* Lucent products */
product LUCENT EVALKIT 0x1001 USS-720 evaluation kit
@@ -788,6 +939,13 @@ product LUWEN EASYDISK 0x0005 EasyDisc
/* Macally products */
product MACALLY MOUSE1 0x0101 mouse
+/* Matrix Orbital products */
+product FTDI USBSERIAL 0xfa00 Matrix Orbital USB Serial
+product FTDI MX2_3 0xfa01 Matrix Orbital MX2 or MX3
+product FTDI MX4_5 0xfa02 Matrix Orbital MX4 or MX5
+product FTDI LK202 0xfa03 Matrix Orbital VK/LK202 Family
+product FTDI LK204 0xfa04 Matrix Orbital VK/LK204 Family
+
/* MCT Corp. */
product MCT HUB0100 0x0100 Hub
product MCT DU_H3SP_USB232 0x0200 D-Link DU-H3SP USB BAY Hub
@@ -798,6 +956,9 @@ product MCT SITECOM_USB232 0x0230 Sitecom USB-232 Products
product MELCO LUATX1 0x0001 LUA-TX Ethernet
product MELCO LUATX5 0x0005 LUA-TX Ethernet
product MELCO LUA2TX5 0x0009 LUA2-TX Ethernet
+product MELCO LUAKTX 0x0012 LUA-KTX Ethernet
+product MELCO DUBPXXG 0x001c USB-IDE Bridge: DUB-PxxG
+product MELCO LUAU2KTX 0x003d LUA-U2-KTX Ethernet
/* Metricom products */
product METRICOM RICOCHET_GS 0x0001 Ricochet GS
@@ -808,8 +969,10 @@ product MICROSOFT INTELLIMOUSE 0x0009 IntelliMouse
product MICROSOFT NATURALKBD 0x000b Natural Keyboard Elite
product MICROSOFT DDS80 0x0014 Digital Sound System 80
product MICROSOFT SIDEWINDER 0x001a Sidewinder Precision Racing Wheel
+product MICROSOFT INETPRO 0x001c Internet Keyboard Pro
product MICROSOFT INTELLIEYE 0x0025 IntelliEye mouse
-product MICROSOFT INETPRO 0x002b Internet Keyboard Pro
+product MICROSOFT INETPRO2 0x002b Internet Keyboard Pro
+product MICROSOFT MN110 0x007a 10/100 USB NIC
/* Microtech products */
product MICROTECH SCSIDB25 0x0004 USB-SCSI-DB25
@@ -833,12 +996,21 @@ product MIDIMAN MIDISPORT2X2 0x1001 Midisport 2x2
product MINOLTA 2300 0x4001 Dimage 2300
product MINOLTA S304 0x4007 Dimage S304
product MINOLTA X 0x4009 Dimage X
+product MINOLTA 5400 0x400e Dimage 5400
+
+/* Micro Star International products */
+product MSI BT_DONGLE 0x1967 Bluetooth USB dongle
+
+/* Microtune, Inc. products */
+product MICROTUNE BT_DONGLE 0x1000 Bluetooth USB dongle
/* Mitsumi products */
product MITSUMI CDRRW 0x0000 CD-R/RW Drive
+product MITSUMI BT_DONGLE 0x641f Bluetooth USB dongle
/* Motorola products */
product MOTOROLA MC141555 0x1555 MC141555 hub controller
+product MOTOROLA SB4100 0x4100 SB4100 USB Cable Modem
/* MultiTech products */
product MULTITECH ATLAS 0xf101 MT5634ZBA-USB modem
@@ -851,11 +1023,13 @@ product MUSTEK 1200UB 0x0006 1200 UB scanner
product MUSTEK 1200USBPLUS 0x0007 1200 USB Plus scanner
product MUSTEK 1200CUPLUS 0x0008 1200 CU Plus scanner
product MUSTEK BEARPAW1200F 0x0010 BearPaw 1200F scanner
+product MUSTEK BEARPAW1200TA 0x021e BearPaw 1200TA scanner
product MUSTEK 600USB 0x0873 600 USB scanner
product MUSTEK MDC800 0xa800 MDC-800 digital camera
/* M-Systems products */
product MSYSTEMS DISKONKEY 0x0010 DiskOnKey
+product MSYSTEMS DISKONKEY2 0x0011 DiskOnKey
/* National Semiconductor */
product NATIONAL BEARPAW1200 0x1000 BearPaw 1200
@@ -865,14 +1039,20 @@ product NATIONAL BEARPAW2400 0x1001 BearPaw 2400
product NEC HUB 0x55aa hub
product NEC HUB_B 0x55ab hub
+/* NEODIO products */
+product NEODIO ND3260 0x3260 8-in-1 Multi-format Flash Controller
+product NEODIO ND5010 0x5010 Multi-format Flash Controller
+
/* NetChip Technology Products */
product NETCHIP TURBOCONNECT 0x1080 Turbo-Connect
/* Netgear products */
product NETGEAR EA101 0x1001 Ethernet adapter
+product NETGEAR FA120 0x1040 USB 2.0 Ethernet adapter
/* Nikon products */
product NIKON E990 0x0102 Digital Camera E990
+product NIKON LS40 0x4000 CoolScan LS40 ED
/* Olympus products */
product OLYMPUS C1 0x0102 C-1 Digital Camera
@@ -882,14 +1062,26 @@ product OLYMPUS C700 0x0105 C-700 Ultra Zoom
product OMNIVISION OV511 0x0511 OV511 Camera
product OMNIVISION OV511PLUS 0xa511 OV511+ Camera
+/* OnSpec Electronic, Inc. */
+product ONSPEC UCF100 0xa400 FlashLink UCF-100 CompactFlash Reader
+
/* Palm Computing, Inc. product */
product PALM SERIAL 0x0080 USB Serial Adaptor
product PALM M500 0x0001 Palm m500
product PALM M505 0x0002 Palm m505
product PALM M515 0x0003 Palm m515
+product PALM I705 0x0020 Palm i705
+product PALM TUNGSTEN_Z 0x0031 Palm Tungsten Z
product PALM M125 0x0040 Palm m125
+product PALM M130 0x0050 Palm m130
+product PALM TUNGSTEN_T 0x0060 Palm Tungsten T
+product PALM ZIRE31 0x0061 Palm Zire 31
+product PALM ZIRE 0x0070 Palm Zire
/* Panasonic products */
+product PANASONIC KXLRW32AN 0x0d09 CD-R Drive KXL-RW32AN
+product PANASONIC KXLCB20AN 0x0d0a CD-R Drive KXL-CB20AN
+product PANASONIC KXLCB35AN 0x0d0e DVD-ROM & CD-R/RW
product PANASONIC SDCAAE 0x1b00 MultiMediaCard Adapter
/* Peracom products */
@@ -905,6 +1097,7 @@ product PHILIPS HUB 0x0201 hub
product PHILIPS PCA646VC 0x0303 PCA646VC PC Camera
product PHILIPS PCVC680K 0x0308 PCVC680K Vesta Pro PC Camera
product PHILIPS DSS150 0x0471 DSS 150 Digital Speaker System
+product PHILIPS UM10016 0x1552 ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit
product PHILIPS DIVAUSB 0x1801 DIVA USB mp3 player
/* Philips Semiconductor products */
@@ -913,9 +1106,15 @@ product PHILIPSSEMI HUB1122 0x1122 hub
/* P.I. Engineering products */
product PIENGINEERING PS2USB 0x020b PS2 to Mac USB Adapter
+/* Plextor Corp. */
+product PLEXTOR 40_12_40U 0x0011 PlexWriter 40/12/40U
+
/* PLX products */
product PLX TESTBOARD 0x9060 test board
+/* PNY products */
+product PNY ATTACHE 0x1300 USB 2.0 Flash Drive
+
/* Primax products */
product PRIMAX G2X300 0x0300 G2-200 scanner
product PRIMAX G2E300 0x0301 G2E-300 scanner
@@ -941,6 +1140,8 @@ product PROLIFIC RSAQ2 0x04bb PL2303 Serial adapter (IODATA USB-RSAQ2)
product PROLIFIC PL2303 0x2303 PL2303 Serial adapter (ATEN/IOGEAR UC232A)
product PROLIFIC PL2305 0x2305 Parallel printer adapter
product PROLIFIC ATAPI4 0x2307 ATAPI-4 Bridge Controller
+product PROLIFIC PL2501 0x2501 PL2501 Host-Host interface
+product PROLIFIC RSAQ3 0xaaa2 PL2303X Serial adapter (IODATA USB-RSAQ3)
/* Putercom products */
product PUTERCOM UPA100 0x047e USB-1284 BRIDGE
@@ -952,7 +1153,10 @@ product QTRONIX 980N 0x2011 Scorpion-980N keyboard
product QUICKSHOT STRIKEPAD 0x6238 USB StrikePad
/* Rainbow Technologies products */
-product RAINBOW IKEY2000 0x1200 i-Key 2000
+product RAINBOW IKEY2000 0x1200 i-Key 2000
+
+/* ReakTek products */
+product REALTEK USBKR100 0x8150 USBKR100 USB Ethernet (GREEN HOUSE)
/* Roland products */
product ROLAND UM1 0x0009 UM-1 MIDI I/F
@@ -965,16 +1169,32 @@ product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB
/* RATOC Systems products */
product RATOC REXUSB60 0xb000 USB serial adapter REX-USB60
+/* Samsung products */
+product SAMSUNG ML6060 0x3008 ML-6060 laser printer
+
/* SanDisk products */
product SANDISK SDDR05A 0x0001 ImageMate SDDR-05a
+product SANDISK SDDR05 0x0005 ImageMate SDDR-05
product SANDISK SDDR31 0x0002 ImageMate SDDR-31
product SANDISK SDDR12 0x0100 ImageMate SDDR-12
product SANDISK SDDR09 0x0200 ImageMate SDDR-09
+product SANDISK SDDR75 0x0810 ImageMate SDDR-75
+product SANDISK SDCZ2_256 0x7104 Cruzer Mini 256MB
+
+/* Sanyo Electric products */
+product SANYO SCP4900 0x0701 Sanyo SCP-4900 USB Phone
/* ScanLogic products */
product SCANLOGIC SL11R 0x0002 SL11R IDE Adapter
product SCANLOGIC 336CX 0x0300 Phantom 336CX - C3 scanner
+/* Sharp products */
+product SHARP SL5500 0x8004 Zaurus SL-5500 PDA
+product SHARP SLA300 0x8005 Zaurus SL-A300 PDA
+product SHARP SL5600 0x8006 Zaurus SL-5600 PDA
+product SHARP SLC700 0x8007 Zaurus SL-C700 PDA
+product SHARP SLC750 0x9031 Zaurus SL-C750 PDA
+
/* Shuttle Technology products */
product SHUTTLE EUSB 0x0001 E-USB Bridge
product SHUTTLE EUSCSI 0x0002 eUSCSI Bridge
@@ -986,12 +1206,18 @@ product SHUTTLE CF 0x000a eUSB CompactFlash Adapter
product SHUTTLE EUSCSI_B 0x000b eUSCSI Bridge
product SHUTTLE EUSCSI_C 0x000c eUSCSI Bridge
product SHUTTLE CDRW 0x0101 CD-RW Device
+product SHUTTLE EUSBORCA 0x0325 eUSB ORCA Quad Reader
/* Siemens products */
product SIEMENS SPEEDSTREAM 0x1001 SpeedStream USB
+/* Sigmatel products */
+product SIGMATEL I_BEAD100 0x8008 i-Bead 100 MP3 Player
+
/* SIIG products */
product SIIG DIGIFILMREADER 0x0004 DigiFilm-Combo Reader
+product SIIG WINTERREADER 0x0330 WINTERREADER Reader
+product SIIG2 US2308 0x0421 USB to Serial
/* Silicon Portals Inc. */
product SILICONPORTALS YAPPH_NF 0x0200 YAP Phone (no firmware)
@@ -1000,6 +1226,9 @@ product SILICONPORTALS YAPPHONE 0x0201 YAP Phone
/* Sirius Technologies products */
product SIRIUS ROADSTER 0x0001 NetComm Roadster II 56 USB
+/* Sitecom products */
+product SITECOM LN029 0x182d USB 2.0 Ethernet
+
/* SmartBridges products */
product SMARTBRIDGES SMARTLINK 0x0001 SmartLink USB ethernet adapter
product SMARTBRIDGES SMARTNIC 0x0003 smartNIC 2 PnP Adapter
@@ -1009,6 +1238,7 @@ product SMC 2102USB 0x0100 10Mbps ethernet adapter
product SMC 2202USB 0x0200 10/100 ethernet adapter
product SMC 2206USB 0x0201 EZ Connect USB Ethernet Adapter
product SMC2 2020HUB 0x2020 USB Hub
+product SMC3 2662WUSB 0xa002 2662W-AR Wireless Adapter
/* SOHOware products */
product SOHOWARE NUB100 0x9100 10/100 USB Ethernet
@@ -1019,9 +1249,22 @@ product SOLIDYEAR KEYBOARD 0x2101 Solid Year USB keyboard
/* SONY products */
product SONY DSC 0x0010 DSC cameras
product SONY MSACUS1 0x002d Memorystick MSAC-US1
+product SONY HANDYCAM 0x002e Handycam
product SONY MSC 0x0032 MSC memory stick slot
+product SONY CLIE_35 0x0038 Sony Clie v3.5
product SONY CLIE_40 0x0066 Sony Clie v4.0
+product SONY CLIE_40_MS 0x006d Sony Clie v4.0 Memory Stick slot
+product SONY CLIE_S360 0x0095 Sony Clie s360
+product SONY CLIE_41_MS 0x0099 Sony Clie v4.1 Memory Stick slot
product SONY CLIE_41 0x009a Sony Clie v4.1
+product SONY CLIE_NX60 0x00da Sony Clie nx60
+
+/* Sony Ericsson products */
+product SONYERICSSON DCU10 0x0528 USB Cable
+
+/* SOURCENEXT products */
+product SOURCENEXT KEIKAI8 0x039f KeikaiDenwa 8
+product SOURCENEXT KEIKAI8_CHG 0x012e KeikaiDenwa 8 with charger
/* STMicroelectronics products */
product STMICRO COMMUNICATOR 0x7554 USB Communicator
@@ -1030,14 +1273,21 @@ product STMICRO COMMUNICATOR 0x7554 USB Communicator
product STSN STSN0001 0x0001 Internet Access Device
/* SUN Corporation products */
+product SUNTAC DS96L 0x0003 SUNTAC U-Cable type D2
product SUNTAC PS64P1 0x0005 SUNTAC U-Cable type P1
product SUNTAC VS10U 0x0009 SUNTAC Slipper U
+product SUNTAC IS96U 0x000a SUNTAC Ir-Trinity
+product SUNTAC AS64LX 0x000b SUNTAC U-Cable type A3
+product SUNTAC AS144L4 0x0011 SUNTAC U-Cable type A4
/* Sun Microsystems products */
product SUN KEYBOARD 0x0005 Type 6 USB keyboard
/* XXX The above is a North American PC style keyboard possibly */
product SUN MOUSE 0x0100 Type 6 USB mouse
+/* System TALKS, Inc. */
+product SYSTEMTALKS SGCX2UL 0x1920 SGC-X2UL
+
/* Supra products */
product DIAMOND2 SUPRAEXPRESS56K 0x07da Supra Express 56K modem
product DIAMOND2 SUPRA2890 0x0b4a SupraMax 2890 56K Modem
@@ -1046,12 +1296,13 @@ product DIAMOND2 RIO800USB 0x5002 Rio 800 USB
/* Taugagreining products */
product TAUGA CAMERAMATE 0x0005 CameraMate (DPCM_USB)
-
+
/* TDK products */
product TDK UPA9664 0x0115 USB-PDC Adapter UPA9664
product TDK UCA1464 0x0116 USB-cdmaOne Adapter UCA1464
product TDK UHA6400 0x0117 USB-PHS Adapter UHA6400
product TDK UPA6400 0x0118 USB-PHS Adapter UPA6400
+product TDK BT_DONGLE 0x0309 Bluetooth USB dongle
/* TEAC products */
product TEAC FD05PUB 0x0000 FD-05PUB floppy
@@ -1066,8 +1317,18 @@ product TI TUSB2046 0x2046 TUSB2046 hub
/* Thrustmaster products */
product THRUST FUSION_PAD 0xa0a3 Fusion Digital Gamepad
+/* Toshiba Corporation products */
+product TOSHIBA POCKETPC_E740 0x0706 PocketPC e740
+
/* Trek Technology products */
product TREK THUMBDRIVE 0x1111 ThumbDrive
+product TREK THUMBDRIVE_8MB 0x9988 ThumbDrive_8MB
+
+/* Trumpion products */
+product TRUMPION C3310 0x1100 Comotron C3310 MP3 player
+
+/* TwinMOS */
+product TWINMOS MDIV 0x1325 Memory Disk IV
/* Ultima products */
product ULTIMA 1200UBPLUS 0x4002 1200 UB Plus scanner
@@ -1083,6 +1344,9 @@ product UMAX ASTRA3400 0x0060 Astra 3400 Scanner
/* Universal Access products */
product UNIACCESS PANACHE 0x0101 Panache Surf USB ISDN Adapter
+/* VidzMedia products */
+product VIDZMEDIA MONSTERTV 0x4fb1 MonsterTV P2H
+
/* Vision products */
product VISION VC6452V002 0x0002 CPiA Camera
@@ -1094,12 +1358,17 @@ product VISIONEER 6100 0x0231 OneTouch 6100
product VISIONEER 6200 0x0311 OneTouch 6200
product VISIONEER 8100 0x0321 OneTouch 8100
product VISIONEER 8600 0x0331 OneTouch 8600
-
+
/* Wacom products */
product WACOM CT0405U 0x0000 CT-0405-U Tablet
product WACOM GRAPHIRE 0x0010 Graphire
product WACOM INTUOSA5 0x0021 Intuos A5
-
+product WACOM GD0912U 0x0022 Intuos 9x12 Graphics Tablet
+
+/* Western Digital products */
+product WESTERN EXTHDD 0x0400 External HDD
+product WESTERN HUB 0x0500 USB HUB
+
/* Xirlink products */
product XIRLINK PCCAM 0x8080 IBM PC Camera
@@ -1109,6 +1378,10 @@ product YEDATA FLASHBUSTERU 0x0000 Flashbuster-U
/* Yamaha products */
product YAMAHA UX256 0x1000 UX256 MIDI I/F
product YAMAHA UX96 0x1008 UX96 MIDI I/F
+product YAMAHA RTA54I 0x4000 NetVolante RTA54i Broadband&ISDN Router
+product YAMAHA RTA55I 0x4004 NetVolante RTA55i Broadband VoIP Router
+product YAMAHA RTW65B 0x4001 NetVolante RTW65b Broadband Wireless Router
+product YAMAHA RTW65I 0x4002 NetVolante RTW65i Broadband&ISDN Wireless Router
/* Yano products */
product YANO U640MO 0x0101 U640MO-03

0 comments on commit 9aa589d

Please sign in to comment.