summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorNathan Binkert <nate@cvs.openbsd.org>2001-10-31 04:24:46 +0000
committerNathan Binkert <nate@cvs.openbsd.org>2001-10-31 04:24:46 +0000
commita97c4f313efc21ce5c69aaa04f8af5c9c3a91ed8 (patch)
treed24bebf58c9f97fac510e47a708039d6912097eb /sys/dev
parent8837b760cfac7d4d98b9040234c7abf8dc1c24fa (diff)
Synchronize usb code with NetBSD.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/devlist2h.awk34
-rw-r--r--sys/dev/usb/ezload.c11
-rw-r--r--sys/dev/usb/if_aue.c122
-rw-r--r--sys/dev/usb/if_auereg.h10
-rw-r--r--sys/dev/usb/if_cue.c7
-rw-r--r--sys/dev/usb/if_cuereg.h4
-rw-r--r--sys/dev/usb/if_kue.c41
-rw-r--r--sys/dev/usb/if_kuereg.h4
-rw-r--r--sys/dev/usb/if_upl.c20
-rw-r--r--sys/dev/usb/kue_fw.h4
-rw-r--r--sys/dev/usb/ohci.c33
-rw-r--r--sys/dev/usb/ohcivar.h9
-rw-r--r--sys/dev/usb/uaudio.c36
-rw-r--r--sys/dev/usb/ucom.c58
-rw-r--r--sys/dev/usb/ucomvar.h4
-rw-r--r--sys/dev/usb/uftdireg.h6
-rw-r--r--sys/dev/usb/ugen.c39
-rw-r--r--sys/dev/usb/ugraphire_rdesc.h4
-rw-r--r--sys/dev/usb/uhci.c120
-rw-r--r--sys/dev/usb/uhcireg.h7
-rw-r--r--sys/dev/usb/uhid.c12
-rw-r--r--sys/dev/usb/uhub.c22
-rw-r--r--sys/dev/usb/ukbd.c17
-rw-r--r--sys/dev/usb/ulpt.c13
-rw-r--r--sys/dev/usb/ums.c10
-rw-r--r--sys/dev/usb/uplcom.c3
-rw-r--r--sys/dev/usb/urio.c9
-rw-r--r--sys/dev/usb/usb.c4
-rw-r--r--sys/dev/usb/usb.h6
-rw-r--r--sys/dev/usb/usb_port.h17
-rw-r--r--sys/dev/usb/usb_quirks.c16
-rw-r--r--sys/dev/usb/usb_quirks.h4
-rw-r--r--sys/dev/usb/usb_subr.c91
-rw-r--r--sys/dev/usb/usbdevs256
-rw-r--r--sys/dev/usb/usbdevs.h252
-rw-r--r--sys/dev/usb/usbdevs_data.h2470
-rw-r--r--sys/dev/usb/usbdi.h5
-rw-r--r--sys/dev/usb/usbdi_util.c16
-rw-r--r--sys/dev/usb/usbdi_util.h8
-rw-r--r--sys/dev/usb/usbdivar.h16
-rw-r--r--sys/dev/usb/uscanner.c12
-rw-r--r--sys/dev/usb/uyap.c8
-rw-r--r--sys/dev/usb/uyap_firmware.h4
43 files changed, 3219 insertions, 625 deletions
diff --git a/sys/dev/usb/devlist2h.awk b/sys/dev/usb/devlist2h.awk
index da3d472985a..080d2ddc445 100644
--- a/sys/dev/usb/devlist2h.awk
+++ b/sys/dev/usb/devlist2h.awk
@@ -1,6 +1,6 @@
#! /usr/bin/awk -f
-# $OpenBSD: devlist2h.awk,v 1.6 2001/01/28 09:43:41 aaron Exp $
-# $NetBSD: devlist2h.awk,v 1.8 1999/11/18 23:32:25 augustss Exp $
+# $OpenBSD: devlist2h.awk,v 1.7 2001/10/31 04:24:44 nate Exp $
+# $NetBSD: devlist2h.awk,v 1.9 2001/01/18 20:28:22 jdolecek Exp $
#
# Copyright (c) 1995, 1996 Christopher G. Demetriou
# All rights reserved.
@@ -175,12 +175,28 @@ END {
printf("\n") > dfile
- printf("const struct usb_known_product usb_known_products[] = {\n") > dfile
+ printf("const struct usb_knowndev usb_knowndevs[] = {\n") > dfile
for (i = 1; i <= nproducts; i++) {
printf("\t{\n") > dfile
printf("\t USB_VENDOR_%s, USB_PRODUCT_%s_%s,\n",
products[i, 1], products[i, 1], products[i, 2]) \
> dfile
+ printf("\t ") > dfile
+ printf("0") > dfile
+ printf(",\n") > dfile
+
+ vendi = vendorindex[products[i, 1]];
+ printf("\t \"") > dfile
+ j = 3;
+ needspace = 0;
+ while (vendors[vendi, j] != "") {
+ if (needspace)
+ printf(" ") > dfile
+ printf("%s", vendors[vendi, j]) > dfile
+ needspace = 1
+ j++
+ }
+ printf("\",\n") > dfile
printf("\t \"") > dfile
j = 4;
@@ -195,15 +211,12 @@ END {
printf("\",\n") > dfile
printf("\t},\n") > dfile
}
- printf("\t{ 0, 0, NULL }\n") > dfile
- printf("};\n\n") > dfile
-
- printf("const struct usb_known_vendor usb_known_vendors[] = {\n") > dfile
for (i = 1; i <= nvendors; i++) {
printf("\t{\n") > dfile
- printf("\t USB_VENDOR_%s,\n", vendors[i, 1]) \
+ printf("\t USB_VENDOR_%s, 0,\n", vendors[i, 1]) \
+ > dfile
+ printf("\t USB_KNOWNDEV_NOPROD,\n") \
> dfile
-
printf("\t \"") > dfile
j = 3;
needspace = 0;
@@ -215,8 +228,9 @@ END {
j++
}
printf("\",\n") > dfile
+ printf("\t NULL,\n") > dfile
printf("\t},\n") > dfile
}
- printf("\t{ 0, NULL }\n") > dfile
+ printf("\t{ 0, 0, 0, NULL, NULL, }\n") > dfile
printf("};\n") > dfile
}
diff --git a/sys/dev/usb/ezload.c b/sys/dev/usb/ezload.c
index 185c5b21a7e..6ee64b5629a 100644
--- a/sys/dev/usb/ezload.c
+++ b/sys/dev/usb/ezload.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ezload.c,v 1.2 2001/05/03 02:20:31 aaron Exp $ */
-/* $NetBSD: ezload.c,v 1.2 2001/01/18 20:28:23 jdolecek Exp $ */
+/* $OpenBSD: ezload.c,v 1.3 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ezload.c,v 1.3 2001/07/11 04:53:48 augustss Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -69,7 +69,6 @@
* Although USB does not limit you here, the Anchor docs
* quote 64 as a limit, and Mato@activewireinc.com suggested
* to use 16.
- * which is too big as an error for now.
*/
#define ANCHOR_CHUNK 16
@@ -132,7 +131,7 @@ ezload_download(usbd_device_handle dev, const struct ezdata *rec)
len = ANCHOR_CHUNK;
USETW(req.wValue, ptr->address + offs);
USETW(req.wLength, len);
- DPRINTFN(5,("ezload_download: addr=0x%x len=%d\n",
+ DPRINTFN(2,("ezload_download: addr=0x%x len=%d\n",
ptr->address + offs, len));
err = usbd_do_request(dev, &req, ptr->data + offs);
if (err)
@@ -150,7 +149,7 @@ ezload_downloads_and_reset(usbd_device_handle dev, const struct ezdata **recs)
{
usbd_status err;
- (void)ezload_reset(dev, 1);
+ /*(void)ezload_reset(dev, 1);*/
err = ezload_reset(dev, 1);
if (err)
return (err);
@@ -163,7 +162,7 @@ ezload_downloads_and_reset(usbd_device_handle dev, const struct ezdata **recs)
if (err)
return (err);
usbd_delay_ms(dev, 250);
- (void)ezload_reset(dev, 0);
+ /*(void)ezload_reset(dev, 0);*/
err = ezload_reset(dev, 0);
usbd_delay_ms(dev, 250);
return (err);
diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c
index 22126c42146..410cb029a9e 100644
--- a/sys/dev/usb/if_aue.c
+++ b/sys/dev/usb/if_aue.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_aue.c,v 1.16 2001/07/15 03:03:35 mickey Exp $ */
-/* $NetBSD: if_aue.c,v 1.55 2001/03/25 22:59:43 augustss Exp $ */
+/* $OpenBSD: if_aue.c,v 1.17 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_aue.c,v 1.67 2001/10/10 02:14:16 augustss Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
@@ -35,8 +35,8 @@
*/
/*
- * ADMtek AN986 Pegasus USB to ethernet driver. Datasheet is available
- * from http://www.admtek.com.tw.
+ * ADMtek AN986 Pegasus and AN8511 Pegasus II USB to ethernet driver.
+ * Datasheet is available from http://www.admtek.com.tw.
*
* Written by Bill Paul <wpaul@ee.columbia.edu>
* Electrical Engineering Department
@@ -162,30 +162,65 @@ int auedebug = 0;
struct aue_type {
u_int16_t aue_vid;
u_int16_t aue_did;
- char aue_linksys;
+ u_int16_t aue_flags;
+#define LSYS 0x0001 /* use Linksys reset */
+#define PNA 0x0002 /* has Home PNA */
+#define PII 0x0004 /* Pegasus II chip */
};
Static const struct aue_type aue_devs[] = {
- { USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USB100, 0 },
- { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX1, 0 },
- { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX5, 0 },
- { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100TX, 1 },
- { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100H1, 1 },
- { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TA, 1 },
- { USB_VENDOR_ADMTEK, USB_PRODUCT_ADMTEK_PEGASUS, 0 },
- { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650, 1 },
- { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX, 1 },
- { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX_PNA, 0 },
- { USB_VENDOR_SOHOWARE, USB_PRODUCT_SOHOWARE_NUB100, 0 },
- { USB_VENDOR_SMC, USB_PRODUCT_SMC_2202USB, 0 },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX1, PNA|PII },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX2, PII },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX3, 0 },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX4, PNA },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX5, PNA },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX6, PII },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX7, PII },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX8, PII },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX9, PNA },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX10, 0 },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_DSB650TX_PNA, 0 },
+ { USB_VENDOR_ACCTON, USB_PRODUCT_ACCTON_USB320_EC, 0 },
+ { USB_VENDOR_ADMTEK, USB_PRODUCT_ADMTEK_PEGASUS, PNA },
+ { USB_VENDOR_ADMTEK, USB_PRODUCT_ADMTEK_PEGASUSII, PII },
+ { USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USB100, 0 },
+ { USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBLP100, PNA },
+ { USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBEL100, 0 },
+ { USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBE100, PII },
{ USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TX, 0 },
- { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETTX, 0 },
- { USB_VENDOR_KINGSTON, USB_PRODUCT_KINGSTON_KNU101TX, 0 },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX4, LSYS|PII },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX1, LSYS },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX, LSYS },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX_PNA, PNA },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX3, LSYS|PII },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX2, LSYS|PII },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650, 0 },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX0, 0 },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX1, 0 },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX2, 0 },
+ { USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX3, PII },
+ { USB_VENDOR_ELSA, USB_PRODUCT_ELSA_USB2ETHERNET, 0 },
+ { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETTX, 0 },
+ { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETTXS, PII },
+ { USB_VENDOR_KINGSTON, USB_PRODUCT_KINGSTON_KNU101TX, 0 },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TX1, LSYS|PII },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10T, LSYS },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100TX, LSYS },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100H1, LSYS|PNA },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TA, LSYS },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TX2, LSYS|PII },
+ { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX1, 0 },
+ { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX5, 0 },
+ { USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUA2TX5, PII },
+ { USB_VENDOR_SMARTBRIDGES, USB_PRODUCT_SMARTBRIDGES_SMARTNIC,PII },
+ { USB_VENDOR_SMC, USB_PRODUCT_SMC_2202USB, 0 },
+ { USB_VENDOR_SOHOWARE, USB_PRODUCT_SOHOWARE_NUB100, 0 },
{ 0, 0, 0 }
};
USB_DECLARE_DRIVER(aue);
+Static void aue_reset_pegasus_II(struct aue_softc *sc);
Static const struct aue_type *aue_lookup(u_int16_t vendor, u_int16_t product);
Static int aue_tx_list_init(struct aue_softc *);
Static int aue_rx_list_init(struct aue_softc *);
@@ -506,7 +541,7 @@ aue_miibus_statchg(device_ptr_t dev)
* This turns on the 'dual link LED' bin in the auxmode
* register of the Broadcom PHY.
*/
- if (sc->aue_linksys) {
+ if (sc->aue_flags & LSYS) {
u_int16_t auxmode;
auxmode = aue_miibus_readreg(dev, 0, 0x1b);
aue_miibus_writereg(dev, 0, 0x1b, auxmode | 0x04);
@@ -577,6 +612,20 @@ allmulti:
}
Static void
+aue_reset_pegasus_II(struct aue_softc *sc)
+{
+ /* Magic constants taken from Linux driver. */
+ aue_csr_write_1(sc, AUE_REG_1D, 0);
+ aue_csr_write_1(sc, AUE_REG_7B, 2);
+#if 0
+ if ((sc->aue_flags & HAS_HOME_PNA) && mii_mode)
+ aue_csr_write_1(sc, AUE_REG_81, 6);
+ else
+#endif
+ aue_csr_write_1(sc, AUE_REG_81, 2);
+}
+
+Static void
aue_reset(struct aue_softc *sc)
{
int i;
@@ -607,14 +656,25 @@ aue_reset(struct aue_softc *sc)
aue_csr_write_1(sc, AUE_GPIO0,
AUE_GPIO_OUT0 | AUE_GPIO_SEL0 | AUE_GPIO_SEL1);
+#if 0
+ /* XXX what is mii_mode supposed to be */
+ if (sc->aue_mii_mode && (sc->aue_flags & PNA))
+ aue_csr_write_1(sc, AUE_GPIO1, 0x34);
+ else
+ aue_csr_write_1(sc, AUE_GPIO1, 0x26);
+#endif
+
/* Grrr. LinkSys has to be different from everyone else. */
- if (sc->aue_linksys) {
+ if (sc->aue_flags & LSYS) {
aue_csr_write_1(sc, AUE_GPIO0,
AUE_GPIO_SEL0 | AUE_GPIO_SEL1);
aue_csr_write_1(sc, AUE_GPIO0,
AUE_GPIO_SEL0 | AUE_GPIO_SEL1 | AUE_GPIO_OUT0);
}
+ if (sc->aue_flags & PII)
+ aue_reset_pegasus_II(sc);
+
/* Wait a little while for the chip to get its brains in order. */
delay(10000); /* XXX */
}
@@ -687,7 +747,7 @@ USB_ATTACH(aue)
USB_ATTACH_ERROR_RETURN;
}
- sc->aue_linksys = aue_lookup(uaa->vendor, uaa->product)->aue_linksys;
+ sc->aue_flags = aue_lookup(uaa->vendor, uaa->product)->aue_flags;
sc->aue_udev = dev;
sc->aue_iface = iface;
@@ -751,9 +811,10 @@ USB_ATTACH(aue)
ifp->if_ioctl = aue_ioctl;
ifp->if_start = aue_start;
ifp->if_watchdog = aue_watchdog;
- IFQ_SET_READY(&ifp->if_snd);
strncpy(ifp->if_xname, USBDEVNAME(sc->aue_dev), IFNAMSIZ);
+ IFQ_SET_READY(&ifp->if_snd);
+
/* Initialize MII/media info. */
mii = &sc->aue_mii;
mii->mii_ifp = ifp;
@@ -796,6 +857,11 @@ USB_DETACH(aue)
DPRINTFN(2,("%s: %s: enter\n", USBDEVNAME(sc->aue_dev), __FUNCTION__));
+ if (!sc->aue_attached) {
+ /* Detached before attached finished, so just bail out. */
+ return (0);
+ }
+
usb_uncallout(sc->aue_stat_ch, aue_tick, sc);
/*
* Remove any pending tasks. They cannot be executing because they run
@@ -806,12 +872,6 @@ USB_DETACH(aue)
s = splusb();
- if (!sc->aue_attached) {
- /* Detached before attached finished, so just bail out. */
- splx(s);
- return (0);
- }
-
if (ifp->if_flags & IFF_RUNNING)
aue_stop(sc);
@@ -987,7 +1047,7 @@ aue_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status)
sc->aue_intr_errs++;
if (usbd_ratecheck(&sc->aue_rx_notice)) {
printf("%s: %u usb errors on intr: %s\n",
- USBDEVNAME(sc->aue_dev), sc->aue_rx_errs,
+ USBDEVNAME(sc->aue_dev), sc->aue_intr_errs,
usbd_errstr(status));
sc->aue_intr_errs = 0;
}
@@ -1193,7 +1253,7 @@ aue_tick_task(void *xsc)
mii_tick(mii);
if (!sc->aue_link) {
- mii_pollstat(mii);
+ mii_pollstat(mii); /* XXX FreeBSD has removed this call */
if (mii->mii_media_status & IFM_ACTIVE &&
IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
DPRINTFN(2,("%s: %s: got link\n",
diff --git a/sys/dev/usb/if_auereg.h b/sys/dev/usb/if_auereg.h
index 9b1b146df0c..67ae289bbfd 100644
--- a/sys/dev/usb/if_auereg.h
+++ b/sys/dev/usb/if_auereg.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_auereg.h,v 1.4 2001/05/03 02:20:32 aaron Exp $ */
-/* $NetBSD: if_auereg.h,v 1.12 2000/04/04 20:16:19 augustss Exp $ */
+/* $OpenBSD: if_auereg.h,v 1.5 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_auereg.h,v 1.16 2001/10/10 02:14:17 augustss Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
@@ -94,6 +94,7 @@
#define AUE_PAUSE AUE_PAUSE0
#define AUE_RX_FLOWCTL_CNT 0x1A
#define AUE_RX_FLOWCTL_FIFO 0x1B
+#define AUE_REG_1D 0x1D
#define AUE_EE_REG 0x20
#define AUE_EE_DATA0 0x21
#define AUE_EE_DATA1 0x22
@@ -113,8 +114,10 @@
#define AUE_PKTLOST1 0x2F
#define AUE_PKTLOST AUE_PKTLOST0
+#define AUE_REG_7B 0x7B
#define AUE_GPIO0 0x7E
#define AUE_GPIO1 0x7F
+#define AUE_REG_81 0x81
#define AUE_CTL0_INCLUDE_RXCRC 0x01
#define AUE_CTL0_ALLMULTI 0x02
@@ -259,7 +262,7 @@ struct aue_softc {
int aue_if_flags;
struct aue_cdata aue_cdata;
- char aue_linksys;
+ u_int16_t aue_flags;
char aue_dying;
char aue_attached;
@@ -271,6 +274,7 @@ struct aue_softc {
struct usb_task aue_stop_task;
struct lock aue_mii_lock;
+
};
#define AUE_TIMEOUT 1000
diff --git a/sys/dev/usb/if_cue.c b/sys/dev/usb/if_cue.c
index a391626dfb7..1f54b649501 100644
--- a/sys/dev/usb/if_cue.c
+++ b/sys/dev/usb/if_cue.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_cue.c,v 1.10 2001/07/08 23:38:08 fgsch Exp $ */
-/* $NetBSD: if_cue.c,v 1.34 2001/04/12 23:54:56 augustss Exp $ */
+/* $OpenBSD: if_cue.c,v 1.11 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_cue.c,v 1.35 2001/04/13 23:30:09 thorpej Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
@@ -577,9 +577,10 @@ USB_ATTACH(cue)
ifp->if_ioctl = cue_ioctl;
ifp->if_start = cue_start;
ifp->if_watchdog = cue_watchdog;
- IFQ_SET_READY(&ifp->if_snd);
strncpy(ifp->if_xname, USBDEVNAME(sc->cue_dev), IFNAMSIZ);
+ IFQ_SET_READY(&ifp->if_snd);
+
/* Attach the interface. */
if_attach(ifp);
Ether_ifattach(ifp, eaddr);
diff --git a/sys/dev/usb/if_cuereg.h b/sys/dev/usb/if_cuereg.h
index 5b6a7bc77e2..997d3101fe5 100644
--- a/sys/dev/usb/if_cuereg.h
+++ b/sys/dev/usb/if_cuereg.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_cuereg.h,v 1.4 2001/05/03 02:20:32 aaron Exp $ */
-/* $NetBSD: if_cuereg.h,v 1.11 2000/04/08 20:54:38 augustss Exp $ */
+/* $OpenBSD: if_cuereg.h,v 1.5 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_cuereg.h,v 1.14 2001/01/21 22:09:24 augustss Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
diff --git a/sys/dev/usb/if_kue.c b/sys/dev/usb/if_kue.c
index e9d835f31ec..598bab80af9 100644
--- a/sys/dev/usb/if_kue.c
+++ b/sys/dev/usb/if_kue.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_kue.c,v 1.12 2001/07/08 23:38:08 fgsch Exp $ */
-/* $NetBSD: if_kue.c,v 1.40 2001/04/08 02:10:57 augustss Exp $ */
+/* $OpenBSD: if_kue.c,v 1.13 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_kue.c,v 1.43 2001/10/08 03:37:53 augustss Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
@@ -150,23 +150,37 @@ int kuedebug = 0;
* Various supported device vendors/products.
*/
Static const struct kue_type kue_devs[] = {
- { USB_VENDOR_AOX, USB_PRODUCT_AOX_USB101 },
+ { USB_VENDOR_3COM, USB_PRODUCT_3COM_3C19250 },
+ { USB_VENDOR_3COM, USB_PRODUCT_3COM_3C460 },
+ { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_URE450 },
{ USB_VENDOR_ADS, USB_PRODUCT_ADS_UBS10BT },
+ { USB_VENDOR_ADS, USB_PRODUCT_ADS_UBS10BTX },
+ { USB_VENDOR_AOX, USB_PRODUCT_AOX_USB101 },
+ { USB_VENDOR_ASANTE, USB_PRODUCT_ASANTE_EA },
{ USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC10T },
+ { USB_VENDOR_ATEN, USB_PRODUCT_ATEN_DSB650C },
+ { USB_VENDOR_COREGA, USB_PRODUCT_COREGA_ETHER_USB_T },
+ { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650C },
+ { USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_E45 },
+ { USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_XX1 },
+ { USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_XX2 },
+ { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETT },
+ { USB_VENDOR_JATON, USB_PRODUCT_JATON_EDA },
+ { USB_VENDOR_KINGSTON, USB_PRODUCT_KINGSTON_XX1 },
+ { USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BT },
+ { USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BTN },
+ { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10T },
+ { USB_VENDOR_MOBILITY, USB_PRODUCT_MOBILITY_EA },
{ USB_VENDOR_NETGEAR, USB_PRODUCT_NETGEAR_EA101 },
+ { USB_VENDOR_NETGEAR, USB_PRODUCT_NETGEAR_EA101X },
{ USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET },
{ USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET2 },
{ USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET3 },
- { USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_E45 },
- { USB_VENDOR_3COM, USB_PRODUCT_3COM_3C19250 },
- { USB_VENDOR_3COM, USB_PRODUCT_3COM_3C460 },
- { USB_VENDOR_COREGA, USB_PRODUCT_COREGA_ETHER_USB_T },
- { USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650C },
+ { USB_VENDOR_PORTGEAR, USB_PRODUCT_PORTGEAR_EA8 },
+ { USB_VENDOR_PORTGEAR, USB_PRODUCT_PORTGEAR_EA9 },
+ { USB_VENDOR_PORTSMITH, USB_PRODUCT_PORTSMITH_EEA },
+ { USB_VENDOR_SHARK, USB_PRODUCT_SHARK_PA },
{ USB_VENDOR_SMC, USB_PRODUCT_SMC_2102USB },
- { USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10T },
- { USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BT },
- { USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETT },
- { USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_URE450 },
{ 0, 0 }
};
@@ -518,9 +532,10 @@ USB_ATTACH(kue)
ifp->if_ioctl = kue_ioctl;
ifp->if_start = kue_start;
ifp->if_watchdog = kue_watchdog;
- IFQ_SET_READY(&ifp->if_snd);
strncpy(ifp->if_xname, USBDEVNAME(sc->kue_dev), IFNAMSIZ);
+ IFQ_SET_READY(&ifp->if_snd);
+
/* Attach the interface. */
if_attach(ifp);
Ether_ifattach(ifp, sc->kue_desc.kue_macaddr);
diff --git a/sys/dev/usb/if_kuereg.h b/sys/dev/usb/if_kuereg.h
index 8e9f2b8d7b9..eb3cf15b913 100644
--- a/sys/dev/usb/if_kuereg.h
+++ b/sys/dev/usb/if_kuereg.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_kuereg.h,v 1.3 2001/05/03 02:20:32 aaron Exp $ */
-/* $NetBSD: if_kuereg.h,v 1.9 2000/03/24 22:13:24 augustss Exp $ */
+/* $OpenBSD: if_kuereg.h,v 1.4 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_kuereg.h,v 1.11 2001/01/21 02:35:31 augustss Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
diff --git a/sys/dev/usb/if_upl.c b/sys/dev/usb/if_upl.c
index fa5fa95f72a..0ae2682699c 100644
--- a/sys/dev/usb/if_upl.c
+++ b/sys/dev/usb/if_upl.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_upl.c,v 1.3 2001/06/15 03:38:35 itojun Exp $ */
-/* $NetBSD: if_upl.c,v 1.10 2000/12/08 02:24:07 augustss Exp $ */
+/* $OpenBSD: if_upl.c,v 1.4 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: if_upl.c,v 1.15 2001/06/14 05:44:27 itojun Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -317,7 +317,7 @@ USB_ATTACH(upl)
USB_ATTACH_ERROR_RETURN;
}
- s = splimp();
+ s = splnet();
/* Initialize interface info.*/
ifp = &sc->sc_if;
@@ -343,7 +343,7 @@ USB_ATTACH(upl)
#if NBPFILTER > 0
#if defined(__NetBSD__) || defined(__FreeBSD__)
- bpfattach(ifp, DLT_EN10MB, 0);
+ bpfattach(ifp, DLT_RAW, 0);
#endif
#endif
#if NRND > 0
@@ -572,7 +572,7 @@ upl_rxeof(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status)
m->m_pkthdr.rcvif = ifp;
- s = splimp();
+ s = splnet();
/* XXX ugly */
if (upl_newbuf(sc, c, NULL) == ENOBUFS) {
@@ -632,7 +632,7 @@ upl_txeof(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status)
if (sc->sc_dying)
return;
- s = splimp();
+ s = splnet();
DPRINTFN(10,("%s: %s: enter status=%d\n", USBDEVNAME(sc->sc_dev),
__FUNCTION__, status));
@@ -760,7 +760,7 @@ upl_init(void *xsc)
if (ifp->if_flags & IFF_RUNNING)
return;
- s = splimp();
+ s = splnet();
/* Init TX ring. */
if (upl_tx_list_init(sc) == ENOBUFS) {
@@ -892,7 +892,7 @@ upl_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
DPRINTFN(5,("%s: %s: cmd=0x%08lx\n",
USBDEVNAME(sc->sc_dev), __FUNCTION__, command));
- s = splimp();
+ s = splnet();
switch(command) {
case SIOCSIFADDR:
@@ -1065,7 +1065,7 @@ upl_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
USBDEVNAME(((struct upl_softc *)ifp->if_softc)->sc_dev),
__FUNCTION__));
- s = splimp();
+ s = splnet();
/*
* Queue message on interface, and start output if interface
* not yet active.
@@ -1095,7 +1095,7 @@ upl_input(struct ifnet *ifp, struct mbuf *m)
schednetisr(NETISR_IP);
inq = &ipintrq;
- s = splimp();
+ s = splnet();
if (IF_QFULL(inq)) {
IF_DROP(inq);
splx(s);
diff --git a/sys/dev/usb/kue_fw.h b/sys/dev/usb/kue_fw.h
index 78e6bbfccb8..133f8fa9fbd 100644
--- a/sys/dev/usb/kue_fw.h
+++ b/sys/dev/usb/kue_fw.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: kue_fw.h,v 1.4 2001/01/28 09:43:41 aaron Exp $ */
-/* $NetBSD: kue_fw.h,v 1.2 2000/03/27 12:33:54 augustss Exp $ */
+/* $OpenBSD: kue_fw.h,v 1.5 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: kue_fw.h,v 1.3 2001/01/19 08:54:21 jdolecek Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c
index 23d05571eba..f2d19236faf 100644
--- a/sys/dev/usb/ohci.c
+++ b/sys/dev/usb/ohci.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ohci.c,v 1.23 2001/09/15 20:57:33 drahn Exp $ */
-/* $NetBSD: ohci.c,v 1.102 2001/04/01 15:00:29 augustss Exp $ */
+/* $OpenBSD: ohci.c,v 1.24 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ohci.c,v 1.104 2001/09/28 23:57:21 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/ohci.c,v 1.22 1999/11/17 22:33:40 n_hibma Exp $ */
/*
@@ -138,7 +138,7 @@ Static void ohci_shutdown(void *v);
Static void ohci_power(int, void *);
Static usbd_status ohci_open(usbd_pipe_handle);
Static void ohci_poll(struct usbd_bus *);
-Static void ohci_softintr(struct usbd_bus *);
+Static void ohci_softintr(void *);
Static void ohci_waitintr(ohci_softc_t *, usbd_xfer_handle);
Static void ohci_add_done(ohci_softc_t *, ohci_physaddr_t);
Static void ohci_rhsc(ohci_softc_t *, usbd_xfer_handle);
@@ -651,9 +651,8 @@ ohci_init(ohci_softc_t *sc)
printf("%s:", USBDEVNAME(sc->sc_bus.bdev));
#endif
rev = OREAD4(sc, OHCI_REVISION);
- printf(" OHCI version %d.%d%s", OHCI_REV_HI(rev), OHCI_REV_LO(rev),
+ printf(" OHCI version %d.%d%s\n", OHCI_REV_HI(rev), OHCI_REV_LO(rev),
OHCI_REV_LEGACY(rev) ? ", legacy support" : "");
- printf("\n");
if (OHCI_REV_HI(rev) != 1 || OHCI_REV_LO(rev) != 0) {
printf("%s: unsupported OHCI revision\n",
@@ -760,6 +759,8 @@ ohci_init(ohci_softc_t *sc)
OWRITE4(sc, OHCI_CONTROL, OHCI_HCFS_RESET);
goto reset;
}
+#if 0
+/* Don't bother trying to reuse the BIOS init, we'll reset it anyway. */
} else if ((ctl & OHCI_HCFS_MASK) != OHCI_HCFS_RESET) {
/* BIOS started controller. */
DPRINTF(("ohci_init: BIOS active\n"));
@@ -767,6 +768,7 @@ ohci_init(ohci_softc_t *sc)
OWRITE4(sc, OHCI_CONTROL, OHCI_HCFS_OPERATIONAL);
usb_delay_ms(&sc->sc_bus, USB_RESUME_DELAY);
}
+#endif
} else {
DPRINTF(("ohci_init: cold started\n"));
reset:
@@ -1151,13 +1153,6 @@ ohci_intr1(ohci_softc_t *sc)
}
void
-ohci_rhsc_enable(void *v_sc)
-{
- ohci_softc_t *sc = v_sc;
- ohci_rhsc_able(sc, 1);
-}
-
-void
ohci_rhsc_able(ohci_softc_t *sc, int on)
{
DPRINTFN(4, ("ohci_rhsc_able: on=%d\n", on));
@@ -1170,6 +1165,14 @@ ohci_rhsc_able(ohci_softc_t *sc, int on)
}
}
+void
+ohci_rhsc_enable(void *v_sc)
+{
+ ohci_softc_t *sc = v_sc;
+
+ ohci_rhsc_able(sc, 1);
+}
+
#ifdef OHCI_DEBUG
char *ohci_cc_strs[] = {
"NO_ERROR",
@@ -1229,9 +1232,9 @@ ohci_add_done(ohci_softc_t *sc, ohci_physaddr_t done)
}
void
-ohci_softintr(struct usbd_bus *bus)
+ohci_softintr(void *v)
{
- ohci_softc_t *sc = (ohci_softc_t *)bus;
+ ohci_softc_t *sc = v;
ohci_soft_itd_t *sitd, *sidone, *sitdnext;
ohci_soft_td_t *std, *sdone, *stdnext;
usbd_xfer_handle xfer;
@@ -2078,8 +2081,8 @@ ohci_abort_xfer_end(void *v)
p = xfer->hcpriv;
#ifdef DIAGNOSTIC
if (p == NULL) {
- printf("ohci_abort_xfer: hcpriv==0\n");
splx(s);
+ printf("ohci_abort_xfer: hcpriv==0\n");
return;
}
#endif
diff --git a/sys/dev/usb/ohcivar.h b/sys/dev/usb/ohcivar.h
index a8795edbd24..f1ff5a6946e 100644
--- a/sys/dev/usb/ohcivar.h
+++ b/sys/dev/usb/ohcivar.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: ohcivar.h,v 1.13 2001/09/15 20:57:33 drahn Exp $ */
-/* $NetBSD: ohcivar.h,v 1.27 2001/02/21 10:19:30 minoura Exp $ */
+/* $OpenBSD: ohcivar.h,v 1.14 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ohcivar.h,v 1.28 2001/09/28 23:57:21 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/ohcivar.h,v 1.13 1999/11/17 22:33:41 n_hibma Exp $ */
/*
@@ -131,11 +131,10 @@ typedef struct ohci_softc {
u_int sc_overrun_cnt;
struct timeval sc_overrun_ntc;
+ usb_callout_t sc_tmo_rhsc;
+
device_ptr_t sc_child;
-#if defined(__OpenBSD__)
- struct timeout sc_tmo_rhsc;
-#endif
char sc_dying;
} ohci_softc_t;
diff --git a/sys/dev/usb/uaudio.c b/sys/dev/usb/uaudio.c
index c7e5dc36e56..2baa27c7cad 100644
--- a/sys/dev/usb/uaudio.c
+++ b/sys/dev/usb/uaudio.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uaudio.c,v 1.10 2001/09/17 20:30:25 drahn Exp $ */
-/* $NetBSD: uaudio.c,v 1.41 2001/01/23 14:04:13 augustss Exp $ */
+/* $OpenBSD: uaudio.c,v 1.11 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uaudio.c,v 1.43 2001/10/03 00:04:53 augustss Exp $ */
/*
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -52,7 +52,7 @@
#include <sys/ioctl.h>
#include <sys/tty.h>
#include <sys/file.h>
-#include <sys/reboot.h>
+#include <sys/reboot.h> /* for bootverbose */
#include <sys/select.h>
#include <sys/proc.h>
#include <sys/vnode.h>
@@ -540,17 +540,16 @@ void
uaudio_mixer_add_ctl(struct uaudio_softc *sc, struct mixerctl *mc)
{
int res;
-
- if (sc->sc_nctls == 0)
- sc->sc_ctls = malloc(sizeof *mc, M_USBDEV, M_NOWAIT);
- else
- sc->sc_ctls = realloc(sc->sc_ctls,
- (sc->sc_nctls+1) * sizeof *mc,
- M_USBDEV, M_NOWAIT);
- if (sc->sc_ctls == NULL) {
+ size_t len = sizeof(*mc) * (sc->sc_nctls + 1);
+ struct mixerctl *nmc = sc->sc_nctls == 0 ?
+ malloc(len, M_USBDEV, M_NOWAIT) :
+ realloc(sc->sc_ctls, len, M_USBDEV, M_NOWAIT);
+
+ if (nmc == NULL) {
printf("uaudio_mixer_add_ctl: no memory\n");
return;
}
+ sc->sc_ctls = nmc;
mc->delta = 0;
if (mc->type != MIX_ON_OFF) {
@@ -1021,16 +1020,17 @@ uaudio_identify(struct uaudio_softc *sc, usb_config_descriptor_t *cdesc)
void
uaudio_add_alt(struct uaudio_softc *sc, struct as_info *ai)
{
- if (sc->sc_nalts == 0)
- sc->sc_alts = malloc(sizeof *ai, M_USBDEV, M_NOWAIT);
- else
- sc->sc_alts = realloc(sc->sc_alts,
- (sc->sc_nalts+1) * sizeof *ai,
- M_USBDEV, M_NOWAIT);
- if (sc->sc_alts == NULL) {
+ size_t len = sizeof(*ai) * (sc->sc_nalts + 1);
+ struct as_info *nai = sc->sc_nalts == 0 ?
+ malloc(len, M_USBDEV, M_NOWAIT) :
+ realloc(sc->sc_alts, len, M_USBDEV, M_NOWAIT);
+
+ if (nai == NULL) {
printf("uaudio_add_alt: no memory\n");
return;
}
+
+ sc->sc_alts = nai;
DPRINTFN(2,("uaudio_add_alt: adding alt=%d, enc=%d\n",
ai->alt, ai->encoding));
sc->sc_alts[sc->sc_nalts++] = *ai;
diff --git a/sys/dev/usb/ucom.c b/sys/dev/usb/ucom.c
index cb1c97c7d74..4145bc2242e 100644
--- a/sys/dev/usb/ucom.c
+++ b/sys/dev/usb/ucom.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ucom.c,v 1.8 2001/05/03 02:20:33 aaron Exp $ */
-/* $NetBSD: ucom.c,v 1.37 2001/04/02 13:18:31 augustss Exp $ */
+/* $OpenBSD: ucom.c,v 1.9 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ucom.c,v 1.39 2001/08/16 22:31:24 augustss Exp $ */
/*
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -53,6 +53,12 @@
#include <sys/vnode.h>
#include <sys/device.h>
#include <sys/poll.h>
+#if defined(__NetBSD__)
+#include "rnd.h"
+#if NRND > 0
+#include <sys/rnd.h>
+#endif
+#endif
#include <dev/usb/usb.h>
@@ -127,6 +133,10 @@ struct ucom_softc {
u_char sc_opening; /* lock during open */
int sc_refcnt;
u_char sc_dying; /* disconnecting */
+
+#if defined(__NetBSD__) && NRND > 0
+ rndsource_element_t sc_rndsource; /* random source */
+#endif
};
cdev_decl(ucom);
@@ -186,6 +196,11 @@ USB_ATTACH(ucom)
DPRINTF(("ucom_attach: tty_attach %p\n", tp));
tty_attach(tp);
+#if defined(__NetBSD__) && NRND > 0
+ rnd_attach_source(&sc->sc_rndsource, USBDEVNAME(sc->sc_dev),
+ RND_TYPE_TTY, 0);
+#endif
+
USB_ATTACH_SUCCESS_RETURN;
}
@@ -238,6 +253,11 @@ USB_DETACH(ucom)
sc->sc_tty = NULL;
}
+ /* Detach the random source */
+#if defined(__NetBSD__) && NRND > 0
+ rnd_detach_source(&sc->sc_rndsource);
+#endif
+
return (0);
}
@@ -554,6 +574,28 @@ ucomwrite(dev_t dev, struct uio *uio, int flag)
return (error);
}
+#if 0
+int
+ucompoll(dev, events, p)
+ dev_t dev;
+ int events;
+ struct proc *p;
+{
+ struct ucom_softc *sc = ucom_cd.cd_devs[UCOMUNIT(dev)];
+ struct tty *tp = sc->sc_tty;
+ int error;
+
+ if (sc->sc_dying)
+ return (EIO);
+
+ sc->sc_refcnt++;
+ error = ((*linesw[tp->t_line].l_poll)(tp, events, p));
+ if (--sc->sc_refcnt < 0)
+ usb_detach_wakeup(USBDEV(sc->sc_dev));
+ return (error);
+}
+#endif
+
struct tty *
ucomtty(dev_t dev)
{
@@ -968,13 +1010,13 @@ ucomwritecb(usbd_xfer_handle xfer, usbd_private_handle p, usbd_status status)
DPRINTFN(5,("ucomwritecb: status=%d\n", status));
if (status == USBD_CANCELLED || sc->sc_dying)
- return;
+ goto error;
if (status) {
DPRINTF(("ucomwritecb: status=%d\n", status));
usbd_clear_endpoint_stall_async(sc->sc_bulkin_pipe);
/* XXX we should restart after some delay. */
- return;
+ goto error;
}
usbd_get_xfer_status(xfer, NULL, NULL, &cc, NULL);
@@ -993,6 +1035,12 @@ ucomwritecb(usbd_xfer_handle xfer, usbd_private_handle p, usbd_status status)
ndflush(&tp->t_outq, cc);
(*linesw[tp->t_line].l_start)(tp);
splx(s);
+ return;
+
+error:
+ s = spltty();
+ CLR(tp->t_state, TS_BUSY);
+ splx(s);
}
Static usbd_status
@@ -1035,7 +1083,7 @@ ucomreadcb(usbd_xfer_handle xfer, usbd_private_handle p, usbd_status status)
(*rint)('\n', tp);
ttwakeup(tp);
splx(s);
- return;
+ return;
}
if (status) {
diff --git a/sys/dev/usb/ucomvar.h b/sys/dev/usb/ucomvar.h
index faa9719764b..4003c388ef2 100644
--- a/sys/dev/usb/ucomvar.h
+++ b/sys/dev/usb/ucomvar.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: ucomvar.h,v 1.6 2001/05/03 02:20:33 aaron Exp $ */
-/* $NetBSD: ucomvar.h,v 1.8 2000/09/03 19:15:45 augustss Exp $ */
+/* $OpenBSD: ucomvar.h,v 1.7 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ucomvar.h,v 1.9 2001/01/23 21:56:17 augustss Exp $ */
/*
* Copyright (c) 1999 The NetBSD Foundation, Inc.
diff --git a/sys/dev/usb/uftdireg.h b/sys/dev/usb/uftdireg.h
index ef9fc619ce3..08019addafb 100644
--- a/sys/dev/usb/uftdireg.h
+++ b/sys/dev/usb/uftdireg.h
@@ -1,4 +1,6 @@
-/* $OpenBSD: uftdireg.h,v 1.2 2001/02/20 04:15:29 nate Exp $ */
+/* $OpenBSD: uftdireg.h,v 1.3 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uftdireg.h,v 1.3 2001/06/12 14:59:28 wiz Exp $ */
+
/*
* Definitions for the FTDI USB Single Port Serial Converter -
* known as FTDI_SIO (Serial Input/Output application of the chipset)
@@ -260,7 +262,7 @@ enum {
* 1 = active
*
* FTDI_SIO_GET_MODEM_STATUS
- * Retreive the current value of the modem status register.
+ * Retrieve the current value of the modem status register.
*/
#define FTDI_SIO_CTS_MASK 0x10
#define FTDI_SIO_DSR_MASK 0x20
diff --git a/sys/dev/usb/ugen.c b/sys/dev/usb/ugen.c
index e871785986c..0d5b04d8195 100644
--- a/sys/dev/usb/ugen.c
+++ b/sys/dev/usb/ugen.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ugen.c,v 1.16 2001/09/20 17:02:31 mpech Exp $ */
-/* $NetBSD: ugen.c,v 1.45 2000/12/13 04:05:14 augustss Exp $ */
+/* $OpenBSD: ugen.c,v 1.17 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ugen.c,v 1.49 2001/10/24 22:31:04 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/ugen.c,v 1.26 1999/11/17 22:33:41 n_hibma Exp $ */
/*
@@ -174,6 +174,10 @@ USB_MATCH(ugen)
{
USB_MATCH_START(ugen, uaa);
+#if 0
+ if (uaa->matchlvl)
+ return (uaa->matchlvl);
+#endif
if (uaa->usegeneric)
return (UMATCH_GENERIC);
else
@@ -517,7 +521,7 @@ ugen_do_read(struct ugen_softc *sc, int endpt, struct uio *uio, int flag)
return (EWOULDBLOCK);
}
sce->state |= UGEN_ASLP;
- DPRINTFN(5, ("ugenread: sleep on %p\n", sc));
+ DPRINTFN(5, ("ugenread: sleep on %p\n", sce));
error = tsleep(sce, PZERO | PCATCH, "ugenri", 0);
DPRINTFN(5, ("ugenread: woke, error=%d\n", error));
if (sc->sc_dying)
@@ -581,7 +585,7 @@ ugen_do_read(struct ugen_softc *sc, int endpt, struct uio *uio, int flag)
return (EWOULDBLOCK);
}
sce->state |= UGEN_ASLP;
- DPRINTFN(5, ("ugenread: sleep on %p\n", sc));
+ DPRINTFN(5, ("ugenread: sleep on %p\n", sce));
error = tsleep(sce, PZERO | PCATCH, "ugenri", 0);
DPRINTFN(5, ("ugenread: woke, error=%d\n", error));
if (sc->sc_dying)
@@ -823,6 +827,7 @@ ugen_isoc_rintr(usbd_xfer_handle xfer, usbd_private_handle addr,
struct isoreq *req = addr;
struct ugen_endpoint *sce = req->sce;
u_int32_t count, n;
+ int i, isize;
/* Return if we are aborting. */
if (status == USBD_CANCELLED)
@@ -841,15 +846,25 @@ ugen_isoc_rintr(usbd_xfer_handle xfer, usbd_private_handle addr,
count));
}
- /* copy data to buffer */
- while (count > 0) {
- n = min(count, sce->limit - sce->fill);
- memcpy(sce->fill, req->dmabuf, n);
+ isize = UGETW(sce->edesc->wMaxPacketSize);
+ for (i = 0; i < UGEN_NISORFRMS; i++) {
+ u_int32_t actlen = req->sizes[i];
+ char const *buf = (char const *)req->dmabuf + isize * i;
+
+ /* copy data to buffer */
+ while (actlen > 0) {
+ n = min(actlen, sce->limit - sce->fill);
+ memcpy(sce->fill, buf, n);
+
+ buf += n;
+ actlen -= n;
+ sce->fill += n;
+ if(sce->fill == sce->limit)
+ sce->fill = sce->ibuf;
+ }
- count -= n;
- sce->fill += n;
- if(sce->fill == sce->limit)
- sce->fill = sce->ibuf;
+ /* setup size for next transfer */
+ req->sizes[i] = isize;
}
usbd_setup_isoc_xfer(xfer, sce->pipeh, req, req->sizes, UGEN_NISORFRMS,
diff --git a/sys/dev/usb/ugraphire_rdesc.h b/sys/dev/usb/ugraphire_rdesc.h
index 5942419415b..a5611410995 100644
--- a/sys/dev/usb/ugraphire_rdesc.h
+++ b/sys/dev/usb/ugraphire_rdesc.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: ugraphire_rdesc.h,v 1.1 2001/01/28 09:43:41 aaron Exp $ */
-/* $NetBSD: $ */
+/* $OpenBSD: ugraphire_rdesc.h,v 1.2 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ugraphire_rdesc.h,v 1.1 2000/12/29 01:47:49 augustss Exp $ */
/*
* Copyright (c) 2000 Nick Hibma <n_hibma@freebsd.org>
* All rights reserved.
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c
index 337fbf4aa9b..50f06ec2dbb 100644
--- a/sys/dev/usb/uhci.c
+++ b/sys/dev/usb/uhci.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uhci.c,v 1.21 2001/06/12 19:11:58 mickey Exp $ */
-/* $NetBSD: uhci.c,v 1.135 2001/04/01 14:59:52 augustss Exp $ */
+/* $OpenBSD: uhci.c,v 1.22 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uhci.c,v 1.142 2001/10/25 02:08:13 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhci.c,v 1.33 1999/11/17 22:33:41 n_hibma Exp $ */
/*
@@ -159,9 +159,11 @@ struct uhci_pipe {
} u;
};
-Static void uhci_busreset(uhci_softc_t *);
+Static void uhci_globalreset(uhci_softc_t *);
+Static void uhci_reset(uhci_softc_t *);
Static void uhci_shutdown(void *v);
Static void uhci_power(int, void *);
+Static usbd_status uhci_run(uhci_softc_t *, int run);
Static uhci_soft_td_t *uhci_alloc_std(uhci_softc_t *);
Static void uhci_free_std(uhci_softc_t *, uhci_soft_td_t *);
Static uhci_soft_qh_t *uhci_alloc_sqh(uhci_softc_t *);
@@ -242,7 +244,7 @@ Static void uhci_root_intr_done(usbd_xfer_handle);
Static usbd_status uhci_open(usbd_pipe_handle);
Static void uhci_poll(struct usbd_bus *);
-Static void uhci_softintr(struct usbd_bus *);
+Static void uhci_softintr(void *);
Static usbd_status uhci_device_request(usbd_xfer_handle xfer);
@@ -283,7 +285,7 @@ void uhci_dump(void);
#define UHCICMD(sc, cmd) UWRITE2(sc, UHCI_CMD, cmd)
#define UHCISTS(sc) UREAD2(sc, UHCI_STS)
-#define UHCI_RESET_TIMEOUT 100 /* reset timeout */
+#define UHCI_RESET_TIMEOUT 100 /* ms, reset timeout */
#define UHCI_CURFRAME(sc) (UREAD2(sc, UHCI_FRNUM) & UHCI_FRNUM_MASK)
@@ -375,7 +377,7 @@ uhci_find_prev_qh(uhci_soft_qh_t *pqh, uhci_soft_qh_t *sqh)
}
void
-uhci_busreset(uhci_softc_t *sc)
+uhci_globalreset(uhci_softc_t *sc)
{
UHCICMD(sc, UHCI_CMD_GRESET); /* global reset */
usb_delay_ms(&sc->sc_bus, USB_BUS_RESET_DELAY); /* wait a little */
@@ -401,8 +403,8 @@ uhci_init(uhci_softc_t *sc)
uhci_run(sc, 0); /* stop the controller */
UWRITE2(sc, UHCI_INTR, 0); /* disable interrupts */
-
- uhci_busreset(sc);
+ uhci_globalreset(sc); /* reset the controller */
+ uhci_reset(sc);
/* Allocate and initialize real frame array. */
err = usb_allocmem(&sc->sc_bus,
@@ -815,13 +817,11 @@ uhci_dump_qh(uhci_soft_qh_t *sqh)
}
-#if 1
void
uhci_dump(void)
{
uhci_dump_all(thesc);
}
-#endif
void
uhci_dump_all(uhci_softc_t *sc)
@@ -910,6 +910,16 @@ uhci_dump_ii(uhci_intr_info_t *ii)
ii, DONE, ii->xfer);
return;
}
+ if (pipe->endpoint == NULL) {
+ printf("ii %p: done=%d xfer=%p pipe=%p pipe->endpoint=NULL\n",
+ ii, DONE, ii->xfer, pipe);
+ return;
+ }
+ if (pipe->device == NULL) {
+ printf("ii %p: done=%d xfer=%p pipe=%p pipe->device=NULL\n",
+ ii, DONE, ii->xfer, pipe);
+ return;
+ }
ed = pipe->endpoint->edesc;
dev = pipe->device;
printf("ii %p: done=%d xfer=%p dev=%p vid=0x%04x pid=0x%04x addr=%d pipe=%p ep=0x%02x attr=0x%02x\n",
@@ -1148,16 +1158,32 @@ uhci_remove_bulk(uhci_softc_t *sc, uhci_soft_qh_t *sqh)
sc->sc_bulk_end = pqh;
}
+Static int uhci_intr1(uhci_softc_t *);
+
int
uhci_intr(void *arg)
{
uhci_softc_t *sc = arg;
+
+ DPRINTFN(15,("uhci_intr: real interrupt\n"));
+ if (sc->sc_bus.use_polling) {
+#ifdef DIAGNOSTIC
+ printf("uhci_intr: ignored interrupt while polling\n");
+#endif
+ return (0);
+ }
+ return (uhci_intr1(sc));
+}
+
+int
+uhci_intr1(uhci_softc_t *sc)
+{
int status;
int ack;
#ifdef UHCI_DEBUG
if (uhcidebug > 15) {
- DPRINTF(("%s: uhci_intr\n", USBDEVNAME(sc->sc_bus.bdev)));
+ DPRINTF(("%s: uhci_intr1\n", USBDEVNAME(sc->sc_bus.bdev)));
uhci_dumpregs(sc);
}
#endif
@@ -1166,6 +1192,11 @@ uhci_intr(void *arg)
if (status == 0) /* The interrupt was not for us. */
return (0);
+#if defined(DIAGNOSTIC) && defined(__NetBSD__)
+ if (sc->sc_suspend != PWR_RESUME)
+ printf("uhci_intr: suspended sts=0x%x\n", status);
+#endif
+
if (sc->sc_suspend != PWR_RESUME) {
printf("%s: interrupt while not operating ignored\n",
USBDEVNAME(sc->sc_bus.bdev));
@@ -1173,11 +1204,6 @@ uhci_intr(void *arg)
return (0);
}
-#if defined(DIAGNOSTIC) && defined(__NetBSD__)
- if (sc->sc_suspend != PWR_RESUME)
- printf("uhci_intr: suspended sts=0x%x\n", status);
-#endif
-
ack = 0;
if (status & UHCI_STS_USBINT)
ack |= UHCI_STS_USBINT;
@@ -1200,14 +1226,14 @@ uhci_intr(void *arg)
}
if (status & UHCI_STS_HCH) {
/* no acknowledge needed */
- if (!sc->sc_dying)
+ if (!sc->sc_dying) {
printf("%s: host controller halted\n",
USBDEVNAME(sc->sc_bus.bdev));
- sc->sc_dying = 1;
#ifdef UHCI_DEBUG
- uhci_dump_all(sc);
+ uhci_dump_all(sc);
#endif
-
+ }
+ sc->sc_dying = 1;
}
if (!ack)
@@ -1223,12 +1249,13 @@ uhci_intr(void *arg)
}
void
-uhci_softintr(struct usbd_bus *bus)
+uhci_softintr(void *v)
{
- uhci_softc_t *sc = (uhci_softc_t *)bus;
+ uhci_softc_t *sc = v;
uhci_intr_info_t *ii;
- DPRINTFN(10,("%s: uhci_softintr\n", USBDEVNAME(sc->sc_bus.bdev)));
+ DPRINTFN(10,("%s: uhci_softintr (%d)\n", USBDEVNAME(sc->sc_bus.bdev),
+ sc->sc_bus.intr_context));
sc->sc_bus.intr_context++;
@@ -1313,6 +1340,7 @@ uhci_idone(uhci_intr_info_t *ii)
u_int32_t status = 0, nstatus;
int actlen;
+ DPRINTFN(12, ("uhci_idone: ii=%p\n", ii));
#ifdef DIAGNOSTIC
{
int s = splhigh();
@@ -1365,8 +1393,7 @@ uhci_idone(uhci_intr_info_t *ii)
upipe->u.iso.inuse -= nframes;
xfer->actlen = actlen;
xfer->status = USBD_NORMAL_COMPLETION;
- usb_transfer_complete(xfer);
- return;
+ goto end;
}
#ifdef UHCI_DEBUG
@@ -1393,7 +1420,7 @@ uhci_idone(uhci_intr_info_t *ii)
upipe->nexttoggle = UHCI_TD_GET_DT(le32toh(std->td.td_token));
status &= UHCI_TD_ERROR;
- DPRINTFN(10, ("uhci_check_intr: actlen=%d, status=0x%x\n",
+ DPRINTFN(10, ("uhci_idone: actlen=%d, status=0x%x\n",
actlen, status));
xfer->actlen = actlen;
if (status != 0) {
@@ -1419,7 +1446,10 @@ uhci_idone(uhci_intr_info_t *ii)
} else {
xfer->status = USBD_NORMAL_COMPLETION;
}
+
+ end:
usb_transfer_complete(xfer);
+ DPRINTFN(12, ("uhci_idone: ii=%p done\n", ii));
}
/*
@@ -1461,7 +1491,7 @@ uhci_waitintr(uhci_softc_t *sc, usbd_xfer_handle xfer)
usb_delay_ms(&sc->sc_bus, 1);
DPRINTFN(20,("uhci_waitintr: 0x%04x\n", UREAD2(sc, UHCI_STS)));
if (UREAD2(sc, UHCI_STS) & UHCI_STS_USBINT) {
- uhci_intr(sc);
+ uhci_intr1(sc);
if (xfer->status != USBD_IN_PROGRESS)
return;
}
@@ -1486,10 +1516,9 @@ uhci_poll(struct usbd_bus *bus)
uhci_softc_t *sc = (uhci_softc_t *)bus;
if (UREAD2(sc, UHCI_STS) & UHCI_STS_USBINT)
- uhci_intr(sc);
+ uhci_intr1(sc);
}
-#if 0
void
uhci_reset(uhci_softc_t *sc)
{
@@ -1504,7 +1533,6 @@ uhci_reset(uhci_softc_t *sc)
printf("%s: controller did not reset\n",
USBDEVNAME(sc->sc_bus.bdev));
}
-#endif
usbd_status
uhci_run(uhci_softc_t *sc, int run)
@@ -3055,27 +3083,27 @@ uhci_root_ctrl_start(usbd_xfer_handle xfer)
}
switch(value) {
case UHF_PORT_ENABLE:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x & ~UHCI_PORTSC_PE);
break;
case UHF_PORT_SUSPEND:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x & ~UHCI_PORTSC_SUSP);
break;
case UHF_PORT_RESET:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x & ~UHCI_PORTSC_PR);
break;
case UHF_C_PORT_CONNECTION:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_CSC);
break;
case UHF_C_PORT_ENABLE:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_POEDC);
break;
case UHF_C_PORT_OVER_CURRENT:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_OCIC);
break;
case UHF_C_PORT_RESET:
@@ -3140,21 +3168,21 @@ uhci_root_ctrl_start(usbd_xfer_handle xfer)
}
x = UREAD2(sc, port);
status = change = 0;
- if (x & UHCI_PORTSC_CCS )
+ if (x & UHCI_PORTSC_CCS)
status |= UPS_CURRENT_CONNECT_STATUS;
- if (x & UHCI_PORTSC_CSC )
+ if (x & UHCI_PORTSC_CSC)
change |= UPS_C_CONNECT_STATUS;
- if (x & UHCI_PORTSC_PE )
+ if (x & UHCI_PORTSC_PE)
status |= UPS_PORT_ENABLED;
if (x & UHCI_PORTSC_POEDC)
change |= UPS_C_PORT_ENABLED;
- if (x & UHCI_PORTSC_OCI )
+ if (x & UHCI_PORTSC_OCI)
status |= UPS_OVERCURRENT_INDICATOR;
- if (x & UHCI_PORTSC_OCIC )
+ if (x & UHCI_PORTSC_OCIC)
change |= UPS_C_OVERCURRENT_INDICATOR;
- if (x & UHCI_PORTSC_SUSP )
+ if (x & UHCI_PORTSC_SUSP)
status |= UPS_SUSPEND;
- if (x & UHCI_PORTSC_LSDA )
+ if (x & UHCI_PORTSC_LSDA)
status |= UPS_LOW_SPEED;
status |= UPS_PORT_POWER;
if (sc->sc_isreset)
@@ -3181,15 +3209,15 @@ uhci_root_ctrl_start(usbd_xfer_handle xfer)
}
switch(value) {
case UHF_PORT_ENABLE:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_PE);
break;
case UHF_PORT_SUSPEND:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_SUSP);
break;
case UHF_PORT_RESET:
- x = UREAD2(sc, port);
+ x = URWMASK(UREAD2(sc, port));
UWRITE2(sc, port, x | UHCI_PORTSC_PR);
usb_delay_ms(&sc->sc_bus, 50); /*XXX USB v1.1 7.1.7.3 */
UWRITE2(sc, port, x & ~UHCI_PORTSC_PR);
diff --git a/sys/dev/usb/uhcireg.h b/sys/dev/usb/uhcireg.h
index 0e09fc1e2b2..4f71a231ba7 100644
--- a/sys/dev/usb/uhcireg.h
+++ b/sys/dev/usb/uhcireg.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: uhcireg.h,v 1.8 2001/05/03 02:20:33 aaron Exp $ */
-/* $NetBSD: uhcireg.h,v 1.13 2000/08/13 18:20:15 augustss Exp $ */
+/* $OpenBSD: uhcireg.h,v 1.9 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uhcireg.h,v 1.14 2001/08/06 15:15:08 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhcireg.h,v 1.12 1999/11/17 22:33:42 n_hibma Exp $ */
/*
@@ -107,6 +107,9 @@
#define UHCI_PORTSC_OCIC 0x0800
#define UHCI_PORTSC_SUSP 0x1000
+#define URWMASK(x) \
+ ((x) & (UHCI_PORTSC_SUSP | UHCI_PORTSC_PR | UHCI_PORTSC_RD | UHCI_PORTSC_PE))
+
#define UHCI_FRAMELIST_COUNT 1024
#define UHCI_FRAMELIST_ALIGN 4096
diff --git a/sys/dev/usb/uhid.c b/sys/dev/usb/uhid.c
index 169f75bc534..c2939df1bf9 100644
--- a/sys/dev/usb/uhid.c
+++ b/sys/dev/usb/uhid.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uhid.c,v 1.14 2001/05/03 02:20:33 aaron Exp $ */
-/* $NetBSD: uhid.c,v 1.42 2000/12/29 01:47:49 augustss Exp $ */
+/* $OpenBSD: uhid.c,v 1.15 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uhid.c,v 1.45 2001/10/26 17:58:21 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhid.c,v 1.22 1999/11/17 22:33:43 n_hibma Exp $ */
/*
@@ -172,6 +172,8 @@ USB_MATCH(uhid)
id = usbd_get_interface_descriptor(uaa->iface);
if (id == NULL || id->bInterfaceClass != UICLASS_HID)
return (UMATCH_NONE);
+ if (uaa->matchlvl)
+ return (uaa->matchlvl);
return (UMATCH_IFACECLASS_GENERIC);
}
@@ -234,7 +236,7 @@ USB_ATTACH(uhid)
}
} else {
desc = NULL;
- err = usbd_alloc_report_desc(uaa->iface, &desc, &size,M_USBDEV);
+ err = usbd_read_report_desc(uaa->iface, &desc, &size,M_USBDEV);
}
if (err) {
printf("%s: no report descriptor\n", USBDEVNAME(sc->sc_dev));
@@ -367,7 +369,7 @@ uhid_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status)
if (sc->sc_state & UHID_ASLP) {
sc->sc_state &= ~UHID_ASLP;
- DPRINTFN(5, ("uhid_intr: waking %p\n", sc));
+ DPRINTFN(5, ("uhid_intr: waking %p\n", &sc->sc_q));
wakeup(&sc->sc_q);
}
selwakeup(&sc->sc_rsel);
@@ -475,7 +477,7 @@ uhid_do_read(struct uhid_softc *sc, struct uio *uio, int flag)
return (EWOULDBLOCK);
}
sc->sc_state |= UHID_ASLP;
- DPRINTFN(5, ("uhidread: sleep on %p\n", sc));
+ DPRINTFN(5, ("uhidread: sleep on %p\n", &sc->sc_q));
error = tsleep(&sc->sc_q, PZERO | PCATCH, "uhidrea", 0);
DPRINTFN(5, ("uhidread: woke, error=%d\n", error));
if (sc->sc_dying)
diff --git a/sys/dev/usb/uhub.c b/sys/dev/usb/uhub.c
index 05dfb76d3a7..a28b3886d1d 100644
--- a/sys/dev/usb/uhub.c
+++ b/sys/dev/usb/uhub.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uhub.c,v 1.13 2001/05/03 02:20:33 aaron Exp $ */
-/* $NetBSD: uhub.c,v 1.49 2001/01/21 19:00:06 augustss Exp $ */
+/* $OpenBSD: uhub.c,v 1.14 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: uhub.c,v 1.52 2001/10/26 17:53:59 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhub.c,v 1.18 1999/11/17 22:33:43 n_hibma Exp $ */
/*
@@ -345,8 +345,8 @@ uhub_explore(usbd_device_handle dev)
}
status = UGETW(up->status.wPortStatus);
change = UGETW(up->status.wPortChange);
- DPRINTFN(3,("uhub_explore: port %d status 0x%04x 0x%04x\n",
- port, status, change));
+ DPRINTFN(3,("uhub_explore: %s port %d status 0x%04x 0x%04x\n",
+ USBDEVNAME(sc->sc_dev), port, status, change));
if (change & UPS_C_PORT_ENABLED) {
DPRINTF(("uhub_explore: C_PORT_ENABLED\n"));
usbd_clear_port_feature(dev, port, UHF_C_PORT_ENABLE);
@@ -372,8 +372,14 @@ uhub_explore(usbd_device_handle dev)
DPRINTFN(3,("uhub_explore: port=%d !C_CONNECT_"
"STATUS\n", port));
/* No status change, just do recursive explore. */
- if (up->device && up->device->hub)
+ if (up->device != NULL && up->device->hub != NULL)
up->device->hub->explore(up->device);
+#if 0 && defined(DIAGNOSTIC)
+ if (up->device == NULL &&
+ (status & UPS_CURRENT_CONNECT_STATUS))
+ printf("%s: connected, no device\n",
+ USBDEVNAME(sc->sc_dev));
+#endif
continue;
}
@@ -566,10 +572,10 @@ uhub_intr(usbd_xfer_handle xfer, usbd_private_handle addr, usbd_status status)
struct uhub_softc *sc = addr;
DPRINTFN(5,("uhub_intr: sc=%p\n", sc));
- if (status != USBD_NORMAL_COMPLETION)
+ if (status == USBD_STALLED)
usbd_clear_endpoint_stall_async(sc->sc_ipipe);
-
- usb_needs_explore(sc->sc_hub);
+ else if (status == USBD_NORMAL_COMPLETION)
+ usb_needs_explore(sc->sc_hub);
}
#if defined(__FreeBSD__)
diff --git a/sys/dev/usb/ukbd.c b/sys/dev/usb/ukbd.c
index 5a87897b58d..3d667a7bf03 100644
--- a/sys/dev/usb/ukbd.c
+++ b/sys/dev/usb/ukbd.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ukbd.c,v 1.9 2001/10/25 15:20:07 drahn Exp $ */
-/* $NetBSD: ukbd.c,v 1.66 2001/04/06 22:54:15 augustss Exp $ */
+/* $OpenBSD: ukbd.c,v 1.10 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ukbd.c,v 1.69 2001/10/24 21:02:18 augustss Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -76,6 +76,7 @@
#if defined(__NetBSD__)
#include "opt_wsdisplay_compat.h"
+#include "opt_ddb.h"
#endif
#ifdef UKBD_DEBUG
@@ -543,7 +544,8 @@ ukbd_intr(xfer, addr, status)
if (status) {
DPRINTF(("ukbd_intr: status=%d\n", status));
- usbd_clear_endpoint_stall_async(sc->sc_intrpipe);
+ if (status == USBD_STALLED)
+ usbd_clear_endpoint_stall_async(sc->sc_intrpipe);
return;
}
@@ -560,11 +562,12 @@ ukbd_intr(xfer, addr, status)
#else
callout_reset(&sc->sc_delay, hz / 50, ukbd_delayed_decode, sc);
#endif
+#if DDB
} else if (sc->sc_console_keyboard && !sc->sc_polling) {
- /*
+ /*
* For the console keyboard we can't deliver CTL-ALT-ESC
- * from the interrupt routine. Doing so would start
- * polling from iside the interrupt routine and that
+ * from the interrupt routine. Doing so would start
+ * polling from inside the interrupt routine and that
* loses bigtime.
*/
sc->sc_data = *ud;
@@ -573,7 +576,7 @@ ukbd_intr(xfer, addr, status)
#else
callout_reset(&sc->sc_delay, 0, ukbd_delayed_decode, sc);
#endif
-
+#endif
} else {
ukbd_decode(sc, ud);
}
diff --git a/sys/dev/usb/ulpt.c b/sys/dev/usb/ulpt.c
index 8f166c9cded..cde41db63f3 100644
--- a/sys/dev/usb/ulpt.c
+++ b/sys/dev/usb/ulpt.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ulpt.c,v 1.8 2001/10/04 22:55:56 gluk Exp $ */
-/* $NetBSD: ulpt.c,v 1.42 2001/04/16 00:18:06 augustss Exp $ */
+/* $OpenBSD: ulpt.c,v 1.9 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ulpt.c,v 1.43 2001/10/19 15:30:25 nathanw Exp $ */
/* $FreeBSD: src/sys/dev/usb/ulpt.c,v 1.24 1999/11/17 22:33:44 n_hibma Exp $ */
/*
@@ -98,7 +98,7 @@ struct ulpt_softc {
int sc_ifaceno;
int sc_out;
- usbd_pipe_handle sc_out_pipe; /* bulk out pipe */
+ usbd_pipe_handle sc_out_pipe; /* bulk out pipe */
int sc_in;
usbd_pipe_handle sc_in_pipe; /* bulk in pipe */
@@ -182,7 +182,7 @@ USB_MATCH(ulpt)
id->bInterfaceSubClass == UISUBCLASS_PRINTER &&
((id->bInterfaceProtocol == UIPROTO_PRINTER_UNI) ||
(id->bInterfaceProtocol == UIPROTO_PRINTER_BI) ||
- (id->bInterfaceProtocol == UIPROTO_PRINTER_IEEE_1284_4)))
+ (id->bInterfaceProtocol == UIPROTO_PRINTER_1284)))
return (UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO);
return (UMATCH_NONE);
}
@@ -231,12 +231,13 @@ USB_ATTACH(ulpt)
id->bInterfaceNumber == ifcd->bInterfaceNumber) {
if (id->bInterfaceClass == UICLASS_PRINTER &&
id->bInterfaceSubClass == UISUBCLASS_PRINTER &&
- id->bInterfaceProtocol == UIPROTO_PRINTER_BI)
+ (id->bInterfaceProtocol == UIPROTO_PRINTER_BI ||
+ id->bInterfaceProtocol == UIPROTO_PRINTER_1284))
goto found;
altno++;
}
}
- id = ifcd; /* not found, use original */
+ id = ifcd; /* not found, use original */
found:
if (id != ifcd) {
/* Found a new bidir setting */
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index 5215bd98300..8505da52f67 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ums.c,v 1.5 2001/05/03 02:20:34 aaron Exp $ */
-/* $NetBSD: ums.c,v 1.47 2001/01/23 14:04:14 augustss Exp $ */
+/* $OpenBSD: ums.c,v 1.6 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: ums.c,v 1.49 2001/10/26 17:58:21 augustss Exp $ */
/*
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -147,7 +147,7 @@ USB_MATCH(ums)
if (id == NULL || id->bInterfaceClass != UICLASS_HID)
return (UMATCH_NONE);
- err = usbd_alloc_report_desc(uaa->iface, &desc, &size, M_TEMP);
+ err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP);
if (err)
return (UMATCH_NONE);
@@ -212,7 +212,7 @@ USB_ATTACH(ums)
if (quirks & UQ_SPUR_BUT_UP)
sc->flags |= UMS_SPUR_BUT_UP;
- err = usbd_alloc_report_desc(uaa->iface, &desc, &size, M_TEMP);
+ err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP);
if (err)
USB_ATTACH_ERROR_RETURN;
@@ -292,7 +292,7 @@ USB_ATTACH(ums)
DPRINTF(("ums_attach: X\t%d/%d\n",
sc->sc_loc_x.pos, sc->sc_loc_x.size));
DPRINTF(("ums_attach: Y\t%d/%d\n",
- sc->sc_loc_x.pos, sc->sc_loc_x.size));
+ sc->sc_loc_y.pos, sc->sc_loc_y.size));
if (sc->flags & UMS_Z)
DPRINTF(("ums_attach: Z\t%d/%d\n",
sc->sc_loc_z.pos, sc->sc_loc_z.size));
diff --git a/sys/dev/usb/uplcom.c b/sys/dev/usb/uplcom.c
index 1ffc36229ad..ffff1e0664c 100644
--- a/sys/dev/usb/uplcom.c
+++ b/sys/dev/usb/uplcom.c
@@ -1,6 +1,5 @@
-/* $OpenBSD: uplcom.c,v 1.1 2001/10/02 01:37:36 millert Exp $ */
+/* $OpenBSD: uplcom.c,v 1.2 2001/10/31 04:24:44 nate Exp $ */
/* $NetBSD: uplcom.c,v 1.20 2001/07/31 12:33:11 ichiro Exp $ */
-
/*
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
diff --git a/sys/dev/usb/urio.c b/sys/dev/usb/urio.c
index 35cd619bda6..08903978e71 100644
--- a/sys/dev/usb/urio.c
+++ b/sys/dev/usb/urio.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: urio.c,v 1.5 2001/01/28 09:43:42 aaron Exp $ */
-/* $NetBSD: urio.c,v 1.5 2000/10/24 14:53:59 augustss Exp $ */
+/* $OpenBSD: urio.c,v 1.6 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: urio.c,v 1.6 2001/09/25 21:08:44 jdolecek Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -139,8 +139,9 @@ USB_MATCH(urio)
if ( ( uaa->vendor == USB_VENDOR_DIAMOND &&
uaa->product == USB_PRODUCT_DIAMOND_RIO500USB ) ||
- ( uaa->vendor == USB_VENDOR_DIAMOND2 &&
- uaa->product == USB_PRODUCT_DIAMOND2_RIO600USB )
+ ( uaa->vendor == USB_VENDOR_DIAMOND2 &&
+ ( uaa->product == USB_PRODUCT_DIAMOND2_RIO600USB ||
+ uaa->product == USB_PRODUCT_DIAMOND2_RIO800USB ) )
)
return (UMATCH_VENDOR_PRODUCT);
else
diff --git a/sys/dev/usb/usb.c b/sys/dev/usb/usb.c
index edfbef7a301..8ddd9a61740 100644
--- a/sys/dev/usb/usb.c
+++ b/sys/dev/usb/usb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: usb.c,v 1.15 2001/05/03 02:20:34 aaron Exp $ */
+/* $OpenBSD: usb.c,v 1.16 2001/10/31 04:24:44 nate Exp $ */
/* $NetBSD: usb.c,v 1.53 2001/01/23 17:04:30 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb.c,v 1.20 1999/11/17 22:33:46 n_hibma Exp $ */
@@ -232,7 +232,7 @@ usb_add_task(usbd_device_handle dev, struct usb_task *task)
TAILQ_INSERT_TAIL(&sc->sc_tasks, task, next);
task->onqueue = 1;
} else
- DPRINTFN(3,("usb_add_task: sc=%p task=%p on q\n", sc, task));
+ DPRINTFN(3,("usb_add_task: sc=%p task=%p on q\n", sc, task));
wakeup(&sc->sc_tasks);
splx(s);
}
diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h
index 2e93c2ea22e..005f6f87472 100644
--- a/sys/dev/usb/usb.h
+++ b/sys/dev/usb/usb.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: usb.h,v 1.13 2001/10/04 22:55:56 gluk Exp $ */
-/* $NetBSD: usb.h,v 1.50 2000/06/01 15:43:32 augustss Exp $ */
+/* $OpenBSD: usb.h,v 1.14 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: usb.h,v 1.52 2001/07/23 15:17:50 nathanw Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb.h,v 1.14 1999/11/17 22:33:46 n_hibma Exp $ */
/*
@@ -379,7 +379,7 @@ typedef struct {
#define UISUBCLASS_PRINTER 1
#define UIPROTO_PRINTER_UNI 1
#define UIPROTO_PRINTER_BI 2
-#define UIPROTO_PRINTER_IEEE_1284_4 3
+#define UIPROTO_PRINTER_1284 3
#define UICLASS_MASS 0x08
#define UISUBCLASS_RBC 1
diff --git a/sys/dev/usb/usb_port.h b/sys/dev/usb/usb_port.h
index 3be3f3db2ca..9ef0b33fc4d 100644
--- a/sys/dev/usb/usb_port.h
+++ b/sys/dev/usb/usb_port.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: usb_port.h,v 1.29 2001/10/02 19:30:22 provos Exp $ */
-/* $NetBSD: usb_port.h,v 1.42 2001/03/28 19:00:39 ichiro Exp $ */
+/* $OpenBSD: usb_port.h,v 1.30 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: usb_port.h,v 1.44 2001/05/14 20:35:29 bouyer Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb_port.h,v 1.21 1999/11/17 22:33:47 n_hibma Exp $ */
/*
@@ -39,6 +39,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef _USB_PORT_H
+#define _USB_PORT_H
/*
* Macro's to cope with the differences between operating systems.
@@ -51,6 +53,8 @@
#include "opt_usbverbose.h"
+#define USB_USE_SOFTINTR
+
#ifdef USB_DEBUG
#define UKBD_DEBUG 1
#define UHID_DEBUG 1
@@ -61,7 +65,6 @@
#define ULPT_DEBUG 1
#define UCOM_DEBUG 1
#define UPLCOM_DEBUG 1
-#define UMCT_DEBUG 1
#define UMODEM_DEBUG 1
#define UAUDIO_DEBUG 1
#define AUE_DEBUG 1
@@ -73,6 +76,7 @@
#define UZCOM_DEBUG 1
#define URIO_DEBUG 1
#define UFTDI_DEBUG 1
+#define UMCT_DEBUG 1
#define USCANNER_DEBUG 1
#define USSCANNER_DEBUG 1
#define Static
@@ -80,6 +84,8 @@
#define Static static
#endif
+#define SCSI_MODE_SENSE MODE_SENSE
+
typedef struct device *device_ptr_t;
#define USBBASEDEVICE struct device
#define USBDEV(bdev) (&(bdev))
@@ -182,6 +188,7 @@ __CONCAT(dname,_detach)(self, flags) \
/*
* OpenBSD
*/
+#define USB_DEBUG
#ifdef USB_DEBUG
#define UKBD_DEBUG 1
#define UHID_DEBUG 1
@@ -202,6 +209,7 @@ __CONCAT(dname,_detach)(self, flags) \
#define UZCOM_DEBUG 1
#define URIO_DEBUG 1
#define UFTDI_DEBUG 1
+#define UMCT_DEBUG 1
#define USCANNER_DEBUG 1
#define USSCANNER_DEBUG 1
#endif
@@ -494,3 +502,6 @@ __CONCAT(dname,_detach)(device_t self)
#define logprintf printf
#endif /* __FreeBSD__ */
+
+#endif /* _USB_PORT_H */
+
diff --git a/sys/dev/usb/usb_quirks.c b/sys/dev/usb/usb_quirks.c
index f2f599d5478..31e003798b8 100644
--- a/sys/dev/usb/usb_quirks.c
+++ b/sys/dev/usb/usb_quirks.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: usb_quirks.c,v 1.9 2001/05/03 02:20:34 aaron Exp $ */
+/* $OpenBSD: usb_quirks.c,v 1.10 2001/10/31 04:24:44 nate Exp $ */
/* $NetBSD: usb_quirks.c,v 1.38 2001/04/15 10:26:36 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.13 1999/11/17 22:33:47 n_hibma Exp $ */
@@ -74,6 +74,8 @@ Static const struct usbd_quirk_entry {
{ USB_VENDOR_ALCOR2, USB_PRODUCT_ALCOR2_KBD_HUB, 0x001, { UQ_SPUR_BUT_UP }},
{ USB_VENDOR_MCT, USB_PRODUCT_MCT_HUB0100, 0x102, { UQ_BUS_POWERED }},
{ USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232, 0x102, { UQ_BUS_POWERED }},
+ { USB_VENDOR_MCT, USB_PRODUCT_MCT_SITECOM_USB232, 0x102, { UQ_BUS_POWERED }},
+ { USB_VENDOR_MCT, USB_PRODUCT_MCT_DU_H3SP_USB232, 0x102, { UQ_BUS_POWERED }},
{ USB_VENDOR_METRICOM, USB_PRODUCT_METRICOM_RICOCHET_GS,
0x100, { UQ_ASSUME_CM_OVER_DATA | UQ_NO_STRINGS }},
{ USB_VENDOR_TI, USB_PRODUCT_TI_UTUSB41, 0x110, { UQ_POWER_CLAIM }},
@@ -83,13 +85,11 @@ Static const struct usbd_quirk_entry {
{ USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE,
0x100, { UQ_AU_INP_ASYNC }},
/* XXX These should have a revision number, but I don't know what they are. */
-#ifdef notyet
- { USB_VENDOR_HP, USB_PRODUCT_HP_895C, ANY, { UQ_BROKEN_BIDIR }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_880C, ANY, { UQ_BROKEN_BIDIR }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_815C, ANY, { UQ_BROKEN_BIDIR }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_810C, ANY, { UQ_BROKEN_BIDIR }},
- { USB_VENDOR_HP, USB_PRODUCT_HP_830C, ANY, { UQ_BROKEN_BIDIR }},
-#endif
+ { USB_VENDOR_HP, USB_PRODUCT_HP_895C, ANY, { UQ_BROKEN_BIDIR }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_880C, ANY, { UQ_BROKEN_BIDIR }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_815C, ANY, { UQ_BROKEN_BIDIR }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_810C, ANY, { UQ_BROKEN_BIDIR }},
+ { USB_VENDOR_HP, USB_PRODUCT_HP_830C, ANY, { UQ_BROKEN_BIDIR }},
{ 0, 0, 0, { 0 } }
};
diff --git a/sys/dev/usb/usb_quirks.h b/sys/dev/usb/usb_quirks.h
index 7e347bf5779..99ae4757537 100644
--- a/sys/dev/usb/usb_quirks.h
+++ b/sys/dev/usb/usb_quirks.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usb_quirks.h,v 1.8 2001/05/03 02:20:34 aaron Exp $ */
+/* $OpenBSD: usb_quirks.h,v 1.9 2001/10/31 04:24:44 nate Exp $ */
/* $NetBSD: usb_quirks.h,v 1.20 2001/04/15 09:38:01 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb_quirks.h,v 1.9 1999/11/12 23:31:03 n_hibma Exp $ */
@@ -54,7 +54,7 @@ struct usbd_quirks {
#define UQ_AU_NO_FRAC 0x0400 /* don't adjust for fractional samples */
#define UQ_AU_INP_ASYNC 0x0800 /* input is async despite claim of adaptive */
#define UQ_ASSUME_CM_OVER_DATA 0x1000 /* modem device breaks on cm over data */
-#define UQ_BROKEN_BIDIR 0x2000 /* printer has broken bidir mode */
+#define UQ_BROKEN_BIDIR 0x2000 /* printer has broken bidir mode */
};
extern const struct usbd_quirks usbd_no_quirk;
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index 2d23497ce17..4a6953667f7 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: usb_subr.c,v 1.17 2001/03/22 02:10:22 mickey Exp $ */
-/* $NetBSD: usb_subr.c,v 1.72 2000/04/14 14:13:56 augustss Exp $ */
+/* $OpenBSD: usb_subr.c,v 1.18 2001/10/31 04:24:44 nate Exp $ */
+/* $NetBSD: usb_subr.c,v 1.87 2001/08/15 00:04:59 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.18 1999/11/17 22:33:47 n_hibma Exp $ */
/*
@@ -101,16 +101,13 @@ typedef u_int16_t usb_product_id_t;
/*
* Descriptions of of known vendors and devices ("products").
*/
-struct usb_known_vendor {
- usb_vendor_id_t vendor;
- const char *vendorname;
-};
-
-struct usb_known_product {
+struct usb_knowndev {
usb_vendor_id_t vendor;
usb_product_id_t product;
- const char *productname;
+ int flags;
+ char *vendorname, *productname;
};
+#define USB_KNOWNDEV_NOPROD 0x01 /* match on vendor only */
#include <dev/usb/usbdevs_data.h>
#endif /* USBVERBOSE */
@@ -213,28 +210,29 @@ usbd_get_string(usbd_device_handle dev, int si, char *buf)
return (buf);
}
-static char *
-usbd_trim_trailings_spaces(char *p)
+static void
+usbd_trim_spaces(char *p)
{
- char *q, *r;
+ char *q, *e;
if (p == NULL)
- return NULL;
- r = p;
- q = p + strlen(p);
- while (--q >= p && *q == ' ')
- *q = 0;
- return r;
+ return;
+ q = e = p;
+ while (*q == ' ') /* skip leading spaces */
+ q++;
+ while ((*p = *q++)) /* copy string */
+ if (*p++ != ' ') /* remember last non-space */
+ e = p;
+ *e = 0; /* kill trailing spaces */
}
void
usbd_devinfo_vp(usbd_device_handle dev, char *v, char *p, int usedev)
{
usb_device_descriptor_t *udd = &dev->ddesc;
- const char *vendor = NULL, *product = NULL;
+ char *vendor = 0, *product = 0;
#ifdef USBVERBOSE
- const struct usb_known_vendor *ukv;
- const struct usb_known_product *ukp;
+ const struct usb_knowndev *kdp;
#endif
if (dev == NULL) {
@@ -243,34 +241,30 @@ usbd_devinfo_vp(usbd_device_handle dev, char *v, char *p, int usedev)
}
if (usedev) {
- vendor = usbd_trim_trailings_spaces(
- usbd_get_string(dev, udd->iManufacturer, v));
- product = usbd_trim_trailings_spaces(
- usbd_get_string(dev, udd->iProduct, p));
+ vendor = usbd_get_string(dev, udd->iManufacturer, v);
+ usbd_trim_spaces(vendor);
+ product = usbd_get_string(dev, udd->iProduct, p);
+ usbd_trim_spaces(product);
} else {
vendor = NULL;
product = NULL;
}
#ifdef USBVERBOSE
if (vendor == NULL || product == NULL) {
- for(ukv = usb_known_vendors;
- ukv->vendorname != NULL;
- ukv++) {
- if (ukv->vendor == UGETW(udd->idVendor)) {
- vendor = ukv->vendorname;
+ for(kdp = usb_knowndevs;
+ kdp->vendorname != NULL;
+ kdp++) {
+ if (kdp->vendor == UGETW(udd->idVendor) &&
+ (kdp->product == UGETW(udd->idProduct) ||
+ (kdp->flags & USB_KNOWNDEV_NOPROD) != 0))
break;
- }
}
- if (vendor != NULL) {
- for(ukp = usb_known_products;
- ukp->productname != NULL;
- ukp++) {
- if (ukp->vendor == UGETW(udd->idVendor) &&
- (ukp->product == UGETW(udd->idProduct))) {
- product = ukp->productname;
- break;
- }
- }
+ if (kdp->vendorname != NULL) {
+ if (vendor == NULL)
+ vendor = kdp->vendorname;
+ if (product == NULL)
+ product = (kdp->flags & USB_KNOWNDEV_NOPROD) == 0 ?
+ kdp->productname : NULL;
}
}
#endif
@@ -299,7 +293,7 @@ usbd_devinfo(usbd_device_handle dev, int showclass, char *cp)
int bcdDevice, bcdUSB;
usbd_devinfo_vp(dev, vendor, product, 1);
- cp += sprintf(cp, "%s%s%s", vendor, *vendor ? " " : "", product);
+ cp += sprintf(cp, "%s %s", vendor, product);
if (showclass)
cp += sprintf(cp, ", class %d/%d",
udd->bDeviceClass, udd->bDeviceSubClass);
@@ -470,7 +464,6 @@ usbd_fill_iface_data(usbd_device_handle dev, int ifaceidx, int altidx)
for (endpt = 0; endpt < nendpt; endpt++) {
DPRINTFN(10,("usbd_fill_iface_data: endpt=%d\n", endpt));
for (; p < end; p += ed->bLength) {
- ed = (usb_endpoint_descriptor_t *)p;
DPRINTFN(10,("usbd_fill_iface_data: p=%p end=%p "
"len=%d type=%d\n",
p, end, ed->bLength, ed->bDescriptorType));
@@ -1173,6 +1166,18 @@ usbd_submatch(struct device *parent, void *match, void *aux)
)
)
return 0;
+ if (cf->uhubcf_vendor != UHUB_UNK_VENDOR &&
+ cf->uhubcf_vendor == uaa->vendor &&
+ cf->uhubcf_product != UHUB_UNK_PRODUCT &&
+ cf->uhubcf_product == uaa->product) {
+ /* We have a vendor&product locator match */
+ if (cf->uhubcf_release != UHUB_UNK_RELEASE &&
+ cf->uhubcf_release == uaa->release)
+ uaa->matchlvl = UMATCH_VENDOR_PRODUCT_REV;
+ else
+ uaa->matchlvl = UMATCH_VENDOR_PRODUCT;
+ } else
+ uaa->matchlvl = 0;
return ((*cf->cf_attach->ca_match)(parent, cf, aux));
}
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index 9112696bbac..0ca15cf5849 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -1,5 +1,5 @@
-$OpenBSD: usbdevs,v 1.36 2001/10/26 18:05:28 nate Exp $
-/* $NetBSD: usbdevs,v 1.127 2000/11/15 14:36:09 augustss Exp $ */
+$OpenBSD: usbdevs,v 1.37 2001/10/31 04:24:44 nate Exp $
+/* $NetBSD: usbdevs,v 1.194 2001/10/26 03:47:31 mycroft Exp $ */
/*
* Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -40,10 +40,26 @@ $OpenBSD: usbdevs,v 1.36 2001/10/26 18:05:28 nate Exp $
/*
* List of known USB vendors
+ *
+ * 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.
+ *
+ * After adding a vendor ID VNDR and a product ID PRDCT you will have the
+ * following extra defines:
+ * #define USB_VENDOR_VNDR 0x????
+ * #define USB_PRODUCT_VNDR_PRDCT 0x????
+ *
+ * You may have to add these defines to the respective probe routines to
+ * make the device recognised by the appropriate device driver.
*/
vendor AOX 0x03e8 AOX
vendor ATMEL 0x03eb Atmel
+vendor MITSUMI 0x03ee Mitsumi
vendor HP 0x03f0 Hewlett Packard
vendor ADAPTEC 0x03f3 Adaptec
vendor NATIONAL 0x0400 National Semiconductor
@@ -57,6 +73,7 @@ vendor ADI 0x0422 ADI Systems
vendor CATC 0x0423 Computer Access Technology
vendor GRAVIS 0x0428 Advanced Gravis Computer
vendor SUN 0x0430 Sun Microsystems
+vendor TAUGA 0x0436 Taugagreining HF
vendor AMD 0x0438 Advanced Micro Devices
vendor LEXMARK 0x043d Lexmark International
vendor NANAO 0x0440 NANAO
@@ -89,6 +106,7 @@ vendor CYPRESS 0x04b4 Cypress Semiconductor
vendor EPSON 0x04b8 Seiko Epson
vendor RAINBOW 0x04b9 Rainbow Technologies
vendor IODATA 0x04bb I/O Data
+vendor TDK 0x04bf TDK
vendor 3COMUSR 0x04c1 U.S. Robotics
vendor METHODE 0x04c2 Methode Electronics Far East
vendor MAXISWITCH 0x04c3 Maxi Switch
@@ -106,6 +124,7 @@ vendor MYSON 0x04cf Myson Technology
vendor DIGI2 0x04d0 Digi
vendor ITTCANON 0x04d1 ITT Canon
vendor ALTEC 0x04d2 Altec Lansing
+vendor PANASONIC 0x04da Panasonic (Matsushita)
vendor SHUTTLE 0x04e6 Shuttle Technology
vendor ANNABOOKS 0x04ed Annabooks
vendor CHICONY 0x04f2 Chicony Electronics
@@ -123,6 +142,7 @@ vendor ALTRA 0x0527 ALTRA
vendor ATI 0x0528 ATI Technologies
vendor AKS 0x0529 Aladdin Knowledge Systems
vendor UNIACCESS 0x0540 Universal Access
+vendor XIRLINK 0x0545 Xirlink
vendor ANCHOR 0x0547 Anchor Chips
vendor SONY 0x054c Sony
vendor VISION 0x0553 VLSI Vision
@@ -136,6 +156,7 @@ vendor WACOM 0x056a WACOM
vendor ETEK 0x056c e-TEK Labs
vendor EIZO 0x056d EIZO
vendor ELECOM 0x056e Elecom
+vendor HAUPPAUGE 0x0573 Hauppauge Computer Works
vendor BAFO 0x0576 BAFO/Quality Computer Accessories
vendor YEDATA 0x057b Y-E Data
vendor AVM 0x057c AVM
@@ -157,6 +178,7 @@ vendor ELSA 0x05cc ELSA
vendor BRAINBOXES 0x05d1 Brainboxes Limited
vendor AXIOHM 0x05d9 Axiohm Transaction Solutions
vendor MICROTEK 0x05da Microtek
+vendor LEXAR 0x05dc Lexar Media
vendor SYMBOL 0x05e0 Symbol Technologies
vendor GENESYS 0x05e3 Genesys Logic
vendor FUJI 0x05e5 Fuji Electric
@@ -184,12 +206,14 @@ vendor AIWA 0x0677 Aiwa
vendor ACARD 0x0678 ACARD Technology
vendor PROLIFIC 0x067b Prolific Technology
vendor ADVANCELOGIC 0x0680 Avance Logic
+vendor HAGIWARA 0x0693 Hagiwara Sys-Com
vendor CTX 0x0698 Chuntex
vendor ASKEY 0x069a Askey Computer
vendor ALCATELT 0x06b9 Alcatel Telecom
vendor AGFA 0x06bd AGFA-Gevaert NV
vendor ASIAMD 0x06be Asia Microelectronic Development
vendor BIZLINK 0x06c4 Bizlink International
+vendor KEYSPAN 0x06cd Keyspan
vendor AASHIMA 0x06d6 Aashima Technology B.V.
vendor MULTITECH 0x06e0 MultiTech
vendor ADS 0x06e1 ADS Technologies
@@ -197,7 +221,9 @@ vendor ALCATELM 0x06e4 Alcatel Microelectronics
vendor SIRIUS 0x06ea Sirius Technologies
vendor BOSTON 0x06fd Boston Acoustics
vendor SMC 0x0707 Standard Microsystems
+vendor PUTERCOM 0x0708 Putercom
vendor MCT 0x0711 MCT
+vendor DIGITALSTREAM 0x074e Digital Stream
vendor AUREAL 0x0755 Aureal Semiconductor
vendor MIDIMAN 0x0763 Midiman
vendor GRIFFIN 0x077d Griffin Technology
@@ -213,6 +239,7 @@ vendor ADMTEK 0x07a6 ADMtek
vendor COREGA 0x07aa Corega
vendor FREECOM 0x07ab Freecom
vendor MICROTECH 0x07af Microtech
+vendor OLYMPUS 0x07b4 Olympus
vendor ABOCOM 0x07b8 AboCom Systems
vendor KEISOKUGIKEN 0x07c1 Keisokugiken
vendor APG 0x07c5 APG Cash Drawer
@@ -220,6 +247,7 @@ vendor BUG 0x07c8 B.U.G.
vendor ALLIEDTELESYN 0x07c9 Allied Telesyn International
vendor AVERMEDIA 0x07ca AVerMedia Technologies
vendor SIIG 0x07cc SIIG
+vendor CASIO 0x07cf CASIO
vendor APTIO 0x07d2 Aptio Products
vendor ARASAN 0x07da Arasan Chip Systems
vendor ALLIEDCABLE 0x07e6 Allied Cable
@@ -233,8 +261,10 @@ vendor ACCTON 0x083a Accton Technology
vendor DIAMOND 0x0841 Diamond
vendor NETGEAR 0x0846 BayNETGEAR
vendor ACTIVEWIRE 0x0854 ActiveWire
+vendor PORTGEAR 0x085a PortGear
vendor METRICOM 0x0870 Metricom
vendor ADESSOKBTEK 0x087c ADESSO/Kbtek America
+vendor JATON 0x087d Jaton
vendor APT 0x0880 APT Technologies
vendor BOCARESEARCH 0x0885 Boca Research
vendor ANDREA 0x08a8 Andrea Electronics
@@ -244,6 +274,7 @@ vendor AIPTEK 0x08ca AIPTEK International
vendor SMARTBRIDGES 0x08d1 SmartBridges
vendor BILLIONTON 0x08dd Billionton Systems
vendor EXTENDED 0x08e9 Extended Systems
+vendor MSYSTEMS 0x08ec M-Systems
vendor AUTHENTEC 0x08ff AuthenTec
vendor ALATION 0x0910 Alation Systems
vendor BIOMETRIC 0x0929 American Biometric Company
@@ -251,6 +282,7 @@ 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 ALTIUS 0x09b3 Altius Solutions
@@ -268,13 +300,18 @@ 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 TODOS 0x0b0c Todos Data System
+vendor AGATE 0x0c08 Agate Technologies
vendor MOTOROLA 0x1063 Motorola
vendor PLX 0x10b5 PLX
+vendor ASANTE 0x10bd Asante
vendor BELKIN2 0x1293 Belkin Components
+vendor MOBILITY 0x1342 Mobility
+vendor SHARK 0x13d2 Shark
vendor SILICONPORTALS 0x1527 Silicon Portals
-vendor SOHOWARE 0x15e8 SOHOware
+vendor SOHOWARE 0x15e8 SOHOware
vendor UMAX 0x1606 UMAX Data Systems
vendor INSIDEOUT 0x1608 Inside Out Networks
vendor ENTREGA 0x1645 Entrega
@@ -291,8 +328,8 @@ vendor HP2 0xf003 Hewlett Packard
product 3COM HOMECONN 0x009d HomeConnect Camera
product 3COM 3C19250 0x03E8 3C19250 Ethernet
product 3COM USR56K 0x3021 U.S.Robotics 56000
-
-product 3COM 3C460 0x11f8 HomeConnect Ethernet
+product 3COM 3C460 0x11f8 HomeConnect 3C460
+product 3COM 3C460B 0x4601 HomeConnect 3C460B
product 3COMUSR OFFICECONN 0x0082 3Com OfficeConnect Analog Modem
product 3COMUSR USRISDN 0x008f 3Com U.S. Robotics Pro ISDN TA
@@ -300,7 +337,21 @@ product 3COMUSR HOMECONN 0x009d 3Com HomeConnect camera
product 3COMUSR USR56K 0x3021 U.S.Robotics 56000
/* AboCom products */
-product ABOCOM URE450 0x4000 USB Ethernet
+product ABOCOM XX1 0x110c XX1
+product ABOCOM XX2 0x200c XX2
+product ABOCOM URE450 0x4000 URE450 Ethernet
+product ABOCOM XX3 0x4002 XX3
+product ABOCOM DSB650TX_PNA 0x4003 1/10/100 ethernet
+product ABOCOM XX4 0x4004 XX4
+product ABOCOM XX5 0x4007 XX5
+product ABOCOM XX6 0x400b XX6
+product ABOCOM XX7 0x400c XX7
+product ABOCOM XX8 0x4102 XX8
+product ABOCOM XX9 0x4104 XX9
+product ABOCOM XX10 0xabc1 XX10
+
+/* Accton products */
+product ACCTON USB320_EC 0x1046 USB320-EC Ethernet
/* Acer Peripherals products */
product ACERP ACERSCAN_C310U 0x12a6 Acerscan C310U
@@ -314,9 +365,14 @@ product ACTIVEWIRE IOBOARD_FW1 0x0101 I/O Board, rev. 1
/* ADMtek products */
product ADMTEK PEGASUS 0x0986 AN986 Ethernet
+product ADMTEK PEGASUSII 0x8511 AN8511 Ethernet
/* ADS products */
product ADS UBS10BT 0x0008 UBS-10BT Ethernet
+product ADS UBS10BTX 0x0009 UBS-10BT Ethernet
+
+/* Agate Technologies products */
+product AGATE QDRIVE 0x0378 Q-Drive
/* Agiler products */
product ELECOM MOUSE29UO 0x0002 mouse 29UO
@@ -349,16 +405,20 @@ product ANCHOR EZUSB 0x2131 EZUSB
product ANCHOR EZLINK 0x2720 EZLINK
/* AOX products */
-product AOX USB101 0x0008 USB Ethernet controller engine
+product AOX USB101 0x0008 Ethernet controller engine
/* Apple Computer products */
product APPLE OPTMOUSE 0x0302 Optical mouse
product APPLE SPEAKERS 0x1101 Speakers
+/* Asante products */
+product ASANTE EA 0x1427 Ethernet
+
/* ATen products */
-product ATEN UC1284 0x2001 Parallel printer adapter
+product ATEN UC1284 0x2001 Parallel adapter
product ATEN UC10T 0x2002 10Mbps Ethernet
product ATEN UC232A 0x2008 Serial adapter
+product ATEN DSB650C 0x4000 DSB-650C
/* Atmel Comp. products */
product ATMEL UHB124 0x3301 UHB124 hub
@@ -368,10 +428,13 @@ product AVISION 1200U 0x0268 1200U scanner
/* Belkin products */
/*product BELKIN F5U111 0x???? F5U111 Ethernet */
-product BELKIN2 F5U002 0x0002 F5U002 Parallel printer adapter
+product BELKIN2 F5U002 0x0002 F5U002 Parallel adapter
/* Billionton products */
product BILLIONTON USB100 0x0986 USB100N 10/100 Ethernet
+product BILLIONTON USBLP100 0x0987 USB100LP
+product BILLIONTON USBEL100 0x0988 USB100EL
+product BILLIONTON USBE100 0x8511 USBE100
/* Brother Industries products */
product BROTHER HL1050 0x0002 HL-1050 laser printer
@@ -380,7 +443,9 @@ product BROTHER HL1050 0x0002 HL-1050 laser printer
product BTC BTC7932 0x6782 Keyboard
/* Canon products */
+product CANON N656U 0x2206 CANOSCAN N656U
product CANON S10 0x3041 PowerShot S10
+product CANON S100 0x3045 PowerShot S100
/* CATC products */
product CATC NETMATE 0x000a Netmate Ethernet
@@ -388,18 +453,22 @@ product CATC NETMATE2 0x000c Netmate2 Ethernet
product CATC CHIEF 0x000d USB Chief Bus & Protocol Analyzer
product CATC ANDROMEDA 0x1237 Andromeda hub
+/* CASIO products */
+product CASIO NAMELAND 0x4001 CASIO Nameland EZ-USB
+
/* Cherry products */
-product CHERRY MY3000KBD 0x0001 My3000
-product CHERRY MY3000HUB 0x0003 My3000
+product CHERRY MY3000KBD 0x0001 My3000 keyboard
+product CHERRY MY3000HUB 0x0003 My3000 hub
/* Chic Technology products */
product CHIC MOUSE1 0x0001 mouse
-product CHIC CYPRESS 0x0003 Cypress
+product CHIC CYPRESS 0x0003 Cypress USB Mouse
/* Chicony products */
-product CHICONY KB8933 0x0001 KB-8933
+product CHICONY KB8933 0x0001 KB-8933 keyboard
/* Compaq products */
+product COMPAQ IPAQPOCKETPC 0x0003 iPAQ PocketPC
product COMPAQ PJB100 0x504a Personal Jukebox PJB100
/* Connectix products */
@@ -423,13 +492,18 @@ product CYPRESS FMRADIO 0x1002 FM Radio
/* D-Link products */
/*product DLINK DSBS25 0x0100 DSB-S25 serial adapter*/
+product DLINK DSB650TX4 0x200c 10/100 ethernet
product DLINK DSB650C 0x4000 10Mbps Ethernet
+product DLINK DSB650TX1 0x4001 10/100 ethernet
product DLINK DSB650TX 0x4002 10/100 Ethernet
product DLINK DSB650TX_PNA 0x4003 1/10/100 Ethernet
-product DLINK DSB650 0xABC1 10/100 Ethernet
+product DLINK DSB650TX3 0x400b 10/100 ethernet
+product DLINK DSB650TX2 0x4102 10/100 ethernet
+product DLINK DSB650 0xabc1 10/100 Ethernet
/* Dallas Semiconductor products */
product DALLAS J6502 0x4201 J-6502 speakers
+product DALLAS USB_FOB_IBUTTON 0x2490 USB-FOB/iBUTTON
/* Diamond products */
product DIAMOND RIO500USB 0x0001 Rio 500 USB
@@ -439,12 +513,23 @@ product DIGI ACCELEPORT2 0x0002 AccelePort 2
product DIGI ACCELEPORT4 0x0004 AccelePort 4
product DIGI ACCELEPORT8 0x0008 AccelePort 8
+/* Digital Stream Corp. products */
+product DIGITALSTREAM PS2 0x0001 PS/2 Active Adapter
+
/* EIZO products */
product EIZO HUB 0x0000 hub
product EIZO MONITOR 0x0001 monitor
+/* Elecom products */
+product ELECOM MOUSE29UO 0x0002 mouse 29UO
+product ELECOM LDUSBTX0 0x200c LD-USB/TX
+product ELECOM LDUSBTX1 0x4002 LD-USB/TX
+product ELECOM LDUSBTX2 0x400b LD-USB/TX
+product ELECOM LDUSBTX3 0xabc1 LD-USB/TX
+
/* Elsa products */
product ELSA MODEM1 0x2265 ELSA
+product ELSA USB2ETHERNET 0x3000 Microlink USB2Ethernet
/* Entrega products */
product ENTREGA 1S 0x0001 1S serial connector
@@ -453,10 +538,12 @@ product ENTREGA 1S25 0x0003 1S25 serial connector
product ENTREGA 4S 0x0004 4S serial connector
product ENTREGA E45 0x0005 E45 Ethernet
product ENTREGA CENTRONICS 0x0006 Centronics connector
+product ENTREGA XX1 0x0008 Ethernet
product ENTREGA 1S9 0x0093 1S9 serial connector
product ENTREGA EZUSB 0x8000 EZ-USB
/*product ENTREGA SERIAL 0x8001 DB25 Serial connector*/
product ENTREGA 2U4S 0x8004 2U4S serial connector/usb hub
+product ENTREGA XX2 0x8005 Ethernet
/*product ENTREGA SERIAL_DB9 0x8093 DB9 Serial connector*/
/* Epson products */
@@ -468,7 +555,10 @@ product EPSON 636 0x0101 Perfection 636U / 636Photo scanner
product EPSON 610 0x0103 Perfection 610 scanner
product EPSON 1200 0x0104 Perfection 1200U / 1200Photo scanner
product EPSON 1600 0x0107 Expression 1600 scanner
-product EPSON 1640 0x010a Expression 1640SU 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 1650 0x0110 Perfection 1650 scanner
/* e-TEK Labs products */
product ETEK 1COM 0x8007 Serial port
@@ -479,6 +569,9 @@ product EXTENDED XTNDACCESS 0x0100 XTNDAccess IrDA
/* Gravis products */
product GRAVIS GAMEPADPRO 0x4001 GamePad Pro
+/* GREENHOUSE products */
+product GREENHOUSE KANA21 0x0001 CF-writer/MP3 Player
+
/* Griffin Technology */
product GRIFFIN IMATE 0x0405 iMate, ADB adapter
@@ -491,20 +584,42 @@ product FTDI SERIAL 0x8372 Serial converter
/* Fuji photo products */
product FUJIPHOTO MASS0100 0x0100 Mass Storage
+/* Hagiwara products */
+product HAGIWARA FGSM 0x0002 FlashGate SmartMediaReader
+product HAGIWARA FGCF 0x0003 FlashGate CompactFlash Reader
+product HAGIWARA FG 0x0005 FlashGate
+
/* Handspring */
product HANDSPRING VISOR 0x0100 Handspring Visor
+/* Hauppauge Computer Works */
+product HAUPPAUGE WINTV_USB_FM 0x4d12 WinTV USB FM
+
/* HP products */
+product HP 895C 0x0004 DeskJet 895C
product HP 4100C 0x0101 Scanjet 4100C
product HP S20 0x0102 Photosmart S20
+product HP 880C 0x0104 DeskJet 880C
product HP 4200C 0x0105 ScanJet 4200C
+product HP CDWRITERPLUS 0x0107 CD-Writer Plus
+product HP KBDHUB 0x010c Multimedia Keyboard Hub
product HP 6200C 0x0201 ScanJet 6200C
product HP S20b 0x0202 PhotoSmart S20
+product HP 815C 0x0204 DeskJet 815C
product HP 3300C 0x0205 ScanJet 3300C
+product HP CDW8200 0x0207 CD-Writer Plus 8200e
+product HP 810C 0x0304 DeskJet 810C/812C
+product HP 4300C 0x0305 Scanjet 4300C
+product HP G85XI 0x0311 OfficeJet G85xi
product HP 5200C 0x0401 Scanjet 5200C
+product HP 830C 0x0404 DeskJet 830C
+product HP 3400CSE 0x0405 ScanJet 3400cse
product HP 6300C 0x0601 Scanjet 6300C
+product HP 840C 0x0604 DeskJet 840c
product HP 5300C 0x0701 Scanjet 5300C
+product HP 930C 0x1204 DeskJet 930c
product HP 970CSE 0x1004 Deskjet 970Cse
+product HP 640C 0x2004 DeskJet 640c
product HP P1100 0x3102 Photosmart P1100
/* HP products */
@@ -517,7 +632,8 @@ product IBM USBCDROMDRIVE 0x4427 USB CD-ROM Drive
product INSIDEOUT EDGEPORT4 0x0001 EdgePort/4 serial ports
/* In-System products */
-product INSYSTEM F5U002 0x0002 Parallel printer adapter
+product INSYSTEM F5U002 0x0002 Parallel adapter
+product INSYSTEM ATAPI 0x0031 ATAPI adapter
product INSYSTEM ISD110 0x0200 IDE adapter ISD110
product INSYSTEM ISD105 0x0202 IDE adapter ISD105
product INSYSTEM USBCABLE 0x081a USB cable
@@ -536,8 +652,8 @@ product IODATA USBRSAQ 0x0a03 RSAQ1 Serial Adapter
product IOMEGA ZIP100 0x0001 Zip 100
product IOMEGA ZIP250 0x0030 Zip 250
-/* Kawasaki products */
-product KLSI DUH3E10BT 0x0008 USB Ethernet controller engine
+/* Jaton products */
+product JATON EDA 0x5704 Ethernet Device Adapter
/* Kawatsu products */
product KAWATSU MH4000P 0x0003 MiniHub 4000P
@@ -545,14 +661,26 @@ product KAWATSU MH4000P 0x0003 MiniHub 4000P
/* Keisokugiken Corp. products */
product KEISOKUGIKEN USBDAQ 0x0068 HKS-0200 USBDAQ
-/* Kawasaki LSI products (?) */
+/* Kawasaki LSI products */
product KLSI DUH3E10BT 0x0008 10BT Ethernet
+product KLSI DUH3E10BTN 0x0009 10BT Ethernet
/* Kensington products */
product KENSINGTON ORBIT 0x1003 Orbit USB/PS2 trackball
product KENSINGTON TURBOBALL 0x1005 TurboBall
+product KENSINGTON ORBIT_MAC 0x1009 Orbit USB trackball for Mac
+
+/* Keyspan products */
+product KEYSPAN USA28 0x0101 USA-28 serial adapter
+product KEYSPAN USA28X 0x0102 USA-28X serial adapter
+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 UIA10_NF 0x0201 UIA-10 remote control
/* Kingston products */
+product KINGSTON XX1 0x0008 Ethernet
product KINGSTON KNU101TX 0x000a KNU101TX Ethernet
/* Kodak products */
@@ -573,16 +701,23 @@ product KYE FLIGHT2000 0x1004 Flight 2000 joystick
product KYE VIVIDPRO 0x2001 ColorPage Vivid-Pro scanner
/* LaCie products */
+product LACIE HD 0xa601 Hard Disk
product LACIE CDRW 0xa602 CD R/W
+/* Lexar products */
+product LEXAR JUMPSHOT 0x0001 jumpSHOT CompactFlash Reader
+
/* Lexmark products */
product LEXMARK S2450 0x0009 Optra S 2450
/* Linksys products */
+product LINKSYS MAUSB2 0x0105 Camedia MAUSB-2
+product LINKSYS USB10TX1 0x200c USB10TX
product LINKSYS USB10T 0x2202 USB10T Ethernet
product LINKSYS USB100TX 0x2203 USB100TX Ethernet
product LINKSYS USB100H1 0x2204 USB100H1 Ethernet/HPNA
product LINKSYS USB10TA 0x2206 USB10TA Ethernet
+product LINKSYS USB10TX2 0x400b USB10TX
/* Logitech products */
product LOGITECH M2452 0x0203 M2452
@@ -597,9 +732,13 @@ product LOGITECH N48 0xc001 N48 mouse
product LOGITECH MBA47 0xc002 M-BA47 mouse
product LOGITECH WMMOUSE 0xc004 WingMan Gaming Mouse
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 RK53 0xc501 Cordless mouse
+product LOGITECH RB6 0xc503 Cordless keyboard
+product LOGITECH CDO 0xc504 Cordless Desktop Optical
product LOGITECH QUICKCAMPRO2 0xd001 QuickCam Pro
/* Lucent products */
@@ -617,6 +756,7 @@ product MCT SITECOM_USB232 0x0230 Sitecom USB-232 Products
/* Melco, Inc products */
product MELCO LUATX1 0x0001 LUA-TX Ethernet
product MELCO LUATX5 0x0005 LUA-TX Ethernet
+product MELCO LUA2TX5 0x0009 LUA2-TX Ethernet
/* Metricom products */
product METRICOM RICOCHET_GS 0x0001 Ricochet GS
@@ -630,6 +770,12 @@ product MICROSOFT SIDEWINDER 0x001a Sidewinder Precision Racing Wheel
product MICROSOFT INTELLIEYE 0x0025 IntelliEye mouse
product MICROSOFT INETPRO 0x002b Internet Pro
+/* Microtech products */
+product MICROTECH SCSIDB25 0x0004 USB-SCSI-DB25
+product MICROTECH SCSIHD50 0x0005 USB-SCSI-HD50
+product MICROTECH DPCM 0x0006 USB CameraMate
+product MICROTECH FREECOM 0xfc01 Freecom USB-IDE
+
/* Microtek products */
product MICROTEK 336CX 0x0094 Phantom 336CX - C3 scanner
product MICROTEK X6U 0x0099 ScanMaker X6 - X6U
@@ -642,6 +788,12 @@ product MICROTEK V6UL 0x80ac ScanMaker V6UL
/* Midiman products */
product MIDIMAN MIDISPORT2X2 0x1001 Midisport 2x2
+/* Mitsumi products */
+product MITSUMI CDRRW 0x0000 CD-R/RW Drive
+
+/* Mobility products */
+product MOBILITY EA 0x0204 Ethernet
+
/* Motorola products */
product MOTOROLA MC141555 0x1555 MC141555 hub controller
@@ -655,6 +807,9 @@ product MUSTEK 1200USB 0x0003 1200 scanner
product MUSTEK 1200UB 0x0006 1200 UB scanner
product MUSTEK MDC800 0xa800 MDC-800 digital camera
+/* M-Systems products */
+product MSYSTEMS DISKONKEY 0x0010 DiskOnKey
+
/* National Semiconductor */
product NATIONAL BEARPAW 0x1000 BearPaw 1200
@@ -667,10 +822,14 @@ product NETCHIP TURBOCONNECT 0x1080 Turbo-Connect
/* Netgear products */
product NETGEAR EA101 0x1001 Ethernet
+product NETGEAR EA101X 0x1001 Ethernet
/* Nikon products */
product NIKON E990 0x0102 Digital Camera E990
+/* Olympus products */
+product OLYMPUS C700 0x0105 C-700 Ultra Zoom
+
/* OmniVision Technologies products */
product OMNIVISION OV511 0x0511 OV511 Camera
product OMNIVISION OV511PLUS 0xa511 OV511+ Camera
@@ -678,6 +837,9 @@ product OMNIVISION OV511PLUS 0xa511 OV511+ Camera
/* Palm Computing */
product PALM SERIAL 0x0080 USB Serial Adaptor
+/* Panasonic products */
+product PANASONIC SDCAAE 0x1b00 MultiMediaCard Adapter
+
/* Peracom products */
product PERACOM SERIAL1 0x0001 Serial Converter
product PERACOM ENET 0x0002 Ethernet
@@ -688,6 +850,7 @@ product PERACOM ENET2 0x0005 Ethernet
product PHILIPS DSS350 0x0101 DSS 350 Digital Speaker System
product PHILIPS DSS 0x0104 DSS XXX Digital Speaker System
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
@@ -700,6 +863,13 @@ product PIENGINEERING PS2USB 0x020b PS2 to Mac Adapter
/* PLX products */
product PLX TESTBOARD 0x9060 test board
+/* PortGear products */
+product PORTGEAR EA8 0x0008 Ethernet
+product PORTGEAR EA9 0x0008 Ethernet
+
+/* Portsmith products */
+product PORTSMITH EEA 0x3003 Express Ethernet
+
/* Primax products */
product PRIMAX G2X300 0x0300 G2-200 scanner
product PRIMAX G2E300 0x0301 G2E-300 scanner
@@ -720,11 +890,14 @@ product PRIMAX PCGAUMS1 0x4d04 Sony PCGA-UMS1
/* Prolific products */
product PROLIFIC PL2301 0x0000 PL2301 Host-Host interface
product PROLIFIC PL2302 0x0001 PL2302 Host-Host interface
-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 RSAQ2 0x04bb PL2303 Serial adapter
+product PROLIFIC PL2303 0x2303 PL2303 Serial adapter
+product PROLIFIC PL2305 0x2305 Parallel printer
product PROLIFIC ATAPI4 0x2307 ATAPI-4 Bridge Controller
+/* Putercom products */
+product PUTERCOM UPA100 0x047e USB-1284 BRIDGE
+
/* Qtronix products */
product QTRONIX 980N 0x2011 Scorpion-980N
@@ -736,18 +909,35 @@ product RAINBOW IKEY2000 0x1200 i-Key 2000
/* Roland products */
product ROLAND UM1 0x0009 UM-1 MIDI I/F
+product ROLAND UM880N 0x0014 EDIROL UM-880 MIDI I/F (native)
+product ROLAND UM880G 0x0015 EDIROL UM-880 MIDI I/F (generic)
/* Rockfire products */
product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB
/* SanDisk products */
product SANDISK IMAGEMATE 0x0001 USB ImageMate
+product SANDISK SDDR31 0x0002 ImageMate SDDR-31
+product SANDISK SDDR12 0x0100 ImageMate SDDR-12
+product SANDISK SDDR09 0x0200 ImageMate SDDR-09
/* ScanLogic products */
product SCANLOGIC 336CX 0x0300 Phantom 336CX - C3 scanner
+/* Shark products */
+product SHARK PA 0x0400 Pocket Adapter
+
/* Shuttle Technology products */
product SHUTTLE EUSB 0x0001 E-USB Bridge
+product SHUTTLE EUSCSI 0x0002 eUSCSI Bridge
+product SHUTTLE SDDR09 0x0003 ImageMate SDDR09
+product SHUTTLE ZIOMMC 0x0006 eUSB MultiMediaCard Adapter
+product SHUTTLE HIFD 0x0007 Sony Hifd
+product SHUTTLE EUSBATAPI 0x0009 eUSB ATA/ATAPI Adapter
+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
/* SIIG products */
product SIIG DIGIFILMREADER 0x0004 DigiFilm-Combo Reader
@@ -761,19 +951,21 @@ product SIRIUS ROADSTER 0x0001 NetComm Roadster II 56 USB
/* SmartBridges products */
product SMARTBRIDGES SMARTLINK 0x0001 SmartLink Ethernet
+product SMARTBRIDGES SMARTNIC 0x0003 smartNIC 2 PnP Adapter
/* SMC products */
product SMC 2102USB 0x0100 10Mbps Ethernet
product SMC 2202USB 0x0200 10/100 Ethernet
/* SOHOware products */
-product SOHOWARE NUB100 0x9100 10/100 USB Ethernet
+product SOHOWARE NUB100 0x9100 10/100 Ethernet
/* SOLID YEAR products */
product SOLIDYEAR KEYBOARD 0x2101 Keyboard
/* SONY products */
product SONY DSC 0x0010 Sony DSC Cameras
+product SONY MSACUS1 0x002d Memorystick MSAC-US1
product SONY MSC 0x0032 Sony MSC Memorystick Slot
/* STMicroelectronics products */
@@ -785,11 +977,22 @@ product STSN STSN0001 0x0001 Internet Access Device
/* Sun Microsystems products */
product SUN KEYBOARD 0x0005 Type 6 USB
/* XXX The above is a North American PC style keyboard possibly */
+product SUN MOUSE 0x0100 Type 6 USB mouse
/* Supra products */
product DIAMOND2 SUPRAEXPRESS56K 0x07da Supra Express 56K
product DIAMOND2 SUPRA2890 0x0b4a SupraMax 2890 56K
product DIAMOND2 RIO600USB 0x5001 Rio 600
+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
/* TEAC products */
product TEAC FD05PUB 0x0000 FD-05PUB
@@ -816,9 +1019,10 @@ product UMAX ASTRA1220U 0x0010 Astra 1220U Scanner
product UMAX ASTRA2000U 0x0030 Astra 2000U Scanner
product UMAX ASTRA2100U 0x0130 Astra 2100U Scanner
product UMAX ASTRA2200U 0x0230 Astra 2200U Scanner
+product UMAX ASTRA3400 0x0060 Astra 3400 Scanner
/* Universal Access products */
-product UNIACCESS PANACHE 0x0101 Panache Surf ISDN Adapter
+product UNIACCESS PANACHE 0x0101 Panache Surf ISDN
/* Vision products */
product VISION VC6452V002 0x0002 CPiA Camera
@@ -836,6 +1040,9 @@ product WACOM CT0405U 0x0000 CT-0405-U Tablet
product WACOM GRAPHIRE 0x0010 Graphire
product WACOM INTUOSA5 0x0021 Intuos A5
+/* Xirlink products */
+product XIRLINK PCCAM 0x8080 IBM PC Camera
+
/* Y-E Data products */
product YEDATA FLASHBUSTERU 0x0000 Flashbuster-U
@@ -849,4 +1056,5 @@ product YAMAHA UX256 0x1000 UX256 MIDI I/F
product ZOOM 2986L 0x9700 2986L
/* ZyXEL Communication Co. products */
+product ZYXEL OMNI56K 0x1500 Omni 56K Plus
product ZYXEL 980N 0x2011 Scorpion-980N
diff --git a/sys/dev/usb/usbdevs.h b/sys/dev/usb/usbdevs.h
index 2f1733ca62f..07b0cd9cb8c 100644
--- a/sys/dev/usb/usbdevs.h
+++ b/sys/dev/usb/usbdevs.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdevs.h,v 1.35 2001/10/26 18:06:26 nate Exp $ */
+/* $OpenBSD: usbdevs.h,v 1.36 2001/10/31 04:24:44 nate Exp $ */
/*
* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -47,10 +47,26 @@
/*
* List of known USB vendors
+ *
+ * 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.
+ *
+ * After adding a vendor ID VNDR and a product ID PRDCT you will have the
+ * following extra defines:
+ * #define USB_VENDOR_VNDR 0x????
+ * #define USB_PRODUCT_VNDR_PRDCT 0x????
+ *
+ * You may have to add these defines to the respective probe routines to
+ * make the device recognised by the appropriate device driver.
*/
#define USB_VENDOR_AOX 0x03e8 /* AOX */
#define USB_VENDOR_ATMEL 0x03eb /* Atmel */
+#define USB_VENDOR_MITSUMI 0x03ee /* Mitsumi */
#define USB_VENDOR_HP 0x03f0 /* Hewlett Packard */
#define USB_VENDOR_ADAPTEC 0x03f3 /* Adaptec */
#define USB_VENDOR_NATIONAL 0x0400 /* National Semiconductor */
@@ -64,6 +80,7 @@
#define USB_VENDOR_CATC 0x0423 /* Computer Access Technology */
#define USB_VENDOR_GRAVIS 0x0428 /* Advanced Gravis Computer */
#define USB_VENDOR_SUN 0x0430 /* Sun Microsystems */
+#define USB_VENDOR_TAUGA 0x0436 /* Taugagreining HF */
#define USB_VENDOR_AMD 0x0438 /* Advanced Micro Devices */
#define USB_VENDOR_LEXMARK 0x043d /* Lexmark International */
#define USB_VENDOR_NANAO 0x0440 /* NANAO */
@@ -96,6 +113,7 @@
#define USB_VENDOR_EPSON 0x04b8 /* Seiko Epson */
#define USB_VENDOR_RAINBOW 0x04b9 /* Rainbow Technologies */
#define USB_VENDOR_IODATA 0x04bb /* I/O Data */
+#define USB_VENDOR_TDK 0x04bf /* TDK */
#define USB_VENDOR_3COMUSR 0x04c1 /* U.S. Robotics */
#define USB_VENDOR_METHODE 0x04c2 /* Methode Electronics Far East */
#define USB_VENDOR_MAXISWITCH 0x04c3 /* Maxi Switch */
@@ -113,6 +131,7 @@
#define USB_VENDOR_DIGI2 0x04d0 /* Digi */
#define USB_VENDOR_ITTCANON 0x04d1 /* ITT Canon */
#define USB_VENDOR_ALTEC 0x04d2 /* Altec Lansing */
+#define USB_VENDOR_PANASONIC 0x04da /* Panasonic (Matsushita) */
#define USB_VENDOR_SHUTTLE 0x04e6 /* Shuttle Technology */
#define USB_VENDOR_ANNABOOKS 0x04ed /* Annabooks */
#define USB_VENDOR_CHICONY 0x04f2 /* Chicony Electronics */
@@ -130,6 +149,7 @@
#define USB_VENDOR_ATI 0x0528 /* ATI Technologies */
#define USB_VENDOR_AKS 0x0529 /* Aladdin Knowledge Systems */
#define USB_VENDOR_UNIACCESS 0x0540 /* Universal Access */
+#define USB_VENDOR_XIRLINK 0x0545 /* Xirlink */
#define USB_VENDOR_ANCHOR 0x0547 /* Anchor Chips */
#define USB_VENDOR_SONY 0x054c /* Sony */
#define USB_VENDOR_VISION 0x0553 /* VLSI Vision */
@@ -143,6 +163,7 @@
#define USB_VENDOR_ETEK 0x056c /* e-TEK Labs */
#define USB_VENDOR_EIZO 0x056d /* EIZO */
#define USB_VENDOR_ELECOM 0x056e /* Elecom */
+#define USB_VENDOR_HAUPPAUGE 0x0573 /* Hauppauge Computer Works */
#define USB_VENDOR_BAFO 0x0576 /* BAFO/Quality Computer Accessories */
#define USB_VENDOR_YEDATA 0x057b /* Y-E Data */
#define USB_VENDOR_AVM 0x057c /* AVM */
@@ -164,6 +185,7 @@
#define USB_VENDOR_BRAINBOXES 0x05d1 /* Brainboxes Limited */
#define USB_VENDOR_AXIOHM 0x05d9 /* Axiohm Transaction Solutions */
#define USB_VENDOR_MICROTEK 0x05da /* Microtek */
+#define USB_VENDOR_LEXAR 0x05dc /* Lexar Media */
#define USB_VENDOR_SYMBOL 0x05e0 /* Symbol Technologies */
#define USB_VENDOR_GENESYS 0x05e3 /* Genesys Logic */
#define USB_VENDOR_FUJI 0x05e5 /* Fuji Electric */
@@ -191,12 +213,14 @@
#define USB_VENDOR_ACARD 0x0678 /* ACARD Technology */
#define USB_VENDOR_PROLIFIC 0x067b /* Prolific Technology */
#define USB_VENDOR_ADVANCELOGIC 0x0680 /* Avance Logic */
+#define USB_VENDOR_HAGIWARA 0x0693 /* Hagiwara Sys-Com */
#define USB_VENDOR_CTX 0x0698 /* Chuntex */
#define USB_VENDOR_ASKEY 0x069a /* Askey Computer */
#define USB_VENDOR_ALCATELT 0x06b9 /* Alcatel Telecom */
#define USB_VENDOR_AGFA 0x06bd /* AGFA-Gevaert NV */
#define USB_VENDOR_ASIAMD 0x06be /* Asia Microelectronic Development */
#define USB_VENDOR_BIZLINK 0x06c4 /* Bizlink International */
+#define USB_VENDOR_KEYSPAN 0x06cd /* Keyspan */
#define USB_VENDOR_AASHIMA 0x06d6 /* Aashima Technology B.V. */
#define USB_VENDOR_MULTITECH 0x06e0 /* MultiTech */
#define USB_VENDOR_ADS 0x06e1 /* ADS Technologies */
@@ -204,7 +228,9 @@
#define USB_VENDOR_SIRIUS 0x06ea /* Sirius Technologies */
#define USB_VENDOR_BOSTON 0x06fd /* Boston Acoustics */
#define USB_VENDOR_SMC 0x0707 /* Standard Microsystems */
+#define USB_VENDOR_PUTERCOM 0x0708 /* Putercom */
#define USB_VENDOR_MCT 0x0711 /* MCT */
+#define USB_VENDOR_DIGITALSTREAM 0x074e /* Digital Stream */
#define USB_VENDOR_AUREAL 0x0755 /* Aureal Semiconductor */
#define USB_VENDOR_MIDIMAN 0x0763 /* Midiman */
#define USB_VENDOR_GRIFFIN 0x077d /* Griffin Technology */
@@ -220,6 +246,7 @@
#define USB_VENDOR_COREGA 0x07aa /* Corega */
#define USB_VENDOR_FREECOM 0x07ab /* Freecom */
#define USB_VENDOR_MICROTECH 0x07af /* Microtech */
+#define USB_VENDOR_OLYMPUS 0x07b4 /* Olympus */
#define USB_VENDOR_ABOCOM 0x07b8 /* AboCom Systems */
#define USB_VENDOR_KEISOKUGIKEN 0x07c1 /* Keisokugiken */
#define USB_VENDOR_APG 0x07c5 /* APG Cash Drawer */
@@ -227,6 +254,7 @@
#define USB_VENDOR_ALLIEDTELESYN 0x07c9 /* Allied Telesyn International */
#define USB_VENDOR_AVERMEDIA 0x07ca /* AVerMedia Technologies */
#define USB_VENDOR_SIIG 0x07cc /* SIIG */
+#define USB_VENDOR_CASIO 0x07cf /* CASIO */
#define USB_VENDOR_APTIO 0x07d2 /* Aptio Products */
#define USB_VENDOR_ARASAN 0x07da /* Arasan Chip Systems */
#define USB_VENDOR_ALLIEDCABLE 0x07e6 /* Allied Cable */
@@ -240,8 +268,10 @@
#define USB_VENDOR_DIAMOND 0x0841 /* Diamond */
#define USB_VENDOR_NETGEAR 0x0846 /* BayNETGEAR */
#define USB_VENDOR_ACTIVEWIRE 0x0854 /* ActiveWire */
+#define USB_VENDOR_PORTGEAR 0x085a /* PortGear */
#define USB_VENDOR_METRICOM 0x0870 /* Metricom */
#define USB_VENDOR_ADESSOKBTEK 0x087c /* ADESSO/Kbtek America */
+#define USB_VENDOR_JATON 0x087d /* Jaton */
#define USB_VENDOR_APT 0x0880 /* APT Technologies */
#define USB_VENDOR_BOCARESEARCH 0x0885 /* Boca Research */
#define USB_VENDOR_ANDREA 0x08a8 /* Andrea Electronics */
@@ -251,6 +281,7 @@
#define USB_VENDOR_SMARTBRIDGES 0x08d1 /* SmartBridges */
#define USB_VENDOR_BILLIONTON 0x08dd /* Billionton Systems */
#define USB_VENDOR_EXTENDED 0x08e9 /* Extended Systems */
+#define USB_VENDOR_MSYSTEMS 0x08ec /* M-Systems */
#define USB_VENDOR_AUTHENTEC 0x08ff /* AuthenTec */
#define USB_VENDOR_ALATION 0x0910 /* Alation Systems */
#define USB_VENDOR_BIOMETRIC 0x0929 /* American Biometric Company */
@@ -258,6 +289,7 @@
#define USB_VENDOR_KINGSTON 0x0951 /* Kingston Technology */
#define USB_VENDOR_BLUEWATER 0x0956 /* BlueWater Systems */
#define USB_VENDOR_AGILENT 0x0957 /* Agilent Technologies */
+#define USB_VENDOR_PORTSMITH 0x095a /* Portsmith */
#define USB_VENDOR_ADIRONDACK 0x0976 /* Adirondack Wire & Cable */
#define USB_VENDOR_BECKHOFF 0x0978 /* Beckhoff */
#define USB_VENDOR_ALTIUS 0x09b3 /* Altius Solutions */
@@ -275,11 +307,16 @@
#define USB_VENDOR_ASAHIOPTICAL 0x0a17 /* Asahi Optical */
#define USB_VENDOR_BOCASYSTEMS 0x0a43 /* Boca Systems */
#define USB_VENDOR_BROADCOM 0x0a5c /* Broadcom */
+#define USB_VENDOR_GREENHOUSE 0x0a6b /* GREENHOUSE */
#define USB_VENDOR_GEOCAST 0x0a79 /* Geocast Network Systems */
#define USB_VENDOR_TODOS 0x0b0c /* Todos Data System */
+#define USB_VENDOR_AGATE 0x0c08 /* Agate Technologies */
#define USB_VENDOR_MOTOROLA 0x1063 /* Motorola */
#define USB_VENDOR_PLX 0x10b5 /* PLX */
+#define USB_VENDOR_ASANTE 0x10bd /* Asante */
#define USB_VENDOR_BELKIN2 0x1293 /* Belkin Components */
+#define USB_VENDOR_MOBILITY 0x1342 /* Mobility */
+#define USB_VENDOR_SHARK 0x13d2 /* Shark */
#define USB_VENDOR_SILICONPORTALS 0x1527 /* Silicon Portals */
#define USB_VENDOR_SOHOWARE 0x15e8 /* SOHOware */
#define USB_VENDOR_UMAX 0x1606 /* UMAX Data Systems */
@@ -298,8 +335,8 @@
#define USB_PRODUCT_3COM_HOMECONN 0x009d /* HomeConnect Camera */
#define USB_PRODUCT_3COM_3C19250 0x03E8 /* 3C19250 Ethernet */
#define USB_PRODUCT_3COM_USR56K 0x3021 /* U.S.Robotics 56000 */
-
-#define USB_PRODUCT_3COM_3C460 0x11f8 /* HomeConnect Ethernet */
+#define USB_PRODUCT_3COM_3C460 0x11f8 /* HomeConnect 3C460 */
+#define USB_PRODUCT_3COM_3C460B 0x4601 /* HomeConnect 3C460B */
#define USB_PRODUCT_3COMUSR_OFFICECONN 0x0082 /* 3Com OfficeConnect Analog Modem */
#define USB_PRODUCT_3COMUSR_USRISDN 0x008f /* 3Com U.S. Robotics Pro ISDN TA */
@@ -307,7 +344,21 @@
#define USB_PRODUCT_3COMUSR_USR56K 0x3021 /* U.S.Robotics 56000 */
/* AboCom products */
-#define USB_PRODUCT_ABOCOM_URE450 0x4000 /* USB Ethernet */
+#define USB_PRODUCT_ABOCOM_XX1 0x110c /* XX1 */
+#define USB_PRODUCT_ABOCOM_XX2 0x200c /* XX2 */
+#define USB_PRODUCT_ABOCOM_URE450 0x4000 /* URE450 Ethernet */
+#define USB_PRODUCT_ABOCOM_XX3 0x4002 /* XX3 */
+#define USB_PRODUCT_ABOCOM_DSB650TX_PNA 0x4003 /* 1/10/100 ethernet */
+#define USB_PRODUCT_ABOCOM_XX4 0x4004 /* XX4 */
+#define USB_PRODUCT_ABOCOM_XX5 0x4007 /* XX5 */
+#define USB_PRODUCT_ABOCOM_XX6 0x400b /* XX6 */
+#define USB_PRODUCT_ABOCOM_XX7 0x400c /* XX7 */
+#define USB_PRODUCT_ABOCOM_XX8 0x4102 /* XX8 */
+#define USB_PRODUCT_ABOCOM_XX9 0x4104 /* XX9 */
+#define USB_PRODUCT_ABOCOM_XX10 0xabc1 /* XX10 */
+
+/* Accton products */
+#define USB_PRODUCT_ACCTON_USB320_EC 0x1046 /* USB320-EC Ethernet */
/* Acer Peripherals products */
#define USB_PRODUCT_ACERP_ACERSCAN_C310U 0x12a6 /* Acerscan C310U */
@@ -321,9 +372,14 @@
/* ADMtek products */
#define USB_PRODUCT_ADMTEK_PEGASUS 0x0986 /* AN986 Ethernet */
+#define USB_PRODUCT_ADMTEK_PEGASUSII 0x8511 /* AN8511 Ethernet */
/* ADS products */
#define USB_PRODUCT_ADS_UBS10BT 0x0008 /* UBS-10BT Ethernet */
+#define USB_PRODUCT_ADS_UBS10BTX 0x0009 /* UBS-10BT Ethernet */
+
+/* Agate Technologies products */
+#define USB_PRODUCT_AGATE_QDRIVE 0x0378 /* Q-Drive */
/* Agiler products */
#define USB_PRODUCT_ELECOM_MOUSE29UO 0x0002 /* mouse 29UO */
@@ -356,16 +412,20 @@
#define USB_PRODUCT_ANCHOR_EZLINK 0x2720 /* EZLINK */
/* AOX products */
-#define USB_PRODUCT_AOX_USB101 0x0008 /* USB Ethernet controller engine */
+#define USB_PRODUCT_AOX_USB101 0x0008 /* Ethernet controller engine */
/* Apple Computer products */
#define USB_PRODUCT_APPLE_OPTMOUSE 0x0302 /* Optical mouse */
#define USB_PRODUCT_APPLE_SPEAKERS 0x1101 /* Speakers */
+/* Asante products */
+#define USB_PRODUCT_ASANTE_EA 0x1427 /* Ethernet */
+
/* ATen products */
-#define USB_PRODUCT_ATEN_UC1284 0x2001 /* Parallel printer adapter */
+#define USB_PRODUCT_ATEN_UC1284 0x2001 /* Parallel adapter */
#define USB_PRODUCT_ATEN_UC10T 0x2002 /* 10Mbps Ethernet */
#define USB_PRODUCT_ATEN_UC232A 0x2008 /* Serial adapter */
+#define USB_PRODUCT_ATEN_DSB650C 0x4000 /* DSB-650C */
/* Atmel Comp. products */
#define USB_PRODUCT_ATMEL_UHB124 0x3301 /* UHB124 hub */
@@ -375,10 +435,13 @@
/* Belkin products */
/*product BELKIN F5U111 0x???? F5U111 Ethernet */
-#define USB_PRODUCT_BELKIN2_F5U002 0x0002 /* F5U002 Parallel printer adapter */
+#define USB_PRODUCT_BELKIN2_F5U002 0x0002 /* F5U002 Parallel adapter */
/* Billionton products */
#define USB_PRODUCT_BILLIONTON_USB100 0x0986 /* USB100N 10/100 Ethernet */
+#define USB_PRODUCT_BILLIONTON_USBLP100 0x0987 /* USB100LP */
+#define USB_PRODUCT_BILLIONTON_USBEL100 0x0988 /* USB100EL */
+#define USB_PRODUCT_BILLIONTON_USBE100 0x8511 /* USBE100 */
/* Brother Industries products */
#define USB_PRODUCT_BROTHER_HL1050 0x0002 /* HL-1050 laser printer */
@@ -387,7 +450,9 @@
#define USB_PRODUCT_BTC_BTC7932 0x6782 /* Keyboard */
/* Canon products */
+#define USB_PRODUCT_CANON_N656U 0x2206 /* CANOSCAN N656U */
#define USB_PRODUCT_CANON_S10 0x3041 /* PowerShot S10 */
+#define USB_PRODUCT_CANON_S100 0x3045 /* PowerShot S100 */
/* CATC products */
#define USB_PRODUCT_CATC_NETMATE 0x000a /* Netmate Ethernet */
@@ -395,18 +460,22 @@
#define USB_PRODUCT_CATC_CHIEF 0x000d /* USB Chief Bus & Protocol Analyzer */
#define USB_PRODUCT_CATC_ANDROMEDA 0x1237 /* Andromeda hub */
+/* CASIO products */
+#define USB_PRODUCT_CASIO_NAMELAND 0x4001 /* CASIO Nameland EZ-USB */
+
/* Cherry products */
-#define USB_PRODUCT_CHERRY_MY3000KBD 0x0001 /* My3000 */
-#define USB_PRODUCT_CHERRY_MY3000HUB 0x0003 /* My3000 */
+#define USB_PRODUCT_CHERRY_MY3000KBD 0x0001 /* My3000 keyboard */
+#define USB_PRODUCT_CHERRY_MY3000HUB 0x0003 /* My3000 hub */
/* Chic Technology products */
#define USB_PRODUCT_CHIC_MOUSE1 0x0001 /* mouse */
-#define USB_PRODUCT_CHIC_CYPRESS 0x0003 /* Cypress */
+#define USB_PRODUCT_CHIC_CYPRESS 0x0003 /* Cypress USB Mouse */
/* Chicony products */
-#define USB_PRODUCT_CHICONY_KB8933 0x0001 /* KB-8933 */
+#define USB_PRODUCT_CHICONY_KB8933 0x0001 /* KB-8933 keyboard */
/* Compaq products */
+#define USB_PRODUCT_COMPAQ_IPAQPOCKETPC 0x0003 /* iPAQ PocketPC */
#define USB_PRODUCT_COMPAQ_PJB100 0x504a /* Personal Jukebox PJB100 */
/* Connectix products */
@@ -430,13 +499,18 @@
/* D-Link products */
/*product DLINK DSBS25 0x0100 DSB-S25 serial adapter*/
+#define USB_PRODUCT_DLINK_DSB650TX4 0x200c /* 10/100 ethernet */
#define USB_PRODUCT_DLINK_DSB650C 0x4000 /* 10Mbps Ethernet */
+#define USB_PRODUCT_DLINK_DSB650TX1 0x4001 /* 10/100 ethernet */
#define USB_PRODUCT_DLINK_DSB650TX 0x4002 /* 10/100 Ethernet */
#define USB_PRODUCT_DLINK_DSB650TX_PNA 0x4003 /* 1/10/100 Ethernet */
-#define USB_PRODUCT_DLINK_DSB650 0xABC1 /* 10/100 Ethernet */
+#define USB_PRODUCT_DLINK_DSB650TX3 0x400b /* 10/100 ethernet */
+#define USB_PRODUCT_DLINK_DSB650TX2 0x4102 /* 10/100 ethernet */
+#define USB_PRODUCT_DLINK_DSB650 0xabc1 /* 10/100 Ethernet */
/* Dallas Semiconductor products */
#define USB_PRODUCT_DALLAS_J6502 0x4201 /* J-6502 speakers */
+#define USB_PRODUCT_DALLAS_USB_FOB_IBUTTON 0x2490 /* USB-FOB/iBUTTON */
/* Diamond products */
#define USB_PRODUCT_DIAMOND_RIO500USB 0x0001 /* Rio 500 USB */
@@ -446,12 +520,23 @@
#define USB_PRODUCT_DIGI_ACCELEPORT4 0x0004 /* AccelePort 4 */
#define USB_PRODUCT_DIGI_ACCELEPORT8 0x0008 /* AccelePort 8 */
+/* Digital Stream Corp. products */
+#define USB_PRODUCT_DIGITALSTREAM_PS2 0x0001 /* PS/2 Active Adapter */
+
/* EIZO products */
#define USB_PRODUCT_EIZO_HUB 0x0000 /* hub */
#define USB_PRODUCT_EIZO_MONITOR 0x0001 /* monitor */
+/* Elecom products */
+#define USB_PRODUCT_ELECOM_MOUSE29UO 0x0002 /* mouse 29UO */
+#define USB_PRODUCT_ELECOM_LDUSBTX0 0x200c /* LD-USB/TX */
+#define USB_PRODUCT_ELECOM_LDUSBTX1 0x4002 /* LD-USB/TX */
+#define USB_PRODUCT_ELECOM_LDUSBTX2 0x400b /* LD-USB/TX */
+#define USB_PRODUCT_ELECOM_LDUSBTX3 0xabc1 /* LD-USB/TX */
+
/* Elsa products */
#define USB_PRODUCT_ELSA_MODEM1 0x2265 /* ELSA */
+#define USB_PRODUCT_ELSA_USB2ETHERNET 0x3000 /* Microlink USB2Ethernet */
/* Entrega products */
#define USB_PRODUCT_ENTREGA_1S 0x0001 /* 1S serial connector */
@@ -460,10 +545,12 @@
#define USB_PRODUCT_ENTREGA_4S 0x0004 /* 4S serial connector */
#define USB_PRODUCT_ENTREGA_E45 0x0005 /* E45 Ethernet */
#define USB_PRODUCT_ENTREGA_CENTRONICS 0x0006 /* Centronics connector */
+#define USB_PRODUCT_ENTREGA_XX1 0x0008 /* Ethernet */
#define USB_PRODUCT_ENTREGA_1S9 0x0093 /* 1S9 serial connector */
#define USB_PRODUCT_ENTREGA_EZUSB 0x8000 /* EZ-USB */
/*product ENTREGA SERIAL 0x8001 DB25 Serial connector*/
#define USB_PRODUCT_ENTREGA_2U4S 0x8004 /* 2U4S serial connector/usb hub */
+#define USB_PRODUCT_ENTREGA_XX2 0x8005 /* Ethernet */
/*product ENTREGA SERIAL_DB9 0x8093 DB9 Serial connector*/
/* Epson products */
@@ -475,7 +562,10 @@
#define USB_PRODUCT_EPSON_610 0x0103 /* Perfection 610 scanner */
#define USB_PRODUCT_EPSON_1200 0x0104 /* Perfection 1200U / 1200Photo scanner */
#define USB_PRODUCT_EPSON_1600 0x0107 /* Expression 1600 scanner */
-#define USB_PRODUCT_EPSON_1640 0x010a /* Expression 1640SU scanner */
+#define USB_PRODUCT_EPSON_1640 0x010a /* Perfection 1640SU scanner */
+#define USB_PRODUCT_EPSON_1240 0x010b /* Perfection 1240U / 1240Photo scanner */
+#define USB_PRODUCT_EPSON_640U 0x010c /* Perfection 640U scanner */
+#define USB_PRODUCT_EPSON_1650 0x0110 /* Perfection 1650 scanner */
/* e-TEK Labs products */
#define USB_PRODUCT_ETEK_1COM 0x8007 /* Serial port */
@@ -486,6 +576,9 @@
/* Gravis products */
#define USB_PRODUCT_GRAVIS_GAMEPADPRO 0x4001 /* GamePad Pro */
+/* GREENHOUSE products */
+#define USB_PRODUCT_GREENHOUSE_KANA21 0x0001 /* CF-writer/MP3 Player */
+
/* Griffin Technology */
#define USB_PRODUCT_GRIFFIN_IMATE 0x0405 /* iMate, ADB adapter */
@@ -498,20 +591,42 @@
/* Fuji photo products */
#define USB_PRODUCT_FUJIPHOTO_MASS0100 0x0100 /* Mass Storage */
+/* Hagiwara products */
+#define USB_PRODUCT_HAGIWARA_FGSM 0x0002 /* FlashGate SmartMediaReader */
+#define USB_PRODUCT_HAGIWARA_FGCF 0x0003 /* FlashGate CompactFlash Reader */
+#define USB_PRODUCT_HAGIWARA_FG 0x0005 /* FlashGate */
+
/* Handspring */
#define USB_PRODUCT_HANDSPRING_VISOR 0x0100 /* Handspring Visor */
+/* Hauppauge Computer Works */
+#define USB_PRODUCT_HAUPPAUGE_WINTV_USB_FM 0x4d12 /* WinTV USB FM */
+
/* HP products */
+#define USB_PRODUCT_HP_895C 0x0004 /* DeskJet 895C */
#define USB_PRODUCT_HP_4100C 0x0101 /* Scanjet 4100C */
#define USB_PRODUCT_HP_S20 0x0102 /* Photosmart S20 */
+#define USB_PRODUCT_HP_880C 0x0104 /* DeskJet 880C */
#define USB_PRODUCT_HP_4200C 0x0105 /* ScanJet 4200C */
+#define USB_PRODUCT_HP_CDWRITERPLUS 0x0107 /* CD-Writer Plus */
+#define USB_PRODUCT_HP_KBDHUB 0x010c /* Multimedia Keyboard Hub */
#define USB_PRODUCT_HP_6200C 0x0201 /* ScanJet 6200C */
#define USB_PRODUCT_HP_S20b 0x0202 /* PhotoSmart S20 */
+#define USB_PRODUCT_HP_815C 0x0204 /* DeskJet 815C */
#define USB_PRODUCT_HP_3300C 0x0205 /* ScanJet 3300C */
+#define USB_PRODUCT_HP_CDW8200 0x0207 /* CD-Writer Plus 8200e */
+#define USB_PRODUCT_HP_810C 0x0304 /* DeskJet 810C/812C */
+#define USB_PRODUCT_HP_4300C 0x0305 /* Scanjet 4300C */
+#define USB_PRODUCT_HP_G85XI 0x0311 /* OfficeJet G85xi */
#define USB_PRODUCT_HP_5200C 0x0401 /* Scanjet 5200C */
+#define USB_PRODUCT_HP_830C 0x0404 /* DeskJet 830C */
+#define USB_PRODUCT_HP_3400CSE 0x0405 /* ScanJet 3400cse */
#define USB_PRODUCT_HP_6300C 0x0601 /* Scanjet 6300C */
+#define USB_PRODUCT_HP_840C 0x0604 /* DeskJet 840c */
#define USB_PRODUCT_HP_5300C 0x0701 /* Scanjet 5300C */
+#define USB_PRODUCT_HP_930C 0x1204 /* DeskJet 930c */
#define USB_PRODUCT_HP_970CSE 0x1004 /* Deskjet 970Cse */
+#define USB_PRODUCT_HP_640C 0x2004 /* DeskJet 640c */
#define USB_PRODUCT_HP_P1100 0x3102 /* Photosmart P1100 */
/* HP products */
@@ -524,7 +639,8 @@
#define USB_PRODUCT_INSIDEOUT_EDGEPORT4 0x0001 /* EdgePort/4 serial ports */
/* In-System products */
-#define USB_PRODUCT_INSYSTEM_F5U002 0x0002 /* Parallel printer adapter */
+#define USB_PRODUCT_INSYSTEM_F5U002 0x0002 /* Parallel adapter */
+#define USB_PRODUCT_INSYSTEM_ATAPI 0x0031 /* ATAPI adapter */
#define USB_PRODUCT_INSYSTEM_ISD110 0x0200 /* IDE adapter ISD110 */
#define USB_PRODUCT_INSYSTEM_ISD105 0x0202 /* IDE adapter ISD105 */
#define USB_PRODUCT_INSYSTEM_USBCABLE 0x081a /* USB cable */
@@ -543,8 +659,8 @@
#define USB_PRODUCT_IOMEGA_ZIP100 0x0001 /* Zip 100 */
#define USB_PRODUCT_IOMEGA_ZIP250 0x0030 /* Zip 250 */
-/* Kawasaki products */
-#define USB_PRODUCT_KLSI_DUH3E10BT 0x0008 /* USB Ethernet controller engine */
+/* Jaton products */
+#define USB_PRODUCT_JATON_EDA 0x5704 /* Ethernet Device Adapter */
/* Kawatsu products */
#define USB_PRODUCT_KAWATSU_MH4000P 0x0003 /* MiniHub 4000P */
@@ -552,14 +668,26 @@
/* Keisokugiken Corp. products */
#define USB_PRODUCT_KEISOKUGIKEN_USBDAQ 0x0068 /* HKS-0200 USBDAQ */
-/* Kawasaki LSI products (?) */
+/* Kawasaki LSI products */
#define USB_PRODUCT_KLSI_DUH3E10BT 0x0008 /* 10BT Ethernet */
+#define USB_PRODUCT_KLSI_DUH3E10BTN 0x0009 /* 10BT Ethernet */
/* Kensington products */
#define USB_PRODUCT_KENSINGTON_ORBIT 0x1003 /* Orbit USB/PS2 trackball */
#define USB_PRODUCT_KENSINGTON_TURBOBALL 0x1005 /* TurboBall */
+#define USB_PRODUCT_KENSINGTON_ORBIT_MAC 0x1009 /* Orbit USB trackball for Mac */
+
+/* Keyspan products */
+#define USB_PRODUCT_KEYSPAN_USA28 0x0101 /* USA-28 serial adapter */
+#define USB_PRODUCT_KEYSPAN_USA28X 0x0102 /* USA-28X serial adapter */
+#define USB_PRODUCT_KEYSPAN_USA19 0x0103 /* USA-19 serial adapter */
+#define USB_PRODUCT_KEYSPAN_USA18X 0x0105 /* USA-18X serial adapter */
+#define USB_PRODUCT_KEYSPAN_USA19W 0x0106 /* USA-19W serial adapter */
+#define USB_PRODUCT_KEYSPAN_USA49W 0x0109 /* USA-49W serial adapter */
+#define USB_PRODUCT_KEYSPAN_UIA10_NF 0x0201 /* UIA-10 remote control */
/* Kingston products */
+#define USB_PRODUCT_KINGSTON_XX1 0x0008 /* Ethernet */
#define USB_PRODUCT_KINGSTON_KNU101TX 0x000a /* KNU101TX Ethernet */
/* Kodak products */
@@ -580,16 +708,23 @@
#define USB_PRODUCT_KYE_VIVIDPRO 0x2001 /* ColorPage Vivid-Pro scanner */
/* LaCie products */
+#define USB_PRODUCT_LACIE_HD 0xa601 /* Hard Disk */
#define USB_PRODUCT_LACIE_CDRW 0xa602 /* CD R/W */
+/* Lexar products */
+#define USB_PRODUCT_LEXAR_JUMPSHOT 0x0001 /* jumpSHOT CompactFlash Reader */
+
/* Lexmark products */
#define USB_PRODUCT_LEXMARK_S2450 0x0009 /* Optra S 2450 */
/* Linksys products */
+#define USB_PRODUCT_LINKSYS_MAUSB2 0x0105 /* Camedia MAUSB-2 */
+#define USB_PRODUCT_LINKSYS_USB10TX1 0x200c /* USB10TX */
#define USB_PRODUCT_LINKSYS_USB10T 0x2202 /* USB10T Ethernet */
#define USB_PRODUCT_LINKSYS_USB100TX 0x2203 /* USB100TX Ethernet */
#define USB_PRODUCT_LINKSYS_USB100H1 0x2204 /* USB100H1 Ethernet/HPNA */
#define USB_PRODUCT_LINKSYS_USB10TA 0x2206 /* USB10TA Ethernet */
+#define USB_PRODUCT_LINKSYS_USB10TX2 0x400b /* USB10TX */
/* Logitech products */
#define USB_PRODUCT_LOGITECH_M2452 0x0203 /* M2452 */
@@ -604,9 +739,13 @@
#define USB_PRODUCT_LOGITECH_MBA47 0xc002 /* M-BA47 mouse */
#define USB_PRODUCT_LOGITECH_WMMOUSE 0xc004 /* WingMan Gaming Mouse */
#define USB_PRODUCT_LOGITECH_BD58 0xc00c /* BD58 mouse */
+#define USB_PRODUCT_LOGITECH_UN58A 0xc030 /* iFeel Mouse */
#define USB_PRODUCT_LOGITECH_BB13 0xc401 /* USB-PS/2 Trackball */
#define USB_PRODUCT_LOGITECH_WMPAD 0xc208 /* WingMan GamePad Extreme */
#define USB_PRODUCT_LOGITECH_WMJOY 0xc281 /* WingMan Force joystick */
+#define USB_PRODUCT_LOGITECH_RK53 0xc501 /* Cordless mouse */
+#define USB_PRODUCT_LOGITECH_RB6 0xc503 /* Cordless keyboard */
+#define USB_PRODUCT_LOGITECH_CDO 0xc504 /* Cordless Desktop Optical */
#define USB_PRODUCT_LOGITECH_QUICKCAMPRO2 0xd001 /* QuickCam Pro */
/* Lucent products */
@@ -624,6 +763,7 @@
/* Melco, Inc products */
#define USB_PRODUCT_MELCO_LUATX1 0x0001 /* LUA-TX Ethernet */
#define USB_PRODUCT_MELCO_LUATX5 0x0005 /* LUA-TX Ethernet */
+#define USB_PRODUCT_MELCO_LUA2TX5 0x0009 /* LUA2-TX Ethernet */
/* Metricom products */
#define USB_PRODUCT_METRICOM_RICOCHET_GS 0x0001 /* Ricochet GS */
@@ -637,6 +777,12 @@
#define USB_PRODUCT_MICROSOFT_INTELLIEYE 0x0025 /* IntelliEye mouse */
#define USB_PRODUCT_MICROSOFT_INETPRO 0x002b /* Internet Pro */
+/* Microtech products */
+#define USB_PRODUCT_MICROTECH_SCSIDB25 0x0004 /* USB-SCSI-DB25 */
+#define USB_PRODUCT_MICROTECH_SCSIHD50 0x0005 /* USB-SCSI-HD50 */
+#define USB_PRODUCT_MICROTECH_DPCM 0x0006 /* USB CameraMate */
+#define USB_PRODUCT_MICROTECH_FREECOM 0xfc01 /* Freecom USB-IDE */
+
/* Microtek products */
#define USB_PRODUCT_MICROTEK_336CX 0x0094 /* Phantom 336CX - C3 scanner */
#define USB_PRODUCT_MICROTEK_X6U 0x0099 /* ScanMaker X6 - X6U */
@@ -649,6 +795,12 @@
/* Midiman products */
#define USB_PRODUCT_MIDIMAN_MIDISPORT2X2 0x1001 /* Midisport 2x2 */
+/* Mitsumi products */
+#define USB_PRODUCT_MITSUMI_CDRRW 0x0000 /* CD-R/RW Drive */
+
+/* Mobility products */
+#define USB_PRODUCT_MOBILITY_EA 0x0204 /* Ethernet */
+
/* Motorola products */
#define USB_PRODUCT_MOTOROLA_MC141555 0x1555 /* MC141555 hub controller */
@@ -662,6 +814,9 @@
#define USB_PRODUCT_MUSTEK_1200UB 0x0006 /* 1200 UB scanner */
#define USB_PRODUCT_MUSTEK_MDC800 0xa800 /* MDC-800 digital camera */
+/* M-Systems products */
+#define USB_PRODUCT_MSYSTEMS_DISKONKEY 0x0010 /* DiskOnKey */
+
/* National Semiconductor */
#define USB_PRODUCT_NATIONAL_BEARPAW 0x1000 /* BearPaw 1200 */
@@ -674,10 +829,14 @@
/* Netgear products */
#define USB_PRODUCT_NETGEAR_EA101 0x1001 /* Ethernet */
+#define USB_PRODUCT_NETGEAR_EA101X 0x1001 /* Ethernet */
/* Nikon products */
#define USB_PRODUCT_NIKON_E990 0x0102 /* Digital Camera E990 */
+/* Olympus products */
+#define USB_PRODUCT_OLYMPUS_C700 0x0105 /* C-700 Ultra Zoom */
+
/* OmniVision Technologies products */
#define USB_PRODUCT_OMNIVISION_OV511 0x0511 /* OV511 Camera */
#define USB_PRODUCT_OMNIVISION_OV511PLUS 0xa511 /* OV511+ Camera */
@@ -685,6 +844,9 @@
/* Palm Computing */
#define USB_PRODUCT_PALM_SERIAL 0x0080 /* USB Serial Adaptor */
+/* Panasonic products */
+#define USB_PRODUCT_PANASONIC_SDCAAE 0x1b00 /* MultiMediaCard Adapter */
+
/* Peracom products */
#define USB_PRODUCT_PERACOM_SERIAL1 0x0001 /* Serial Converter */
#define USB_PRODUCT_PERACOM_ENET 0x0002 /* Ethernet */
@@ -695,6 +857,7 @@
#define USB_PRODUCT_PHILIPS_DSS350 0x0101 /* DSS 350 Digital Speaker System */
#define USB_PRODUCT_PHILIPS_DSS 0x0104 /* DSS XXX Digital Speaker System */
#define USB_PRODUCT_PHILIPS_HUB 0x0201 /* hub */
+#define USB_PRODUCT_PHILIPS_PCA646VC 0x0303 /* PCA646VC PC Camera */
#define USB_PRODUCT_PHILIPS_PCVC680K 0x0308 /* PCVC680K Vesta Pro PC Camera */
#define USB_PRODUCT_PHILIPS_DSS150 0x0471 /* DSS 150 Digital Speaker System */
@@ -707,6 +870,13 @@
/* PLX products */
#define USB_PRODUCT_PLX_TESTBOARD 0x9060 /* test board */
+/* PortGear products */
+#define USB_PRODUCT_PORTGEAR_EA8 0x0008 /* Ethernet */
+#define USB_PRODUCT_PORTGEAR_EA9 0x0008 /* Ethernet */
+
+/* Portsmith products */
+#define USB_PRODUCT_PORTSMITH_EEA 0x3003 /* Express Ethernet */
+
/* Primax products */
#define USB_PRODUCT_PRIMAX_G2X300 0x0300 /* G2-200 scanner */
#define USB_PRODUCT_PRIMAX_G2E300 0x0301 /* G2E-300 scanner */
@@ -727,11 +897,14 @@
/* Prolific products */
#define USB_PRODUCT_PROLIFIC_PL2301 0x0000 /* PL2301 Host-Host interface */
#define USB_PRODUCT_PROLIFIC_PL2302 0x0001 /* PL2302 Host-Host interface */
-#define USB_PRODUCT_PROLIFIC_RSAQ2 0x04bb /* PL2303 Serial adapter (IODATA USB-RSAQ2) */
-#define USB_PRODUCT_PROLIFIC_PL2303 0x2303 /* PL2303 Serial adapter (ATEN/IOGEAR UC232A) */
-#define USB_PRODUCT_PROLIFIC_PL2305 0x2305 /* Parallel printer adapter */
+#define USB_PRODUCT_PROLIFIC_RSAQ2 0x04bb /* PL2303 Serial adapter */
+#define USB_PRODUCT_PROLIFIC_PL2303 0x2303 /* PL2303 Serial adapter */
+#define USB_PRODUCT_PROLIFIC_PL2305 0x2305 /* Parallel printer */
#define USB_PRODUCT_PROLIFIC_ATAPI4 0x2307 /* ATAPI-4 Bridge Controller */
+/* Putercom products */
+#define USB_PRODUCT_PUTERCOM_UPA100 0x047e /* USB-1284 BRIDGE */
+
/* Qtronix products */
#define USB_PRODUCT_QTRONIX_980N 0x2011 /* Scorpion-980N */
@@ -743,18 +916,35 @@
/* Roland products */
#define USB_PRODUCT_ROLAND_UM1 0x0009 /* UM-1 MIDI I/F */
+#define USB_PRODUCT_ROLAND_UM880N 0x0014 /* EDIROL UM-880 MIDI I/F (native) */
+#define USB_PRODUCT_ROLAND_UM880G 0x0015 /* EDIROL UM-880 MIDI I/F (generic) */
/* Rockfire products */
#define USB_PRODUCT_ROCKFIRE_GAMEPAD 0x2033 /* gamepad 203USB */
/* SanDisk products */
#define USB_PRODUCT_SANDISK_IMAGEMATE 0x0001 /* USB ImageMate */
+#define USB_PRODUCT_SANDISK_SDDR31 0x0002 /* ImageMate SDDR-31 */
+#define USB_PRODUCT_SANDISK_SDDR12 0x0100 /* ImageMate SDDR-12 */
+#define USB_PRODUCT_SANDISK_SDDR09 0x0200 /* ImageMate SDDR-09 */
/* ScanLogic products */
#define USB_PRODUCT_SCANLOGIC_336CX 0x0300 /* Phantom 336CX - C3 scanner */
+/* Shark products */
+#define USB_PRODUCT_SHARK_PA 0x0400 /* Pocket Adapter */
+
/* Shuttle Technology products */
#define USB_PRODUCT_SHUTTLE_EUSB 0x0001 /* E-USB Bridge */
+#define USB_PRODUCT_SHUTTLE_EUSCSI 0x0002 /* eUSCSI Bridge */
+#define USB_PRODUCT_SHUTTLE_SDDR09 0x0003 /* ImageMate SDDR09 */
+#define USB_PRODUCT_SHUTTLE_ZIOMMC 0x0006 /* eUSB MultiMediaCard Adapter */
+#define USB_PRODUCT_SHUTTLE_HIFD 0x0007 /* Sony Hifd */
+#define USB_PRODUCT_SHUTTLE_EUSBATAPI 0x0009 /* eUSB ATA/ATAPI Adapter */
+#define USB_PRODUCT_SHUTTLE_CF 0x000a /* eUSB CompactFlash Adapter */
+#define USB_PRODUCT_SHUTTLE_EUSCSI_B 0x000b /* eUSCSI Bridge */
+#define USB_PRODUCT_SHUTTLE_EUSCSI_C 0x000c /* eUSCSI Bridge */
+#define USB_PRODUCT_SHUTTLE_CDRW 0x0101 /* CD-RW Device */
/* SIIG products */
#define USB_PRODUCT_SIIG_DIGIFILMREADER 0x0004 /* DigiFilm-Combo Reader */
@@ -768,19 +958,21 @@
/* SmartBridges products */
#define USB_PRODUCT_SMARTBRIDGES_SMARTLINK 0x0001 /* SmartLink Ethernet */
+#define USB_PRODUCT_SMARTBRIDGES_SMARTNIC 0x0003 /* smartNIC 2 PnP Adapter */
/* SMC products */
#define USB_PRODUCT_SMC_2102USB 0x0100 /* 10Mbps Ethernet */
#define USB_PRODUCT_SMC_2202USB 0x0200 /* 10/100 Ethernet */
/* SOHOware products */
-#define USB_PRODUCT_SOHOWARE_NUB100 0x9100 /* 10/100 USB Ethernet */
+#define USB_PRODUCT_SOHOWARE_NUB100 0x9100 /* 10/100 Ethernet */
/* SOLID YEAR products */
#define USB_PRODUCT_SOLIDYEAR_KEYBOARD 0x2101 /* Keyboard */
/* SONY products */
#define USB_PRODUCT_SONY_DSC 0x0010 /* Sony DSC Cameras */
+#define USB_PRODUCT_SONY_MSACUS1 0x002d /* Memorystick MSAC-US1 */
#define USB_PRODUCT_SONY_MSC 0x0032 /* Sony MSC Memorystick Slot */
/* STMicroelectronics products */
@@ -792,11 +984,22 @@
/* Sun Microsystems products */
#define USB_PRODUCT_SUN_KEYBOARD 0x0005 /* Type 6 USB */
/* XXX The above is a North American PC style keyboard possibly */
+#define USB_PRODUCT_SUN_MOUSE 0x0100 /* Type 6 USB mouse */
/* Supra products */
#define USB_PRODUCT_DIAMOND2_SUPRAEXPRESS56K 0x07da /* Supra Express 56K */
#define USB_PRODUCT_DIAMOND2_SUPRA2890 0x0b4a /* SupraMax 2890 56K */
#define USB_PRODUCT_DIAMOND2_RIO600USB 0x5001 /* Rio 600 */
+#define USB_PRODUCT_DIAMOND2_RIO800USB 0x5002 /* Rio 800 USB */
+
+/* Taugagreining products */
+#define USB_PRODUCT_TAUGA_CAMERAMATE 0x0005 /* CameraMate (DPCM_USB) */
+
+/* TDK products */
+#define USB_PRODUCT_TDK_UPA9664 0x0115 /* USB-PDC Adapter UPA9664 */
+#define USB_PRODUCT_TDK_UCA1464 0x0116 /* USB-cdmaOne Adapter UCA1464 */
+#define USB_PRODUCT_TDK_UHA6400 0x0117 /* USB-PHS Adapter UHA6400 */
+#define USB_PRODUCT_TDK_UPA6400 0x0118 /* USB-PHS Adapter UPA6400 */
/* TEAC products */
#define USB_PRODUCT_TEAC_FD05PUB 0x0000 /* FD-05PUB */
@@ -823,9 +1026,10 @@
#define USB_PRODUCT_UMAX_ASTRA2000U 0x0030 /* Astra 2000U Scanner */
#define USB_PRODUCT_UMAX_ASTRA2100U 0x0130 /* Astra 2100U Scanner */
#define USB_PRODUCT_UMAX_ASTRA2200U 0x0230 /* Astra 2200U Scanner */
+#define USB_PRODUCT_UMAX_ASTRA3400 0x0060 /* Astra 3400 Scanner */
/* Universal Access products */
-#define USB_PRODUCT_UNIACCESS_PANACHE 0x0101 /* Panache Surf ISDN Adapter */
+#define USB_PRODUCT_UNIACCESS_PANACHE 0x0101 /* Panache Surf ISDN */
/* Vision products */
#define USB_PRODUCT_VISION_VC6452V002 0x0002 /* CPiA Camera */
@@ -843,6 +1047,9 @@
#define USB_PRODUCT_WACOM_GRAPHIRE 0x0010 /* Graphire */
#define USB_PRODUCT_WACOM_INTUOSA5 0x0021 /* Intuos A5 */
+/* Xirlink products */
+#define USB_PRODUCT_XIRLINK_PCCAM 0x8080 /* IBM PC Camera */
+
/* Y-E Data products */
#define USB_PRODUCT_YEDATA_FLASHBUSTERU 0x0000 /* Flashbuster-U */
@@ -856,4 +1063,5 @@
#define USB_PRODUCT_ZOOM_2986L 0x9700 /* 2986L */
/* ZyXEL Communication Co. products */
+#define USB_PRODUCT_ZYXEL_OMNI56K 0x1500 /* Omni 56K Plus */
#define USB_PRODUCT_ZYXEL_980N 0x2011 /* Scorpion-980N */
diff --git a/sys/dev/usb/usbdevs_data.h b/sys/dev/usb/usbdevs_data.h
index dfb6aa2b023..782c55b35d3 100644
--- a/sys/dev/usb/usbdevs_data.h
+++ b/sys/dev/usb/usbdevs_data.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdevs_data.h,v 1.35 2001/10/26 18:06:26 nate Exp $ */
+/* $OpenBSD: usbdevs_data.h,v 1.36 2001/10/31 04:24:44 nate Exp $ */
/*
* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
@@ -45,2146 +45,4086 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-const struct usb_known_product usb_known_products[] = {
+const struct usb_knowndev usb_knowndevs[] = {
{
USB_VENDOR_3COM, USB_PRODUCT_3COM_HOMECONN,
+ 0,
+ "3Com",
"HomeConnect Camera",
},
{
USB_VENDOR_3COM, USB_PRODUCT_3COM_3C19250,
+ 0,
+ "3Com",
"3C19250 Ethernet",
},
{
USB_VENDOR_3COM, USB_PRODUCT_3COM_USR56K,
+ 0,
+ "3Com",
"U.S.Robotics 56000",
},
{
USB_VENDOR_3COM, USB_PRODUCT_3COM_3C460,
- "HomeConnect Ethernet",
+ 0,
+ "3Com",
+ "HomeConnect 3C460",
+ },
+ {
+ USB_VENDOR_3COM, USB_PRODUCT_3COM_3C460B,
+ 0,
+ "3Com",
+ "HomeConnect 3C460B",
},
{
USB_VENDOR_3COMUSR, USB_PRODUCT_3COMUSR_OFFICECONN,
+ 0,
+ "U.S. Robotics",
"3Com OfficeConnect Analog Modem",
},
{
USB_VENDOR_3COMUSR, USB_PRODUCT_3COMUSR_USRISDN,
+ 0,
+ "U.S. Robotics",
"3Com U.S. Robotics Pro ISDN TA",
},
{
USB_VENDOR_3COMUSR, USB_PRODUCT_3COMUSR_HOMECONN,
+ 0,
+ "U.S. Robotics",
"3Com HomeConnect camera",
},
{
USB_VENDOR_3COMUSR, USB_PRODUCT_3COMUSR_USR56K,
+ 0,
+ "U.S. Robotics",
"U.S.Robotics 56000",
},
{
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX1,
+ 0,
+ "AboCom Systems",
+ "XX1",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX2,
+ 0,
+ "AboCom Systems",
+ "XX2",
+ },
+ {
USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_URE450,
- "USB Ethernet",
+ 0,
+ "AboCom Systems",
+ "URE450 Ethernet",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX3,
+ 0,
+ "AboCom Systems",
+ "XX3",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_DSB650TX_PNA,
+ 0,
+ "AboCom Systems",
+ "1/10/100 ethernet",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX4,
+ 0,
+ "AboCom Systems",
+ "XX4",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX5,
+ 0,
+ "AboCom Systems",
+ "XX5",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX6,
+ 0,
+ "AboCom Systems",
+ "XX6",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX7,
+ 0,
+ "AboCom Systems",
+ "XX7",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX8,
+ 0,
+ "AboCom Systems",
+ "XX8",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX9,
+ 0,
+ "AboCom Systems",
+ "XX9",
+ },
+ {
+ USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_XX10,
+ 0,
+ "AboCom Systems",
+ "XX10",
+ },
+ {
+ USB_VENDOR_ACCTON, USB_PRODUCT_ACCTON_USB320_EC,
+ 0,
+ "Accton Technology",
+ "USB320-EC Ethernet",
},
{
USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_C310U,
+ 0,
+ "Acer Peripherals",
"Acerscan C310U",
},
{
USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_320U,
+ 0,
+ "Acer Peripherals",
"Acerscan 320U",
},
{
USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_640U,
+ 0,
+ "Acer Peripherals",
"Acerscan 640U",
},
{
USB_VENDOR_ACERP, USB_PRODUCT_ACERP_ACERSCAN_620U,
+ 0,
+ "Acer Peripherals",
"Acerscan 620U",
},
{
USB_VENDOR_ACTIVEWIRE, USB_PRODUCT_ACTIVEWIRE_IOBOARD,
+ 0,
+ "ActiveWire",
"I/O Board",
},
{
USB_VENDOR_ACTIVEWIRE, USB_PRODUCT_ACTIVEWIRE_IOBOARD_FW1,
+ 0,
+ "ActiveWire",
"I/O Board, rev. 1",
},
{
USB_VENDOR_ADMTEK, USB_PRODUCT_ADMTEK_PEGASUS,
+ 0,
+ "ADMtek",
"AN986 Ethernet",
},
{
+ USB_VENDOR_ADMTEK, USB_PRODUCT_ADMTEK_PEGASUSII,
+ 0,
+ "ADMtek",
+ "AN8511 Ethernet",
+ },
+ {
USB_VENDOR_ADS, USB_PRODUCT_ADS_UBS10BT,
+ 0,
+ "ADS Technologies",
"UBS-10BT Ethernet",
},
{
+ USB_VENDOR_ADS, USB_PRODUCT_ADS_UBS10BTX,
+ 0,
+ "ADS Technologies",
+ "UBS-10BT Ethernet",
+ },
+ {
+ USB_VENDOR_AGATE, USB_PRODUCT_AGATE_QDRIVE,
+ 0,
+ "Agate Technologies",
+ "Q-Drive",
+ },
+ {
USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_MOUSE29UO,
+ 0,
+ "Elecom",
"mouse 29UO",
},
{
USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U,
+ 0,
+ "AGFA-Gevaert NV",
"SnapScan 1212U",
},
{
USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH,
+ 0,
+ "AGFA-Gevaert NV",
"SnapScan Touch",
},
{
USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2,
+ 0,
+ "AGFA-Gevaert NV",
"SnapScan 1212U",
},
{
USB_VENDOR_AKS, USB_PRODUCT_AKS_USBHASP,
+ 0,
+ "Aladdin Knowledge Systems",
"USB-HASP 0.06",
},
{
USB_VENDOR_ALCOR2, USB_PRODUCT_ALCOR2_KBD_HUB,
+ 0,
+ "Alcor Micro",
"Kbd Hub",
},
{
USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_MA_KBD_HUB,
+ 0,
+ "Alcor Micro",
"MacAlly Kbd Hub",
},
{
USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_AU9814,
+ 0,
+ "Alcor Micro",
"AU9814 Hub",
},
{
USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_SM_KBD,
+ 0,
+ "Alcor Micro",
"MicroConnectors/StrongMan",
},
{
USB_VENDOR_ALCOR, USB_PRODUCT_ALCOR_NEC_KBD_HUB,
+ 0,
+ "Alcor Micro",
"NEC Kbd Hub",
},
{
USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ADA70,
+ 0,
+ "Altec Lansing",
"ADA70 Speakers",
},
{
USB_VENDOR_ALTEC, USB_PRODUCT_ALTEC_ASC495,
+ 0,
+ "Altec Lansing",
"ASC495 Speakers",
},
{
USB_VENDOR_APC, USB_PRODUCT_APC_UPSPRO500,
+ 0,
+ "American Power Conversion",
"Back-UPS Pro 500",
},
{
USB_VENDOR_ANCHOR, USB_PRODUCT_ANCHOR_EZUSB,
+ 0,
+ "Anchor Chips",
"EZUSB",
},
{
USB_VENDOR_ANCHOR, USB_PRODUCT_ANCHOR_EZLINK,
+ 0,
+ "Anchor Chips",
"EZLINK",
},
{
USB_VENDOR_AOX, USB_PRODUCT_AOX_USB101,
- "USB Ethernet controller engine",
+ 0,
+ "AOX",
+ "Ethernet controller engine",
},
{
USB_VENDOR_APPLE, USB_PRODUCT_APPLE_OPTMOUSE,
+ 0,
+ "Apple Computer",
"Optical mouse",
},
{
USB_VENDOR_APPLE, USB_PRODUCT_APPLE_SPEAKERS,
+ 0,
+ "Apple Computer",
"Speakers",
},
{
+ USB_VENDOR_ASANTE, USB_PRODUCT_ASANTE_EA,
+ 0,
+ "Asante",
+ "Ethernet",
+ },
+ {
USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC1284,
- "Parallel printer adapter",
+ 0,
+ "ATEN International",
+ "Parallel adapter",
},
{
USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC10T,
+ 0,
+ "ATEN International",
"10Mbps Ethernet",
},
{
USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC232A,
+ 0,
+ "ATEN International",
"Serial adapter",
},
{
+ USB_VENDOR_ATEN, USB_PRODUCT_ATEN_DSB650C,
+ 0,
+ "ATEN International",
+ "DSB-650C",
+ },
+ {
USB_VENDOR_ATMEL, USB_PRODUCT_ATMEL_UHB124,
+ 0,
+ "Atmel",
"UHB124 hub",
},
{
USB_VENDOR_AVISION, USB_PRODUCT_AVISION_1200U,
+ 0,
+ "Avision",
"1200U scanner",
},
{
USB_VENDOR_BELKIN2, USB_PRODUCT_BELKIN2_F5U002,
- "F5U002 Parallel printer adapter",
+ 0,
+ "Belkin Components",
+ "F5U002 Parallel adapter",
},
{
USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USB100,
+ 0,
+ "Billionton Systems",
"USB100N 10/100 Ethernet",
},
{
+ USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBLP100,
+ 0,
+ "Billionton Systems",
+ "USB100LP",
+ },
+ {
+ USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBEL100,
+ 0,
+ "Billionton Systems",
+ "USB100EL",
+ },
+ {
+ USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USBE100,
+ 0,
+ "Billionton Systems",
+ "USBE100",
+ },
+ {
USB_VENDOR_BROTHER, USB_PRODUCT_BROTHER_HL1050,
+ 0,
+ "Brother Industries",
"HL-1050 laser printer",
},
{
USB_VENDOR_BTC, USB_PRODUCT_BTC_BTC7932,
+ 0,
+ "Behavior Tech. Computer",
"Keyboard",
},
{
+ USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U,
+ 0,
+ "Canon",
+ "CANOSCAN N656U",
+ },
+ {
USB_VENDOR_CANON, USB_PRODUCT_CANON_S10,
+ 0,
+ "Canon",
"PowerShot S10",
},
{
+ USB_VENDOR_CANON, USB_PRODUCT_CANON_S100,
+ 0,
+ "Canon",
+ "PowerShot S100",
+ },
+ {
USB_VENDOR_CATC, USB_PRODUCT_CATC_NETMATE,
+ 0,
+ "Computer Access Technology",
"Netmate Ethernet",
},
{
USB_VENDOR_CATC, USB_PRODUCT_CATC_NETMATE2,
+ 0,
+ "Computer Access Technology",
"Netmate2 Ethernet",
},
{
USB_VENDOR_CATC, USB_PRODUCT_CATC_CHIEF,
+ 0,
+ "Computer Access Technology",
"USB Chief Bus & Protocol Analyzer",
},
{
USB_VENDOR_CATC, USB_PRODUCT_CATC_ANDROMEDA,
+ 0,
+ "Computer Access Technology",
"Andromeda hub",
},
{
+ USB_VENDOR_CASIO, USB_PRODUCT_CASIO_NAMELAND,
+ 0,
+ "CASIO",
+ "CASIO Nameland EZ-USB",
+ },
+ {
USB_VENDOR_CHERRY, USB_PRODUCT_CHERRY_MY3000KBD,
- "My3000",
+ 0,
+ "Cherry Mikroschalter",
+ "My3000 keyboard",
},
{
USB_VENDOR_CHERRY, USB_PRODUCT_CHERRY_MY3000HUB,
- "My3000",
+ 0,
+ "Cherry Mikroschalter",
+ "My3000 hub",
},
{
USB_VENDOR_CHIC, USB_PRODUCT_CHIC_MOUSE1,
+ 0,
+ "Chic Technology",
"mouse",
},
{
USB_VENDOR_CHIC, USB_PRODUCT_CHIC_CYPRESS,
- "Cypress",
+ 0,
+ "Chic Technology",
+ "Cypress USB Mouse",
},
{
USB_VENDOR_CHICONY, USB_PRODUCT_CHICONY_KB8933,
- "KB-8933",
+ 0,
+ "Chicony Electronics",
+ "KB-8933 keyboard",
+ },
+ {
+ USB_VENDOR_COMPAQ, USB_PRODUCT_COMPAQ_IPAQPOCKETPC,
+ 0,
+ "Compaq",
+ "iPAQ PocketPC",
},
{
USB_VENDOR_COMPAQ, USB_PRODUCT_COMPAQ_PJB100,
+ 0,
+ "Compaq",
"Personal Jukebox PJB100",
},
{
USB_VENDOR_CONNECTIX, USB_PRODUCT_CONNECTIX_QUICKCAM,
+ 0,
+ "Connectix",
"QuickCam",
},
{
USB_VENDOR_COREGA, USB_PRODUCT_COREGA_ETHER_USB_T,
+ 0,
+ "Corega",
"Ether USB-T",
},
{
USB_VENDOR_COREGA, USB_PRODUCT_COREGA_FETHER_USB_TX,
+ 0,
+ "Corega",
"FEther USB-TX",
},
{
USB_VENDOR_CREATIVELABS, USB_PRODUCT_CREATIVELABS_NOMAD_II,
+ 0,
+ "Creative Labs",
"Nomad II",
},
{
USB_VENDOR_CREATIVELABS, USB_PRODUCT_CREATIVELABS_NOMAD_IIMG,
+ 0,
+ "Creative Labs",
"Nomad II MG",
},
{
USB_VENDOR_CTX, USB_PRODUCT_CTX_EX1300,
+ 0,
+ "Chuntex",
"Ex1300 hub",
},
{
USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_MOUSE,
+ 0,
+ "Cypress Semiconductor",
"mouse",
},
{
USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_THERMO,
+ 0,
+ "Cypress Semiconductor",
"thermometer",
},
{
USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_FMRADIO,
+ 0,
+ "Cypress Semiconductor",
"FM Radio",
},
{
+ USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX4,
+ 0,
+ "D-Link",
+ "10/100 ethernet",
+ },
+ {
USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650C,
+ 0,
+ "D-Link",
"10Mbps Ethernet",
},
{
+ USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX1,
+ 0,
+ "D-Link",
+ "10/100 ethernet",
+ },
+ {
USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX,
+ 0,
+ "D-Link",
"10/100 Ethernet",
},
{
USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX_PNA,
+ 0,
+ "D-Link",
"1/10/100 Ethernet",
},
{
+ USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX3,
+ 0,
+ "D-Link",
+ "10/100 ethernet",
+ },
+ {
+ USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650TX2,
+ 0,
+ "D-Link",
+ "10/100 ethernet",
+ },
+ {
USB_VENDOR_DLINK, USB_PRODUCT_DLINK_DSB650,
+ 0,
+ "D-Link",
"10/100 Ethernet",
},
{
USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_J6502,
+ 0,
+ "Dallas Semiconductor",
"J-6502 speakers",
},
{
+ USB_VENDOR_DALLAS, USB_PRODUCT_DALLAS_USB_FOB_IBUTTON,
+ 0,
+ "Dallas Semiconductor",
+ "USB-FOB/iBUTTON",
+ },
+ {
USB_VENDOR_DIAMOND, USB_PRODUCT_DIAMOND_RIO500USB,
+ 0,
+ "Diamond",
"Rio 500 USB",
},
{
USB_VENDOR_DIGI, USB_PRODUCT_DIGI_ACCELEPORT2,
+ 0,
+ "Digi International",
"AccelePort 2",
},
{
USB_VENDOR_DIGI, USB_PRODUCT_DIGI_ACCELEPORT4,
+ 0,
+ "Digi International",
"AccelePort 4",
},
{
USB_VENDOR_DIGI, USB_PRODUCT_DIGI_ACCELEPORT8,
+ 0,
+ "Digi International",
"AccelePort 8",
},
{
+ USB_VENDOR_DIGITALSTREAM, USB_PRODUCT_DIGITALSTREAM_PS2,
+ 0,
+ "Digital Stream",
+ "PS/2 Active Adapter",
+ },
+ {
USB_VENDOR_EIZO, USB_PRODUCT_EIZO_HUB,
+ 0,
+ "EIZO",
"hub",
},
{
USB_VENDOR_EIZO, USB_PRODUCT_EIZO_MONITOR,
+ 0,
+ "EIZO",
"monitor",
},
{
+ USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_MOUSE29UO,
+ 0,
+ "Elecom",
+ "mouse 29UO",
+ },
+ {
+ USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX0,
+ 0,
+ "Elecom",
+ "LD-USB/TX",
+ },
+ {
+ USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX1,
+ 0,
+ "Elecom",
+ "LD-USB/TX",
+ },
+ {
+ USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX2,
+ 0,
+ "Elecom",
+ "LD-USB/TX",
+ },
+ {
+ USB_VENDOR_ELECOM, USB_PRODUCT_ELECOM_LDUSBTX3,
+ 0,
+ "Elecom",
+ "LD-USB/TX",
+ },
+ {
USB_VENDOR_ELSA, USB_PRODUCT_ELSA_MODEM1,
+ 0,
+ "ELSA",
"ELSA",
},
{
+ USB_VENDOR_ELSA, USB_PRODUCT_ELSA_USB2ETHERNET,
+ 0,
+ "ELSA",
+ "Microlink USB2Ethernet",
+ },
+ {
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_1S,
+ 0,
+ "Entrega",
"1S serial connector",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_2S,
+ 0,
+ "Entrega",
"2S serial connector",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_1S25,
+ 0,
+ "Entrega",
"1S25 serial connector",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_4S,
+ 0,
+ "Entrega",
"4S serial connector",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_E45,
+ 0,
+ "Entrega",
"E45 Ethernet",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_CENTRONICS,
+ 0,
+ "Entrega",
"Centronics connector",
},
{
+ USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_XX1,
+ 0,
+ "Entrega",
+ "Ethernet",
+ },
+ {
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_1S9,
+ 0,
+ "Entrega",
"1S9 serial connector",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_EZUSB,
+ 0,
+ "Entrega",
"EZ-USB",
},
{
USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_2U4S,
+ 0,
+ "Entrega",
"2U4S serial connector/usb hub",
},
{
+ USB_VENDOR_ENTREGA, USB_PRODUCT_ENTREGA_XX2,
+ 0,
+ "Entrega",
+ "Ethernet",
+ },
+ {
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_PRINTER1,
+ 0,
+ "Seiko Epson",
"USB Printer",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_PRINTER2,
+ 0,
+ "Seiko Epson",
"ISD Smart Cable for Mac",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_PRINTER3,
+ 0,
+ "Seiko Epson",
"ISD Smart Cable",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_PRINTER5,
+ 0,
+ "Seiko Epson",
"USB Printer",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_636,
+ 0,
+ "Seiko Epson",
"Perfection 636U / 636Photo scanner",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_610,
+ 0,
+ "Seiko Epson",
"Perfection 610 scanner",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1200,
+ 0,
+ "Seiko Epson",
"Perfection 1200U / 1200Photo scanner",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1600,
+ 0,
+ "Seiko Epson",
"Expression 1600 scanner",
},
{
USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1640,
- "Expression 1640SU scanner",
+ 0,
+ "Seiko Epson",
+ "Perfection 1640SU scanner",
+ },
+ {
+ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1240,
+ 0,
+ "Seiko Epson",
+ "Perfection 1240U / 1240Photo scanner",
+ },
+ {
+ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U,
+ 0,
+ "Seiko Epson",
+ "Perfection 640U scanner",
+ },
+ {
+ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650,
+ 0,
+ "Seiko Epson",
+ "Perfection 1650 scanner",
},
{
USB_VENDOR_ETEK, USB_PRODUCT_ETEK_1COM,
+ 0,
+ "e-TEK Labs",
"Serial port",
},
{
USB_VENDOR_EXTENDED, USB_PRODUCT_EXTENDED_XTNDACCESS,
+ 0,
+ "Extended Systems",
"XTNDAccess IrDA",
},
{
USB_VENDOR_GRAVIS, USB_PRODUCT_GRAVIS_GAMEPADPRO,
+ 0,
+ "Advanced Gravis Computer",
"GamePad Pro",
},
{
+ USB_VENDOR_GREENHOUSE, USB_PRODUCT_GREENHOUSE_KANA21,
+ 0,
+ "GREENHOUSE",
+ "CF-writer/MP3 Player",
+ },
+ {
USB_VENDOR_GRIFFIN, USB_PRODUCT_GRIFFIN_IMATE,
+ 0,
+ "Griffin Technology",
"iMate, ADB adapter",
},
{
USB_VENDOR_FREECOM, USB_PRODUCT_FREECOM_DVD,
+ 0,
+ "Freecom",
"Connector for DVD drive",
},
{
USB_VENDOR_FTDI, USB_PRODUCT_FTDI_SERIAL,
+ 0,
+ "Future Technology Devices",
"Serial converter",
},
{
USB_VENDOR_FUJIPHOTO, USB_PRODUCT_FUJIPHOTO_MASS0100,
+ 0,
+ "Fuji Photo Film",
"Mass Storage",
},
{
+ USB_VENDOR_HAGIWARA, USB_PRODUCT_HAGIWARA_FGSM,
+ 0,
+ "Hagiwara Sys-Com",
+ "FlashGate SmartMediaReader",
+ },
+ {
+ USB_VENDOR_HAGIWARA, USB_PRODUCT_HAGIWARA_FGCF,
+ 0,
+ "Hagiwara Sys-Com",
+ "FlashGate CompactFlash Reader",
+ },
+ {
+ USB_VENDOR_HAGIWARA, USB_PRODUCT_HAGIWARA_FG,
+ 0,
+ "Hagiwara Sys-Com",
+ "FlashGate",
+ },
+ {
USB_VENDOR_HANDSPRING, USB_PRODUCT_HANDSPRING_VISOR,
+ 0,
+ "Handspring",
"Handspring Visor",
},
{
+ USB_VENDOR_HAUPPAUGE, USB_PRODUCT_HAUPPAUGE_WINTV_USB_FM,
+ 0,
+ "Hauppauge Computer Works",
+ "WinTV USB FM",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_895C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 895C",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_4100C,
+ 0,
+ "Hewlett Packard",
"Scanjet 4100C",
},
{
USB_VENDOR_HP, USB_PRODUCT_HP_S20,
+ 0,
+ "Hewlett Packard",
"Photosmart S20",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_880C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 880C",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_4200C,
+ 0,
+ "Hewlett Packard",
"ScanJet 4200C",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_CDWRITERPLUS,
+ 0,
+ "Hewlett Packard",
+ "CD-Writer Plus",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_KBDHUB,
+ 0,
+ "Hewlett Packard",
+ "Multimedia Keyboard Hub",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_6200C,
+ 0,
+ "Hewlett Packard",
"ScanJet 6200C",
},
{
USB_VENDOR_HP, USB_PRODUCT_HP_S20b,
+ 0,
+ "Hewlett Packard",
"PhotoSmart S20",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_815C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 815C",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_3300C,
+ 0,
+ "Hewlett Packard",
"ScanJet 3300C",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_CDW8200,
+ 0,
+ "Hewlett Packard",
+ "CD-Writer Plus 8200e",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_810C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 810C/812C",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_4300C,
+ 0,
+ "Hewlett Packard",
+ "Scanjet 4300C",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_G85XI,
+ 0,
+ "Hewlett Packard",
+ "OfficeJet G85xi",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_5200C,
+ 0,
+ "Hewlett Packard",
"Scanjet 5200C",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_830C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 830C",
+ },
+ {
+ USB_VENDOR_HP, USB_PRODUCT_HP_3400CSE,
+ 0,
+ "Hewlett Packard",
+ "ScanJet 3400cse",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_6300C,
+ 0,
+ "Hewlett Packard",
"Scanjet 6300C",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_840C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 840c",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_5300C,
+ 0,
+ "Hewlett Packard",
"Scanjet 5300C",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_930C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 930c",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_970CSE,
+ 0,
+ "Hewlett Packard",
"Deskjet 970Cse",
},
{
+ USB_VENDOR_HP, USB_PRODUCT_HP_640C,
+ 0,
+ "Hewlett Packard",
+ "DeskJet 640c",
+ },
+ {
USB_VENDOR_HP, USB_PRODUCT_HP_P1100,
+ 0,
+ "Hewlett Packard",
"Photosmart P1100",
},
{
USB_VENDOR_HP2, USB_PRODUCT_HP2_C500,
+ 0,
+ "Hewlett Packard",
"PhotoSmart C500",
},
{
USB_VENDOR_IBM, USB_PRODUCT_IBM_USBCDROMDRIVE,
+ 0,
+ "IBM",
"USB CD-ROM Drive",
},
{
USB_VENDOR_INSIDEOUT, USB_PRODUCT_INSIDEOUT_EDGEPORT4,
+ 0,
+ "Inside Out Networks",
"EdgePort/4 serial ports",
},
{
USB_VENDOR_INSYSTEM, USB_PRODUCT_INSYSTEM_F5U002,
- "Parallel printer adapter",
+ 0,
+ "In-System Design",
+ "Parallel adapter",
+ },
+ {
+ USB_VENDOR_INSYSTEM, USB_PRODUCT_INSYSTEM_ATAPI,
+ 0,
+ "In-System Design",
+ "ATAPI adapter",
},
{
USB_VENDOR_INSYSTEM, USB_PRODUCT_INSYSTEM_ISD110,
+ 0,
+ "In-System Design",
"IDE adapter ISD110",
},
{
USB_VENDOR_INSYSTEM, USB_PRODUCT_INSYSTEM_ISD105,
+ 0,
+ "In-System Design",
"IDE adapter ISD105",
},
{
USB_VENDOR_INSYSTEM, USB_PRODUCT_INSYSTEM_USBCABLE,
+ 0,
+ "In-System Design",
"USB cable",
},
{
USB_VENDOR_INTEL, USB_PRODUCT_INTEL_EASYPC_CAMERA,
+ 0,
+ "Intel",
"Easy PC Camera",
},
{
USB_VENDOR_INTEL, USB_PRODUCT_INTEL_TESTBOARD,
+ 0,
+ "Intel",
"82930 test board",
},
{
USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETT,
+ 0,
+ "I/O Data",
"USB ETT",
},
{
USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETTX,
+ 0,
+ "I/O Data",
"USB ETTX",
},
{
USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBETTXS,
+ 0,
+ "I/O Data",
"USB ETTX",
},
{
USB_VENDOR_IODATA, USB_PRODUCT_IODATA_USBRSAQ,
+ 0,
+ "I/O Data",
"RSAQ1 Serial Adapter",
},
{
USB_VENDOR_IOMEGA, USB_PRODUCT_IOMEGA_ZIP100,
+ 0,
+ "Iomega",
"Zip 100",
},
{
USB_VENDOR_IOMEGA, USB_PRODUCT_IOMEGA_ZIP250,
+ 0,
+ "Iomega",
"Zip 250",
},
{
- USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BT,
- "USB Ethernet controller engine",
+ USB_VENDOR_JATON, USB_PRODUCT_JATON_EDA,
+ 0,
+ "Jaton",
+ "Ethernet Device Adapter",
},
{
USB_VENDOR_KAWATSU, USB_PRODUCT_KAWATSU_MH4000P,
+ 0,
+ "Kawatsu Semiconductor",
"MiniHub 4000P",
},
{
USB_VENDOR_KEISOKUGIKEN, USB_PRODUCT_KEISOKUGIKEN_USBDAQ,
+ 0,
+ "Keisokugiken",
"HKS-0200 USBDAQ",
},
{
USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BT,
+ 0,
+ "Kawasaki LSI",
+ "10BT Ethernet",
+ },
+ {
+ USB_VENDOR_KLSI, USB_PRODUCT_KLSI_DUH3E10BTN,
+ 0,
+ "Kawasaki LSI",
"10BT Ethernet",
},
{
USB_VENDOR_KENSINGTON, USB_PRODUCT_KENSINGTON_ORBIT,
+ 0,
+ "Kensington",
"Orbit USB/PS2 trackball",
},
{
USB_VENDOR_KENSINGTON, USB_PRODUCT_KENSINGTON_TURBOBALL,
+ 0,
+ "Kensington",
"TurboBall",
},
{
+ USB_VENDOR_KENSINGTON, USB_PRODUCT_KENSINGTON_ORBIT_MAC,
+ 0,
+ "Kensington",
+ "Orbit USB trackball for Mac",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA28,
+ 0,
+ "Keyspan",
+ "USA-28 serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA28X,
+ 0,
+ "Keyspan",
+ "USA-28X serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA19,
+ 0,
+ "Keyspan",
+ "USA-19 serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA18X,
+ 0,
+ "Keyspan",
+ "USA-18X serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA19W,
+ 0,
+ "Keyspan",
+ "USA-19W serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_USA49W,
+ 0,
+ "Keyspan",
+ "USA-49W serial adapter",
+ },
+ {
+ USB_VENDOR_KEYSPAN, USB_PRODUCT_KEYSPAN_UIA10_NF,
+ 0,
+ "Keyspan",
+ "UIA-10 remote control",
+ },
+ {
+ USB_VENDOR_KINGSTON, USB_PRODUCT_KINGSTON_XX1,
+ 0,
+ "Kingston Technology",
+ "Ethernet",
+ },
+ {
USB_VENDOR_KINGSTON, USB_PRODUCT_KINGSTON_KNU101TX,
+ 0,
+ "Kingston Technology",
"KNU101TX Ethernet",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC220,
+ 0,
+ "Eastman Kodak",
"Digital Science DC220",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC260,
+ 0,
+ "Eastman Kodak",
"Digital Science DC260",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC265,
+ 0,
+ "Eastman Kodak",
"Digital Science DC265",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC290,
+ 0,
+ "Eastman Kodak",
"Digital Science DC290",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC240,
+ 0,
+ "Eastman Kodak",
"Digital Science DC240",
},
{
USB_VENDOR_KODAK, USB_PRODUCT_KODAK_DC280,
+ 0,
+ "Eastman Kodak",
"Digital Science DC280",
},
{
USB_VENDOR_KONICA, USB_PRODUCT_KONICA_CAMERA,
+ 0,
+ "Konica",
"Digital Color Camera",
},
{
USB_VENDOR_KYE, USB_PRODUCT_KYE_NICHE,
+ 0,
+ "KYE Systems",
"Niche mouse",
},
{
USB_VENDOR_KYE, USB_PRODUCT_KYE_NETSCROLL,
+ 0,
+ "KYE Systems",
"Genius NetScroll mouse",
},
{
USB_VENDOR_KYE, USB_PRODUCT_KYE_FLIGHT2000,
+ 0,
+ "KYE Systems",
"Flight 2000 joystick",
},
{
USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO,
+ 0,
+ "KYE Systems",
"ColorPage Vivid-Pro scanner",
},
{
+ USB_VENDOR_LACIE, USB_PRODUCT_LACIE_HD,
+ 0,
+ "LaCie",
+ "Hard Disk",
+ },
+ {
USB_VENDOR_LACIE, USB_PRODUCT_LACIE_CDRW,
+ 0,
+ "LaCie",
"CD R/W",
},
{
+ USB_VENDOR_LEXAR, USB_PRODUCT_LEXAR_JUMPSHOT,
+ 0,
+ "Lexar Media",
+ "jumpSHOT CompactFlash Reader",
+ },
+ {
USB_VENDOR_LEXMARK, USB_PRODUCT_LEXMARK_S2450,
+ 0,
+ "Lexmark International",
"Optra S 2450",
},
{
+ USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_MAUSB2,
+ 0,
+ "Linksys",
+ "Camedia MAUSB-2",
+ },
+ {
+ USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TX1,
+ 0,
+ "Linksys",
+ "USB10TX",
+ },
+ {
USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10T,
+ 0,
+ "Linksys",
"USB10T Ethernet",
},
{
USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100TX,
+ 0,
+ "Linksys",
"USB100TX Ethernet",
},
{
USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB100H1,
+ 0,
+ "Linksys",
"USB100H1 Ethernet/HPNA",
},
{
USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TA,
+ 0,
+ "Linksys",
"USB10TA Ethernet",
},
{
+ USB_VENDOR_LINKSYS, USB_PRODUCT_LINKSYS_USB10TX2,
+ 0,
+ "Linksys",
+ "USB10TX",
+ },
+ {
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_M2452,
+ 0,
+ "Logitech",
"M2452",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_M4848,
+ 0,
+ "Logitech",
"M4848",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_PAGESCAN,
+ 0,
+ "Logitech",
"PageScan",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMWEB,
+ 0,
+ "Logitech",
"QuickCam Web",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMPRO,
+ 0,
+ "Logitech",
"QuickCam Pro",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMEXP,
+ 0,
+ "Logitech",
"QuickCam Express",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAM,
+ 0,
+ "Logitech",
"QuickCam",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_N43,
+ 0,
+ "Logitech",
"N43",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_N48,
+ 0,
+ "Logitech",
"N48 mouse",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_MBA47,
+ 0,
+ "Logitech",
"M-BA47 mouse",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_WMMOUSE,
+ 0,
+ "Logitech",
"WingMan Gaming Mouse",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_BD58,
+ 0,
+ "Logitech",
"BD58 mouse",
},
{
+ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_UN58A,
+ 0,
+ "Logitech",
+ "iFeel Mouse",
+ },
+ {
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_BB13,
+ 0,
+ "Logitech",
"USB-PS/2 Trackball",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_WMPAD,
+ 0,
+ "Logitech",
"WingMan GamePad Extreme",
},
{
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_WMJOY,
+ 0,
+ "Logitech",
"WingMan Force joystick",
},
{
+ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_RK53,
+ 0,
+ "Logitech",
+ "Cordless mouse",
+ },
+ {
+ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_RB6,
+ 0,
+ "Logitech",
+ "Cordless keyboard",
+ },
+ {
+ USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_CDO,
+ 0,
+ "Logitech",
+ "Cordless Desktop Optical",
+ },
+ {
USB_VENDOR_LOGITECH, USB_PRODUCT_LOGITECH_QUICKCAMPRO2,
+ 0,
+ "Logitech",
"QuickCam Pro",
},
{
USB_VENDOR_LUCENT, USB_PRODUCT_LUCENT_EVALKIT,
+ 0,
+ "Lucent",
"USS-720 evaluation kit",
},
{
USB_VENDOR_MACALLY, USB_PRODUCT_MACALLY_MOUSE1,
+ 0,
+ "Macally",
"mouse",
},
{
USB_VENDOR_MCT, USB_PRODUCT_MCT_HUB0100,
+ 0,
+ "MCT",
"Hub",
},
{
USB_VENDOR_MCT, USB_PRODUCT_MCT_DU_H3SP_USB232,
+ 0,
+ "MCT",
"D-Link DU-H3SP USB BAY Hub",
},
{
USB_VENDOR_MCT, USB_PRODUCT_MCT_USB232,
+ 0,
+ "MCT",
"USB-232 Interface",
},
{
USB_VENDOR_MCT, USB_PRODUCT_MCT_SITECOM_USB232,
+ 0,
+ "MCT",
"Sitecom USB-232 Products",
},
{
USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX1,
+ 0,
+ "Melco",
"LUA-TX Ethernet",
},
{
USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUATX5,
+ 0,
+ "Melco",
"LUA-TX Ethernet",
},
{
+ USB_VENDOR_MELCO, USB_PRODUCT_MELCO_LUA2TX5,
+ 0,
+ "Melco",
+ "LUA2-TX Ethernet",
+ },
+ {
USB_VENDOR_METRICOM, USB_PRODUCT_METRICOM_RICOCHET_GS,
+ 0,
+ "Metricom",
"Ricochet GS",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_SIDEPREC,
+ 0,
+ "Microsoft",
"SideWinder Precision Pro",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INTELLIMOUSE,
+ 0,
+ "Microsoft",
"IntelliMouse",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_NATURALKBD,
+ 0,
+ "Microsoft",
"Natural",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_DDS80,
+ 0,
+ "Microsoft",
"Digital Sound System 80",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_SIDEWINDER,
+ 0,
+ "Microsoft",
"Sidewinder Precision Racing Wheel",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INTELLIEYE,
+ 0,
+ "Microsoft",
"IntelliEye mouse",
},
{
USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_INETPRO,
+ 0,
+ "Microsoft",
"Internet Pro",
},
{
+ USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_SCSIDB25,
+ 0,
+ "Microtech",
+ "USB-SCSI-DB25",
+ },
+ {
+ USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_SCSIHD50,
+ 0,
+ "Microtech",
+ "USB-SCSI-HD50",
+ },
+ {
+ USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_DPCM,
+ 0,
+ "Microtech",
+ "USB CameraMate",
+ },
+ {
+ USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_FREECOM,
+ 0,
+ "Microtech",
+ "Freecom USB-IDE",
+ },
+ {
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX,
+ 0,
+ "Microtek",
"Phantom 336CX - C3 scanner",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_X6U,
+ 0,
+ "Microtek",
"ScanMaker X6 - X6U",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_C6,
+ 0,
+ "Microtek",
"Phantom C6 scanner",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_336CX2,
+ 0,
+ "Microtek",
"Phantom 336CX - C3 scanner",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL,
+ 0,
+ "Microtek",
"ScanMaker V6USL",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6USL2,
+ 0,
+ "Microtek",
"ScanMaker V6USL",
},
{
USB_VENDOR_MICROTEK, USB_PRODUCT_MICROTEK_V6UL,
+ 0,
+ "Microtek",
"ScanMaker V6UL",
},
{
USB_VENDOR_MIDIMAN, USB_PRODUCT_MIDIMAN_MIDISPORT2X2,
+ 0,
+ "Midiman",
"Midisport 2x2",
},
{
+ USB_VENDOR_MITSUMI, USB_PRODUCT_MITSUMI_CDRRW,
+ 0,
+ "Mitsumi",
+ "CD-R/RW Drive",
+ },
+ {
+ USB_VENDOR_MOBILITY, USB_PRODUCT_MOBILITY_EA,
+ 0,
+ "Mobility",
+ "Ethernet",
+ },
+ {
USB_VENDOR_MOTOROLA, USB_PRODUCT_MOTOROLA_MC141555,
+ 0,
+ "Motorola",
"MC141555 hub controller",
},
{
USB_VENDOR_MULTITECH, USB_PRODUCT_MULTITECH_ATLAS,
+ 0,
+ "MultiTech",
"MT5634ZBA",
},
{
USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200CU,
+ 0,
+ "Mustek Systems",
"1200 CU scanner",
},
{
USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_600CU,
+ 0,
+ "Mustek Systems",
"600 CU scanner",
},
{
USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200USB,
+ 0,
+ "Mustek Systems",
"1200 scanner",
},
{
USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_1200UB,
+ 0,
+ "Mustek Systems",
"1200 UB scanner",
},
{
USB_VENDOR_MUSTEK, USB_PRODUCT_MUSTEK_MDC800,
+ 0,
+ "Mustek Systems",
"MDC-800 digital camera",
},
{
+ USB_VENDOR_MSYSTEMS, USB_PRODUCT_MSYSTEMS_DISKONKEY,
+ 0,
+ "M-Systems",
+ "DiskOnKey",
+ },
+ {
USB_VENDOR_NATIONAL, USB_PRODUCT_NATIONAL_BEARPAW,
+ 0,
+ "National Semiconductor",
"BearPaw 1200",
},
{
USB_VENDOR_NEC, USB_PRODUCT_NEC_HUB,
+ 0,
+ "NEC",
"hub",
},
{
USB_VENDOR_NEC, USB_PRODUCT_NEC_HUB_B,
+ 0,
+ "NEC",
"hub",
},
{
USB_VENDOR_NETCHIP, USB_PRODUCT_NETCHIP_TURBOCONNECT,
+ 0,
+ "NetChip Technology",
"Turbo-Connect",
},
{
USB_VENDOR_NETGEAR, USB_PRODUCT_NETGEAR_EA101,
+ 0,
+ "BayNETGEAR",
+ "Ethernet",
+ },
+ {
+ USB_VENDOR_NETGEAR, USB_PRODUCT_NETGEAR_EA101X,
+ 0,
+ "BayNETGEAR",
"Ethernet",
},
{
USB_VENDOR_NIKON, USB_PRODUCT_NIKON_E990,
+ 0,
+ "Nikon",
"Digital Camera E990",
},
{
+ USB_VENDOR_OLYMPUS, USB_PRODUCT_OLYMPUS_C700,
+ 0,
+ "Olympus",
+ "C-700 Ultra Zoom",
+ },
+ {
USB_VENDOR_OMNIVISION, USB_PRODUCT_OMNIVISION_OV511,
+ 0,
+ "OmniVision",
"OV511 Camera",
},
{
USB_VENDOR_OMNIVISION, USB_PRODUCT_OMNIVISION_OV511PLUS,
+ 0,
+ "OmniVision",
"OV511+ Camera",
},
{
USB_VENDOR_PALM, USB_PRODUCT_PALM_SERIAL,
+ 0,
+ "Palm Computing",
"USB Serial Adaptor",
},
{
+ USB_VENDOR_PANASONIC, USB_PRODUCT_PANASONIC_SDCAAE,
+ 0,
+ "Panasonic (Matsushita)",
+ "MultiMediaCard Adapter",
+ },
+ {
USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1,
+ 0,
+ "Peracom Networks",
"Serial Converter",
},
{
USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET,
+ 0,
+ "Peracom Networks",
"Ethernet",
},
{
USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET3,
+ 0,
+ "Peracom Networks",
"At-Home Ethernet",
},
{
USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_ENET2,
+ 0,
+ "Peracom Networks",
"Ethernet",
},
{
USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_DSS350,
+ 0,
+ "Philips",
"DSS 350 Digital Speaker System",
},
{
USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_DSS,
+ 0,
+ "Philips",
"DSS XXX Digital Speaker System",
},
{
USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_HUB,
+ 0,
+ "Philips",
"hub",
},
{
+ USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_PCA646VC,
+ 0,
+ "Philips",
+ "PCA646VC PC Camera",
+ },
+ {
USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_PCVC680K,
+ 0,
+ "Philips",
"PCVC680K Vesta Pro PC Camera",
},
{
USB_VENDOR_PHILIPS, USB_PRODUCT_PHILIPS_DSS150,
+ 0,
+ "Philips",
"DSS 150 Digital Speaker System",
},
{
USB_VENDOR_PHILIPSSEMI, USB_PRODUCT_PHILIPSSEMI_HUB1122,
+ 0,
+ "Philips Semiconductors",
"hub",
},
{
USB_VENDOR_PIENGINEERING, USB_PRODUCT_PIENGINEERING_PS2USB,
+ 0,
+ "P.I. Engineering",
"PS2 to Mac Adapter",
},
{
USB_VENDOR_PLX, USB_PRODUCT_PLX_TESTBOARD,
+ 0,
+ "PLX",
"test board",
},
{
+ USB_VENDOR_PORTGEAR, USB_PRODUCT_PORTGEAR_EA8,
+ 0,
+ "PortGear",
+ "Ethernet",
+ },
+ {
+ USB_VENDOR_PORTGEAR, USB_PRODUCT_PORTGEAR_EA9,
+ 0,
+ "PortGear",
+ "Ethernet",
+ },
+ {
+ USB_VENDOR_PORTSMITH, USB_PRODUCT_PORTSMITH_EEA,
+ 0,
+ "Portsmith",
+ "Express Ethernet",
+ },
+ {
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2X300,
+ 0,
+ "Primax Electronics",
"G2-200 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E300,
+ 0,
+ "Primax Electronics",
"G2E-300 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2300,
+ 0,
+ "Primax Electronics",
"G2-300 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E3002,
+ 0,
+ "Primax Electronics",
"G2E-300 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_9600,
+ 0,
+ "Primax Electronics",
"Colorado 9600 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_600U,
+ 0,
+ "Primax Electronics",
"Colorado 600u scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_19200,
+ 0,
+ "Primax Electronics",
"Colorado 19200 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_1200U,
+ 0,
+ "Primax Electronics",
"Colorado 1200u scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G600,
+ 0,
+ "Primax Electronics",
"G2-600 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_636I,
+ 0,
+ "Primax Electronics",
"ReadyScan 636i",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2600,
+ 0,
+ "Primax Electronics",
"G2-600 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_G2E600,
+ 0,
+ "Primax Electronics",
"G2E-600 scanner",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_COMFORT,
+ 0,
+ "Primax Electronics",
"Comfort",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_MOUSEINABOX,
+ 0,
+ "Primax Electronics",
"Mouse-in-a-Box",
},
{
USB_VENDOR_PRIMAX, USB_PRODUCT_PRIMAX_PCGAUMS1,
+ 0,
+ "Primax Electronics",
"Sony PCGA-UMS1",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2301,
+ 0,
+ "Prolific Technology",
"PL2301 Host-Host interface",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2302,
+ 0,
+ "Prolific Technology",
"PL2302 Host-Host interface",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_RSAQ2,
- "PL2303 Serial adapter (IODATA USB-RSAQ2)",
+ 0,
+ "Prolific Technology",
+ "PL2303 Serial adapter",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303,
- "PL2303 Serial adapter (ATEN/IOGEAR UC232A)",
+ 0,
+ "Prolific Technology",
+ "PL2303 Serial adapter",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2305,
- "Parallel printer adapter",
+ 0,
+ "Prolific Technology",
+ "Parallel printer",
},
{
USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_ATAPI4,
+ 0,
+ "Prolific Technology",
"ATAPI-4 Bridge Controller",
},
{
+ USB_VENDOR_PUTERCOM, USB_PRODUCT_PUTERCOM_UPA100,
+ 0,
+ "Putercom",
+ "USB-1284 BRIDGE",
+ },
+ {
USB_VENDOR_QTRONIX, USB_PRODUCT_QTRONIX_980N,
+ 0,
+ "Qtronix",
"Scorpion-980N",
},
{
USB_VENDOR_QUICKSHOT, USB_PRODUCT_QUICKSHOT_STRIKEPAD,
+ 0,
+ "Quickshot",
"USB StrikePad",
},
{
USB_VENDOR_RAINBOW, USB_PRODUCT_RAINBOW_IKEY2000,
+ 0,
+ "Rainbow Technologies",
"i-Key 2000",
},
{
USB_VENDOR_ROLAND, USB_PRODUCT_ROLAND_UM1,
+ 0,
+ "Roland",
"UM-1 MIDI I/F",
},
{
+ USB_VENDOR_ROLAND, USB_PRODUCT_ROLAND_UM880N,
+ 0,
+ "Roland",
+ "EDIROL UM-880 MIDI I/F (native)",
+ },
+ {
+ USB_VENDOR_ROLAND, USB_PRODUCT_ROLAND_UM880G,
+ 0,
+ "Roland",
+ "EDIROL UM-880 MIDI I/F (generic)",
+ },
+ {
USB_VENDOR_ROCKFIRE, USB_PRODUCT_ROCKFIRE_GAMEPAD,
+ 0,
+ "Rockfire",
"gamepad 203USB",
},
{
USB_VENDOR_SANDISK, USB_PRODUCT_SANDISK_IMAGEMATE,
+ 0,
+ "SanDisk",
"USB ImageMate",
},
{
+ USB_VENDOR_SANDISK, USB_PRODUCT_SANDISK_SDDR31,
+ 0,
+ "SanDisk",
+ "ImageMate SDDR-31",
+ },
+ {
+ USB_VENDOR_SANDISK, USB_PRODUCT_SANDISK_SDDR12,
+ 0,
+ "SanDisk",
+ "ImageMate SDDR-12",
+ },
+ {
+ USB_VENDOR_SANDISK, USB_PRODUCT_SANDISK_SDDR09,
+ 0,
+ "SanDisk",
+ "ImageMate SDDR-09",
+ },
+ {
USB_VENDOR_SCANLOGIC, USB_PRODUCT_SCANLOGIC_336CX,
+ 0,
+ "ScanLogic",
"Phantom 336CX - C3 scanner",
},
{
+ USB_VENDOR_SHARK, USB_PRODUCT_SHARK_PA,
+ 0,
+ "Shark",
+ "Pocket Adapter",
+ },
+ {
USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSB,
+ 0,
+ "Shuttle Technology",
"E-USB Bridge",
},
{
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSCSI,
+ 0,
+ "Shuttle Technology",
+ "eUSCSI Bridge",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_SDDR09,
+ 0,
+ "Shuttle Technology",
+ "ImageMate SDDR09",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_ZIOMMC,
+ 0,
+ "Shuttle Technology",
+ "eUSB MultiMediaCard Adapter",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_HIFD,
+ 0,
+ "Shuttle Technology",
+ "Sony Hifd",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSBATAPI,
+ 0,
+ "Shuttle Technology",
+ "eUSB ATA/ATAPI Adapter",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_CF,
+ 0,
+ "Shuttle Technology",
+ "eUSB CompactFlash Adapter",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSCSI_B,
+ 0,
+ "Shuttle Technology",
+ "eUSCSI Bridge",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_EUSCSI_C,
+ 0,
+ "Shuttle Technology",
+ "eUSCSI Bridge",
+ },
+ {
+ USB_VENDOR_SHUTTLE, USB_PRODUCT_SHUTTLE_CDRW,
+ 0,
+ "Shuttle Technology",
+ "CD-RW Device",
+ },
+ {
USB_VENDOR_SIIG, USB_PRODUCT_SIIG_DIGIFILMREADER,
+ 0,
+ "SIIG",
"DigiFilm-Combo Reader",
},
{
USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPH_NF,
+ 0,
+ "Silicon Portals",
"YAP Phone (no firmware)",
},
{
USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE,
+ 0,
+ "Silicon Portals",
"YAP Phone",
},
{
USB_VENDOR_SIRIUS, USB_PRODUCT_SIRIUS_ROADSTER,
+ 0,
+ "Sirius Technologies",
"NetComm Roadster II 56 USB",
},
{
USB_VENDOR_SMARTBRIDGES, USB_PRODUCT_SMARTBRIDGES_SMARTLINK,
+ 0,
+ "SmartBridges",
"SmartLink Ethernet",
},
{
+ USB_VENDOR_SMARTBRIDGES, USB_PRODUCT_SMARTBRIDGES_SMARTNIC,
+ 0,
+ "SmartBridges",
+ "smartNIC 2 PnP Adapter",
+ },
+ {
USB_VENDOR_SMC, USB_PRODUCT_SMC_2102USB,
+ 0,
+ "Standard Microsystems",
"10Mbps Ethernet",
},
{
USB_VENDOR_SMC, USB_PRODUCT_SMC_2202USB,
+ 0,
+ "Standard Microsystems",
"10/100 Ethernet",
},
{
USB_VENDOR_SOHOWARE, USB_PRODUCT_SOHOWARE_NUB100,
- "10/100 USB Ethernet",
+ 0,
+ "SOHOware",
+ "10/100 Ethernet",
},
{
USB_VENDOR_SOLIDYEAR, USB_PRODUCT_SOLIDYEAR_KEYBOARD,
+ 0,
+ "Solid Year",
"Keyboard",
},
{
USB_VENDOR_SONY, USB_PRODUCT_SONY_DSC,
+ 0,
+ "Sony",
"Sony DSC Cameras",
},
{
+ USB_VENDOR_SONY, USB_PRODUCT_SONY_MSACUS1,
+ 0,
+ "Sony",
+ "Memorystick MSAC-US1",
+ },
+ {
USB_VENDOR_SONY, USB_PRODUCT_SONY_MSC,
+ 0,
+ "Sony",
"Sony MSC Memorystick Slot",
},
{
USB_VENDOR_STMICRO, USB_PRODUCT_STMICRO_COMMUNICATOR,
+ 0,
+ "STMicroelectronics",
"Communicator",
},
{
USB_VENDOR_STSN, USB_PRODUCT_STSN_STSN0001,
+ 0,
+ "STSN",
"Internet Access Device",
},
{
USB_VENDOR_SUN, USB_PRODUCT_SUN_KEYBOARD,
+ 0,
+ "Sun Microsystems",
"Type 6 USB",
},
{
+ USB_VENDOR_SUN, USB_PRODUCT_SUN_MOUSE,
+ 0,
+ "Sun Microsystems",
+ "Type 6 USB mouse",
+ },
+ {
USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_SUPRAEXPRESS56K,
+ 0,
+ "Diamond (Supra)",
"Supra Express 56K",
},
{
USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_SUPRA2890,
+ 0,
+ "Diamond (Supra)",
"SupraMax 2890 56K",
},
{
USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO600USB,
+ 0,
+ "Diamond (Supra)",
"Rio 600",
},
{
+ USB_VENDOR_DIAMOND2, USB_PRODUCT_DIAMOND2_RIO800USB,
+ 0,
+ "Diamond (Supra)",
+ "Rio 800 USB",
+ },
+ {
+ USB_VENDOR_TAUGA, USB_PRODUCT_TAUGA_CAMERAMATE,
+ 0,
+ "Taugagreining HF",
+ "CameraMate (DPCM_USB)",
+ },
+ {
+ USB_VENDOR_TDK, USB_PRODUCT_TDK_UPA9664,
+ 0,
+ "TDK",
+ "USB-PDC Adapter UPA9664",
+ },
+ {
+ USB_VENDOR_TDK, USB_PRODUCT_TDK_UCA1464,
+ 0,
+ "TDK",
+ "USB-cdmaOne Adapter UCA1464",
+ },
+ {
+ USB_VENDOR_TDK, USB_PRODUCT_TDK_UHA6400,
+ 0,
+ "TDK",
+ "USB-PHS Adapter UHA6400",
+ },
+ {
+ USB_VENDOR_TDK, USB_PRODUCT_TDK_UPA6400,
+ 0,
+ "TDK",
+ "USB-PHS Adapter UPA6400",
+ },
+ {
USB_VENDOR_TEAC, USB_PRODUCT_TEAC_FD05PUB,
+ 0,
+ "TEAC",
"FD-05PUB",
},
{
USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1,
+ 0,
+ "Telex Communications",
"Microphone",
},
{
USB_VENDOR_TI, USB_PRODUCT_TI_UTUSB41,
+ 0,
+ "Texas Instruments",
"UT-USB41 hub",
},
{
USB_VENDOR_TI, USB_PRODUCT_TI_TUSB2046,
+ 0,
+ "Texas Instruments",
"TUSB2046 hub",
},
{
USB_VENDOR_THRUST, USB_PRODUCT_THRUST_FUSION_PAD,
+ 0,
+ "Thrustmaster",
"Fusion Digital Gamepad",
},
{
USB_VENDOR_TODOS, USB_PRODUCT_TODOS_ARGOS_MINI,
+ 0,
+ "Todos Data System",
"Argos Mini Smartcard Reader",
},
{
USB_VENDOR_TREK, USB_PRODUCT_TREK_THUMBDRIVE,
+ 0,
+ "Trek Technology",
"ThumbDrive",
},
{
USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1236U,
+ 0,
+ "UMAX Data Systems",
"Astra 1236U Scanner",
},
{
USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1220U,
+ 0,
+ "UMAX Data Systems",
"Astra 1220U Scanner",
},
{
USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2000U,
+ 0,
+ "UMAX Data Systems",
"Astra 2000U Scanner",
},
{
USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2100U,
+ 0,
+ "UMAX Data Systems",
"Astra 2100U Scanner",
},
{
USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2200U,
+ 0,
+ "UMAX Data Systems",
"Astra 2200U Scanner",
},
{
+ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA3400,
+ 0,
+ "UMAX Data Systems",
+ "Astra 3400 Scanner",
+ },
+ {
USB_VENDOR_UNIACCESS, USB_PRODUCT_UNIACCESS_PANACHE,
- "Panache Surf ISDN Adapter",
+ 0,
+ "Universal Access",
+ "Panache Surf ISDN",
},
{
USB_VENDOR_VISION, USB_PRODUCT_VISION_VC6452V002,
+ 0,
+ "VLSI Vision",
"CPiA Camera",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_7600,
+ 0,
+ "Visioneer",
"OneTouch 7600",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_5300,
+ 0,
+ "Visioneer",
"OneTouch 5300",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6100,
+ 0,
+ "Visioneer",
"OneTouch 6100",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_6200,
+ 0,
+ "Visioneer",
"OneTouch 6200",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8100,
+ 0,
+ "Visioneer",
"OneTouch 8100",
},
{
USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8600,
+ 0,
+ "Visioneer",
"OneTouch 8600",
},
{
USB_VENDOR_WACOM, USB_PRODUCT_WACOM_CT0405U,
+ 0,
+ "WACOM",
"CT-0405-U Tablet",
},
{
USB_VENDOR_WACOM, USB_PRODUCT_WACOM_GRAPHIRE,
+ 0,
+ "WACOM",
"Graphire",
},
{
USB_VENDOR_WACOM, USB_PRODUCT_WACOM_INTUOSA5,
+ 0,
+ "WACOM",
"Intuos A5",
},
{
+ USB_VENDOR_XIRLINK, USB_PRODUCT_XIRLINK_PCCAM,
+ 0,
+ "Xirlink",
+ "IBM PC Camera",
+ },
+ {
USB_VENDOR_YEDATA, USB_PRODUCT_YEDATA_FLASHBUSTERU,
+ 0,
+ "Y-E Data",
"Flashbuster-U",
},
{
USB_VENDOR_YANO, USB_PRODUCT_YANO_U640MO,
+ 0,
+ "Yano",
"U640MO-03",
},
{
USB_VENDOR_YAMAHA, USB_PRODUCT_YAMAHA_UX256,
+ 0,
+ "YAMAHA",
"UX256 MIDI I/F",
},
{
USB_VENDOR_ZOOM, USB_PRODUCT_ZOOM_2986L,
+ 0,
+ "Zoom Telephonics",
"2986L",
},
{
+ USB_VENDOR_ZYXEL, USB_PRODUCT_ZYXEL_OMNI56K,
+ 0,
+ "ZyXEL Communication",
+ "Omni 56K Plus",
+ },
+ {
USB_VENDOR_ZYXEL, USB_PRODUCT_ZYXEL_980N,
+ 0,
+ "ZyXEL Communication",
"Scorpion-980N",
},
- { 0, 0, NULL }
-};
-
-const struct usb_known_vendor usb_known_vendors[] = {
{
- USB_VENDOR_AOX,
+ USB_VENDOR_AOX, 0,
+ USB_KNOWNDEV_NOPROD,
"AOX",
+ NULL,
},
{
- USB_VENDOR_ATMEL,
+ USB_VENDOR_ATMEL, 0,
+ USB_KNOWNDEV_NOPROD,
"Atmel",
+ NULL,
+ },
+ {
+ USB_VENDOR_MITSUMI, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Mitsumi",
+ NULL,
},
{
- USB_VENDOR_HP,
+ USB_VENDOR_HP, 0,
+ USB_KNOWNDEV_NOPROD,
"Hewlett Packard",
+ NULL,
},
{
- USB_VENDOR_ADAPTEC,
+ USB_VENDOR_ADAPTEC, 0,
+ USB_KNOWNDEV_NOPROD,
"Adaptec",
+ NULL,
},
{
- USB_VENDOR_NATIONAL,
+ USB_VENDOR_NATIONAL, 0,
+ USB_KNOWNDEV_NOPROD,
"National Semiconductor",
+ NULL,
},
{
- USB_VENDOR_ACERLABS,
+ USB_VENDOR_ACERLABS, 0,
+ USB_KNOWNDEV_NOPROD,
"Acer Labs",
+ NULL,
},
{
- USB_VENDOR_FTDI,
+ USB_VENDOR_FTDI, 0,
+ USB_KNOWNDEV_NOPROD,
"Future Technology Devices",
+ NULL,
},
{
- USB_VENDOR_NEC,
+ USB_VENDOR_NEC, 0,
+ USB_KNOWNDEV_NOPROD,
"NEC",
+ NULL,
},
{
- USB_VENDOR_KODAK,
+ USB_VENDOR_KODAK, 0,
+ USB_KNOWNDEV_NOPROD,
"Eastman Kodak",
+ NULL,
},
{
- USB_VENDOR_MELCO,
+ USB_VENDOR_MELCO, 0,
+ USB_KNOWNDEV_NOPROD,
"Melco",
+ NULL,
},
{
- USB_VENDOR_CREATIVELABS,
+ USB_VENDOR_CREATIVELABS, 0,
+ USB_KNOWNDEV_NOPROD,
"Creative Labs",
+ NULL,
},
{
- USB_VENDOR_ADI,
+ USB_VENDOR_ADI, 0,
+ USB_KNOWNDEV_NOPROD,
"ADI Systems",
+ NULL,
},
{
- USB_VENDOR_CATC,
+ USB_VENDOR_CATC, 0,
+ USB_KNOWNDEV_NOPROD,
"Computer Access Technology",
+ NULL,
},
{
- USB_VENDOR_GRAVIS,
+ USB_VENDOR_GRAVIS, 0,
+ USB_KNOWNDEV_NOPROD,
"Advanced Gravis Computer",
+ NULL,
},
{
- USB_VENDOR_SUN,
+ USB_VENDOR_SUN, 0,
+ USB_KNOWNDEV_NOPROD,
"Sun Microsystems",
+ NULL,
+ },
+ {
+ USB_VENDOR_TAUGA, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Taugagreining HF",
+ NULL,
},
{
- USB_VENDOR_AMD,
+ USB_VENDOR_AMD, 0,
+ USB_KNOWNDEV_NOPROD,
"Advanced Micro Devices",
+ NULL,
},
{
- USB_VENDOR_LEXMARK,
+ USB_VENDOR_LEXMARK, 0,
+ USB_KNOWNDEV_NOPROD,
"Lexmark International",
+ NULL,
},
{
- USB_VENDOR_NANAO,
+ USB_VENDOR_NANAO, 0,
+ USB_KNOWNDEV_NOPROD,
"NANAO",
+ NULL,
},
{
- USB_VENDOR_ALPS,
+ USB_VENDOR_ALPS, 0,
+ USB_KNOWNDEV_NOPROD,
"Alps Electric",
+ NULL,
},
{
- USB_VENDOR_THRUST,
+ USB_VENDOR_THRUST, 0,
+ USB_KNOWNDEV_NOPROD,
"Thrustmaster",
+ NULL,
},
{
- USB_VENDOR_TI,
+ USB_VENDOR_TI, 0,
+ USB_KNOWNDEV_NOPROD,
"Texas Instruments",
+ NULL,
},
{
- USB_VENDOR_ANALOGDEVICES,
+ USB_VENDOR_ANALOGDEVICES, 0,
+ USB_KNOWNDEV_NOPROD,
"Analog Devices",
+ NULL,
},
{
- USB_VENDOR_KYE,
+ USB_VENDOR_KYE, 0,
+ USB_KNOWNDEV_NOPROD,
"KYE Systems",
+ NULL,
},
{
- USB_VENDOR_DIAMOND2,
+ USB_VENDOR_DIAMOND2, 0,
+ USB_KNOWNDEV_NOPROD,
"Diamond (Supra)",
+ NULL,
},
{
- USB_VENDOR_MICROSOFT,
+ USB_VENDOR_MICROSOFT, 0,
+ USB_KNOWNDEV_NOPROD,
"Microsoft",
+ NULL,
},
{
- USB_VENDOR_PRIMAX,
+ USB_VENDOR_PRIMAX, 0,
+ USB_KNOWNDEV_NOPROD,
"Primax Electronics",
+ NULL,
},
{
- USB_VENDOR_AMP,
+ USB_VENDOR_AMP, 0,
+ USB_KNOWNDEV_NOPROD,
"AMP",
+ NULL,
},
{
- USB_VENDOR_CHERRY,
+ USB_VENDOR_CHERRY, 0,
+ USB_KNOWNDEV_NOPROD,
"Cherry Mikroschalter",
+ NULL,
},
{
- USB_VENDOR_MEGATRENDS,
+ USB_VENDOR_MEGATRENDS, 0,
+ USB_KNOWNDEV_NOPROD,
"American Megatrends",
+ NULL,
},
{
- USB_VENDOR_LOGITECH,
+ USB_VENDOR_LOGITECH, 0,
+ USB_KNOWNDEV_NOPROD,
"Logitech",
+ NULL,
},
{
- USB_VENDOR_BTC,
+ USB_VENDOR_BTC, 0,
+ USB_KNOWNDEV_NOPROD,
"Behavior Tech. Computer",
+ NULL,
},
{
- USB_VENDOR_PHILIPS,
+ USB_VENDOR_PHILIPS, 0,
+ USB_KNOWNDEV_NOPROD,
"Philips",
+ NULL,
},
{
- USB_VENDOR_CONNECTIX,
+ USB_VENDOR_CONNECTIX, 0,
+ USB_KNOWNDEV_NOPROD,
"Connectix",
+ NULL,
},
{
- USB_VENDOR_KENSINGTON,
+ USB_VENDOR_KENSINGTON, 0,
+ USB_KNOWNDEV_NOPROD,
"Kensington",
+ NULL,
},
{
- USB_VENDOR_LUCENT,
+ USB_VENDOR_LUCENT, 0,
+ USB_KNOWNDEV_NOPROD,
"Lucent",
+ NULL,
},
{
- USB_VENDOR_STMICRO,
+ USB_VENDOR_STMICRO, 0,
+ USB_KNOWNDEV_NOPROD,
"STMicroelectronics",
+ NULL,
},
{
- USB_VENDOR_YAMAHA,
+ USB_VENDOR_YAMAHA, 0,
+ USB_KNOWNDEV_NOPROD,
"YAMAHA",
+ NULL,
},
{
- USB_VENDOR_COMPAQ,
+ USB_VENDOR_COMPAQ, 0,
+ USB_KNOWNDEV_NOPROD,
"Compaq",
+ NULL,
},
{
- USB_VENDOR_ACERP,
+ USB_VENDOR_ACERP, 0,
+ USB_KNOWNDEV_NOPROD,
"Acer Peripherals",
+ NULL,
},
{
- USB_VENDOR_VISIONEER,
+ USB_VENDOR_VISIONEER, 0,
+ USB_KNOWNDEV_NOPROD,
"Visioneer",
+ NULL,
},
{
- USB_VENDOR_CANON,
+ USB_VENDOR_CANON, 0,
+ USB_KNOWNDEV_NOPROD,
"Canon",
+ NULL,
},
{
- USB_VENDOR_NIKON,
+ USB_VENDOR_NIKON, 0,
+ USB_KNOWNDEV_NOPROD,
"Nikon",
+ NULL,
},
{
- USB_VENDOR_IBM,
+ USB_VENDOR_IBM, 0,
+ USB_KNOWNDEV_NOPROD,
"IBM",
+ NULL,
},
{
- USB_VENDOR_CYPRESS,
+ USB_VENDOR_CYPRESS, 0,
+ USB_KNOWNDEV_NOPROD,
"Cypress Semiconductor",
+ NULL,
},
{
- USB_VENDOR_EPSON,
+ USB_VENDOR_EPSON, 0,
+ USB_KNOWNDEV_NOPROD,
"Seiko Epson",
+ NULL,
},
{
- USB_VENDOR_RAINBOW,
+ USB_VENDOR_RAINBOW, 0,
+ USB_KNOWNDEV_NOPROD,
"Rainbow Technologies",
+ NULL,
},
{
- USB_VENDOR_IODATA,
+ USB_VENDOR_IODATA, 0,
+ USB_KNOWNDEV_NOPROD,
"I/O Data",
+ NULL,
},
{
- USB_VENDOR_3COMUSR,
+ USB_VENDOR_TDK, 0,
+ USB_KNOWNDEV_NOPROD,
+ "TDK",
+ NULL,
+ },
+ {
+ USB_VENDOR_3COMUSR, 0,
+ USB_KNOWNDEV_NOPROD,
"U.S. Robotics",
+ NULL,
},
{
- USB_VENDOR_METHODE,
+ USB_VENDOR_METHODE, 0,
+ USB_KNOWNDEV_NOPROD,
"Methode Electronics Far East",
+ NULL,
},
{
- USB_VENDOR_MAXISWITCH,
+ USB_VENDOR_MAXISWITCH, 0,
+ USB_KNOWNDEV_NOPROD,
"Maxi Switch",
+ NULL,
},
{
- USB_VENDOR_LOCKHEEDMER,
+ USB_VENDOR_LOCKHEEDMER, 0,
+ USB_KNOWNDEV_NOPROD,
"Lockheed Martin Energy Research",
+ NULL,
},
{
- USB_VENDOR_FUJITSU,
+ USB_VENDOR_FUJITSU, 0,
+ USB_KNOWNDEV_NOPROD,
"Fujitsu",
+ NULL,
},
{
- USB_VENDOR_TOSHIBAAM,
+ USB_VENDOR_TOSHIBAAM, 0,
+ USB_KNOWNDEV_NOPROD,
"Toshiba America Electronic Components",
+ NULL,
},
{
- USB_VENDOR_MICROMACRO,
+ USB_VENDOR_MICROMACRO, 0,
+ USB_KNOWNDEV_NOPROD,
"Micro Macro Technologies",
+ NULL,
},
{
- USB_VENDOR_KONICA,
+ USB_VENDOR_KONICA, 0,
+ USB_KNOWNDEV_NOPROD,
"Konica",
+ NULL,
},
{
- USB_VENDOR_LITEON,
+ USB_VENDOR_LITEON, 0,
+ USB_KNOWNDEV_NOPROD,
"Lite-On Technology",
+ NULL,
},
{
- USB_VENDOR_FUJIPHOTO,
+ USB_VENDOR_FUJIPHOTO, 0,
+ USB_KNOWNDEV_NOPROD,
"Fuji Photo Film",
+ NULL,
},
{
- USB_VENDOR_PHILIPSSEMI,
+ USB_VENDOR_PHILIPSSEMI, 0,
+ USB_KNOWNDEV_NOPROD,
"Philips Semiconductors",
+ NULL,
},
{
- USB_VENDOR_TATUNG,
+ USB_VENDOR_TATUNG, 0,
+ USB_KNOWNDEV_NOPROD,
"Tatung Co. Of America",
+ NULL,
},
{
- USB_VENDOR_SCANLOGIC,
+ USB_VENDOR_SCANLOGIC, 0,
+ USB_KNOWNDEV_NOPROD,
"ScanLogic",
+ NULL,
},
{
- USB_VENDOR_MYSON,
+ USB_VENDOR_MYSON, 0,
+ USB_KNOWNDEV_NOPROD,
"Myson Technology",
+ NULL,
},
{
- USB_VENDOR_DIGI2,
+ USB_VENDOR_DIGI2, 0,
+ USB_KNOWNDEV_NOPROD,
"Digi",
+ NULL,
},
{
- USB_VENDOR_ITTCANON,
+ USB_VENDOR_ITTCANON, 0,
+ USB_KNOWNDEV_NOPROD,
"ITT Canon",
+ NULL,
},
{
- USB_VENDOR_ALTEC,
+ USB_VENDOR_ALTEC, 0,
+ USB_KNOWNDEV_NOPROD,
"Altec Lansing",
+ NULL,
},
{
- USB_VENDOR_SHUTTLE,
+ USB_VENDOR_PANASONIC, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Panasonic (Matsushita)",
+ NULL,
+ },
+ {
+ USB_VENDOR_SHUTTLE, 0,
+ USB_KNOWNDEV_NOPROD,
"Shuttle Technology",
+ NULL,
},
{
- USB_VENDOR_ANNABOOKS,
+ USB_VENDOR_ANNABOOKS, 0,
+ USB_KNOWNDEV_NOPROD,
"Annabooks",
+ NULL,
},
{
- USB_VENDOR_CHICONY,
+ USB_VENDOR_CHICONY, 0,
+ USB_KNOWNDEV_NOPROD,
"Chicony Electronics",
+ NULL,
},
{
- USB_VENDOR_BROTHER,
+ USB_VENDOR_BROTHER, 0,
+ USB_KNOWNDEV_NOPROD,
"Brother Industries",
+ NULL,
},
{
- USB_VENDOR_DALLAS,
+ USB_VENDOR_DALLAS, 0,
+ USB_KNOWNDEV_NOPROD,
"Dallas Semiconductor",
+ NULL,
},
{
- USB_VENDOR_ACER,
+ USB_VENDOR_ACER, 0,
+ USB_KNOWNDEV_NOPROD,
"Acer",
+ NULL,
},
{
- USB_VENDOR_3COM,
+ USB_VENDOR_3COM, 0,
+ USB_KNOWNDEV_NOPROD,
"3Com",
+ NULL,
},
{
- USB_VENDOR_AZTECH,
+ USB_VENDOR_AZTECH, 0,
+ USB_KNOWNDEV_NOPROD,
"Aztech Systems",
+ NULL,
},
{
- USB_VENDOR_BELKIN,
+ USB_VENDOR_BELKIN, 0,
+ USB_KNOWNDEV_NOPROD,
"Belkin Components",
+ NULL,
},
{
- USB_VENDOR_KAWATSU,
+ USB_VENDOR_KAWATSU, 0,
+ USB_KNOWNDEV_NOPROD,
"Kawatsu Semiconductor",
+ NULL,
},
{
- USB_VENDOR_APC,
+ USB_VENDOR_APC, 0,
+ USB_KNOWNDEV_NOPROD,
"American Power Conversion",
+ NULL,
},
{
- USB_VENDOR_CONNECTEK,
+ USB_VENDOR_CONNECTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"Advanced Connectek USA",
+ NULL,
},
{
- USB_VENDOR_NETCHIP,
+ USB_VENDOR_NETCHIP, 0,
+ USB_KNOWNDEV_NOPROD,
"NetChip Technology",
+ NULL,
},
{
- USB_VENDOR_ALTRA,
+ USB_VENDOR_ALTRA, 0,
+ USB_KNOWNDEV_NOPROD,
"ALTRA",
+ NULL,
},
{
- USB_VENDOR_ATI,
+ USB_VENDOR_ATI, 0,
+ USB_KNOWNDEV_NOPROD,
"ATI Technologies",
+ NULL,
},
{
- USB_VENDOR_AKS,
+ USB_VENDOR_AKS, 0,
+ USB_KNOWNDEV_NOPROD,
"Aladdin Knowledge Systems",
+ NULL,
},
{
- USB_VENDOR_UNIACCESS,
+ USB_VENDOR_UNIACCESS, 0,
+ USB_KNOWNDEV_NOPROD,
"Universal Access",
+ NULL,
+ },
+ {
+ USB_VENDOR_XIRLINK, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Xirlink",
+ NULL,
},
{
- USB_VENDOR_ANCHOR,
+ USB_VENDOR_ANCHOR, 0,
+ USB_KNOWNDEV_NOPROD,
"Anchor Chips",
+ NULL,
},
{
- USB_VENDOR_SONY,
+ USB_VENDOR_SONY, 0,
+ USB_KNOWNDEV_NOPROD,
"Sony",
+ NULL,
},
{
- USB_VENDOR_VISION,
+ USB_VENDOR_VISION, 0,
+ USB_KNOWNDEV_NOPROD,
"VLSI Vision",
+ NULL,
},
{
- USB_VENDOR_ASAHIKASEI,
+ USB_VENDOR_ASAHIKASEI, 0,
+ USB_KNOWNDEV_NOPROD,
"Asahi Kasei Microsystems",
+ NULL,
},
{
- USB_VENDOR_ATEN,
+ USB_VENDOR_ATEN, 0,
+ USB_KNOWNDEV_NOPROD,
"ATEN International",
+ NULL,
},
{
- USB_VENDOR_MUSTEK,
+ USB_VENDOR_MUSTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"Mustek Systems",
+ NULL,
},
{
- USB_VENDOR_TELEX,
+ USB_VENDOR_TELEX, 0,
+ USB_KNOWNDEV_NOPROD,
"Telex Communications",
+ NULL,
},
{
- USB_VENDOR_PERACOM,
+ USB_VENDOR_PERACOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Peracom Networks",
+ NULL,
},
{
- USB_VENDOR_ALCOR2,
+ USB_VENDOR_ALCOR2, 0,
+ USB_KNOWNDEV_NOPROD,
"Alcor Micro",
+ NULL,
},
{
- USB_VENDOR_WACOM,
+ USB_VENDOR_WACOM, 0,
+ USB_KNOWNDEV_NOPROD,
"WACOM",
+ NULL,
},
{
- USB_VENDOR_ETEK,
+ USB_VENDOR_ETEK, 0,
+ USB_KNOWNDEV_NOPROD,
"e-TEK Labs",
+ NULL,
},
{
- USB_VENDOR_EIZO,
+ USB_VENDOR_EIZO, 0,
+ USB_KNOWNDEV_NOPROD,
"EIZO",
+ NULL,
},
{
- USB_VENDOR_ELECOM,
+ USB_VENDOR_ELECOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Elecom",
+ NULL,
+ },
+ {
+ USB_VENDOR_HAUPPAUGE, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Hauppauge Computer Works",
+ NULL,
},
{
- USB_VENDOR_BAFO,
+ USB_VENDOR_BAFO, 0,
+ USB_KNOWNDEV_NOPROD,
"BAFO/Quality Computer Accessories",
+ NULL,
},
{
- USB_VENDOR_YEDATA,
+ USB_VENDOR_YEDATA, 0,
+ USB_KNOWNDEV_NOPROD,
"Y-E Data",
+ NULL,
},
{
- USB_VENDOR_AVM,
+ USB_VENDOR_AVM, 0,
+ USB_KNOWNDEV_NOPROD,
"AVM",
+ NULL,
},
{
- USB_VENDOR_QUICKSHOT,
+ USB_VENDOR_QUICKSHOT, 0,
+ USB_KNOWNDEV_NOPROD,
"Quickshot",
+ NULL,
},
{
- USB_VENDOR_ROLAND,
+ USB_VENDOR_ROLAND, 0,
+ USB_KNOWNDEV_NOPROD,
"Roland",
+ NULL,
},
{
- USB_VENDOR_ROCKFIRE,
+ USB_VENDOR_ROCKFIRE, 0,
+ USB_KNOWNDEV_NOPROD,
"Rockfire",
+ NULL,
},
{
- USB_VENDOR_ZYXEL,
+ USB_VENDOR_ZYXEL, 0,
+ USB_KNOWNDEV_NOPROD,
"ZyXEL Communication",
+ NULL,
},
{
- USB_VENDOR_ALCOR,
+ USB_VENDOR_ALCOR, 0,
+ USB_KNOWNDEV_NOPROD,
"Alcor Micro",
+ NULL,
},
{
- USB_VENDOR_IOMEGA,
+ USB_VENDOR_IOMEGA, 0,
+ USB_KNOWNDEV_NOPROD,
"Iomega",
+ NULL,
},
{
- USB_VENDOR_ATREND,
+ USB_VENDOR_ATREND, 0,
+ USB_KNOWNDEV_NOPROD,
"A-Trend Technology",
+ NULL,
},
{
- USB_VENDOR_AID,
+ USB_VENDOR_AID, 0,
+ USB_KNOWNDEV_NOPROD,
"Advanced Input Devices",
+ NULL,
},
{
- USB_VENDOR_LACIE,
+ USB_VENDOR_LACIE, 0,
+ USB_KNOWNDEV_NOPROD,
"LaCie",
+ NULL,
},
{
- USB_VENDOR_OMNIVISION,
+ USB_VENDOR_OMNIVISION, 0,
+ USB_KNOWNDEV_NOPROD,
"OmniVision",
+ NULL,
},
{
- USB_VENDOR_INSYSTEM,
+ USB_VENDOR_INSYSTEM, 0,
+ USB_KNOWNDEV_NOPROD,
"In-System Design",
+ NULL,
},
{
- USB_VENDOR_APPLE,
+ USB_VENDOR_APPLE, 0,
+ USB_KNOWNDEV_NOPROD,
"Apple Computer",
+ NULL,
},
{
- USB_VENDOR_DIGI,
+ USB_VENDOR_DIGI, 0,
+ USB_KNOWNDEV_NOPROD,
"Digi International",
+ NULL,
},
{
- USB_VENDOR_QTRONIX,
+ USB_VENDOR_QTRONIX, 0,
+ USB_KNOWNDEV_NOPROD,
"Qtronix",
+ NULL,
},
{
- USB_VENDOR_ELSA,
+ USB_VENDOR_ELSA, 0,
+ USB_KNOWNDEV_NOPROD,
"ELSA",
+ NULL,
},
{
- USB_VENDOR_BRAINBOXES,
+ USB_VENDOR_BRAINBOXES, 0,
+ USB_KNOWNDEV_NOPROD,
"Brainboxes Limited",
+ NULL,
},
{
- USB_VENDOR_AXIOHM,
+ USB_VENDOR_AXIOHM, 0,
+ USB_KNOWNDEV_NOPROD,
"Axiohm Transaction Solutions",
+ NULL,
},
{
- USB_VENDOR_MICROTEK,
+ USB_VENDOR_MICROTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"Microtek",
+ NULL,
},
{
- USB_VENDOR_SYMBOL,
+ USB_VENDOR_LEXAR, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Lexar Media",
+ NULL,
+ },
+ {
+ USB_VENDOR_SYMBOL, 0,
+ USB_KNOWNDEV_NOPROD,
"Symbol Technologies",
+ NULL,
},
{
- USB_VENDOR_GENESYS,
+ USB_VENDOR_GENESYS, 0,
+ USB_KNOWNDEV_NOPROD,
"Genesys Logic",
+ NULL,
},
{
- USB_VENDOR_FUJI,
+ USB_VENDOR_FUJI, 0,
+ USB_KNOWNDEV_NOPROD,
"Fuji Electric",
+ NULL,
},
{
- USB_VENDOR_KEITHLEY,
+ USB_VENDOR_KEITHLEY, 0,
+ USB_KNOWNDEV_NOPROD,
"Keithley Instruments",
+ NULL,
},
{
- USB_VENDOR_EIZONANAO,
+ USB_VENDOR_EIZONANAO, 0,
+ USB_KNOWNDEV_NOPROD,
"EIZO Nanao",
+ NULL,
},
{
- USB_VENDOR_KLSI,
+ USB_VENDOR_KLSI, 0,
+ USB_KNOWNDEV_NOPROD,
"Kawasaki LSI",
+ NULL,
},
{
- USB_VENDOR_FFC,
+ USB_VENDOR_FFC, 0,
+ USB_KNOWNDEV_NOPROD,
"FFC Limited",
+ NULL,
},
{
- USB_VENDOR_ANKO,
+ USB_VENDOR_ANKO, 0,
+ USB_KNOWNDEV_NOPROD,
"Anko Electronic",
+ NULL,
},
{
- USB_VENDOR_PIENGINEERING,
+ USB_VENDOR_PIENGINEERING, 0,
+ USB_KNOWNDEV_NOPROD,
"P.I. Engineering",
+ NULL,
},
{
- USB_VENDOR_AOC,
+ USB_VENDOR_AOC, 0,
+ USB_KNOWNDEV_NOPROD,
"AOC International",
+ NULL,
},
{
- USB_VENDOR_CHIC,
+ USB_VENDOR_CHIC, 0,
+ USB_KNOWNDEV_NOPROD,
"Chic Technology",
+ NULL,
},
{
- USB_VENDOR_BARCO,
+ USB_VENDOR_BARCO, 0,
+ USB_KNOWNDEV_NOPROD,
"Barco Display Systems",
+ NULL,
},
{
- USB_VENDOR_BRIDGE,
+ USB_VENDOR_BRIDGE, 0,
+ USB_KNOWNDEV_NOPROD,
"Bridge Information",
+ NULL,
},
{
- USB_VENDOR_SOLIDYEAR,
+ USB_VENDOR_SOLIDYEAR, 0,
+ USB_KNOWNDEV_NOPROD,
"Solid Year",
+ NULL,
},
{
- USB_VENDOR_BIORAD,
+ USB_VENDOR_BIORAD, 0,
+ USB_KNOWNDEV_NOPROD,
"Bio-Rad Laboratories",
+ NULL,
},
{
- USB_VENDOR_MACALLY,
+ USB_VENDOR_MACALLY, 0,
+ USB_KNOWNDEV_NOPROD,
"Macally",
+ NULL,
},
{
- USB_VENDOR_ACTLABS,
+ USB_VENDOR_ACTLABS, 0,
+ USB_KNOWNDEV_NOPROD,
"Act Labs",
+ NULL,
},
{
- USB_VENDOR_ALARIS,
+ USB_VENDOR_ALARIS, 0,
+ USB_KNOWNDEV_NOPROD,
"Alaris",
+ NULL,
},
{
- USB_VENDOR_APEX,
+ USB_VENDOR_APEX, 0,
+ USB_KNOWNDEV_NOPROD,
"Apex",
+ NULL,
},
{
- USB_VENDOR_AVISION,
+ USB_VENDOR_AVISION, 0,
+ USB_KNOWNDEV_NOPROD,
"Avision",
+ NULL,
},
{
- USB_VENDOR_TEAC,
+ USB_VENDOR_TEAC, 0,
+ USB_KNOWNDEV_NOPROD,
"TEAC",
+ NULL,
},
{
- USB_VENDOR_LINKSYS,
+ USB_VENDOR_LINKSYS, 0,
+ USB_KNOWNDEV_NOPROD,
"Linksys",
+ NULL,
},
{
- USB_VENDOR_ACERSA,
+ USB_VENDOR_ACERSA, 0,
+ USB_KNOWNDEV_NOPROD,
"Acer Semiconductor America",
+ NULL,
},
{
- USB_VENDOR_AIWA,
+ USB_VENDOR_AIWA, 0,
+ USB_KNOWNDEV_NOPROD,
"Aiwa",
+ NULL,
},
{
- USB_VENDOR_ACARD,
+ USB_VENDOR_ACARD, 0,
+ USB_KNOWNDEV_NOPROD,
"ACARD Technology",
+ NULL,
},
{
- USB_VENDOR_PROLIFIC,
+ USB_VENDOR_PROLIFIC, 0,
+ USB_KNOWNDEV_NOPROD,
"Prolific Technology",
+ NULL,
},
{
- USB_VENDOR_ADVANCELOGIC,
+ USB_VENDOR_ADVANCELOGIC, 0,
+ USB_KNOWNDEV_NOPROD,
"Avance Logic",
+ NULL,
+ },
+ {
+ USB_VENDOR_HAGIWARA, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Hagiwara Sys-Com",
+ NULL,
},
{
- USB_VENDOR_CTX,
+ USB_VENDOR_CTX, 0,
+ USB_KNOWNDEV_NOPROD,
"Chuntex",
+ NULL,
},
{
- USB_VENDOR_ASKEY,
+ USB_VENDOR_ASKEY, 0,
+ USB_KNOWNDEV_NOPROD,
"Askey Computer",
+ NULL,
},
{
- USB_VENDOR_ALCATELT,
+ USB_VENDOR_ALCATELT, 0,
+ USB_KNOWNDEV_NOPROD,
"Alcatel Telecom",
+ NULL,
},
{
- USB_VENDOR_AGFA,
+ USB_VENDOR_AGFA, 0,
+ USB_KNOWNDEV_NOPROD,
"AGFA-Gevaert NV",
+ NULL,
},
{
- USB_VENDOR_ASIAMD,
+ USB_VENDOR_ASIAMD, 0,
+ USB_KNOWNDEV_NOPROD,
"Asia Microelectronic Development",
+ NULL,
},
{
- USB_VENDOR_BIZLINK,
+ USB_VENDOR_BIZLINK, 0,
+ USB_KNOWNDEV_NOPROD,
"Bizlink International",
+ NULL,
+ },
+ {
+ USB_VENDOR_KEYSPAN, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Keyspan",
+ NULL,
},
{
- USB_VENDOR_AASHIMA,
+ USB_VENDOR_AASHIMA, 0,
+ USB_KNOWNDEV_NOPROD,
"Aashima Technology B.V.",
+ NULL,
},
{
- USB_VENDOR_MULTITECH,
+ USB_VENDOR_MULTITECH, 0,
+ USB_KNOWNDEV_NOPROD,
"MultiTech",
+ NULL,
},
{
- USB_VENDOR_ADS,
+ USB_VENDOR_ADS, 0,
+ USB_KNOWNDEV_NOPROD,
"ADS Technologies",
+ NULL,
},
{
- USB_VENDOR_ALCATELM,
+ USB_VENDOR_ALCATELM, 0,
+ USB_KNOWNDEV_NOPROD,
"Alcatel Microelectronics",
+ NULL,
},
{
- USB_VENDOR_SIRIUS,
+ USB_VENDOR_SIRIUS, 0,
+ USB_KNOWNDEV_NOPROD,
"Sirius Technologies",
+ NULL,
},
{
- USB_VENDOR_BOSTON,
+ USB_VENDOR_BOSTON, 0,
+ USB_KNOWNDEV_NOPROD,
"Boston Acoustics",
+ NULL,
},
{
- USB_VENDOR_SMC,
+ USB_VENDOR_SMC, 0,
+ USB_KNOWNDEV_NOPROD,
"Standard Microsystems",
+ NULL,
},
{
- USB_VENDOR_MCT,
+ USB_VENDOR_PUTERCOM, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Putercom",
+ NULL,
+ },
+ {
+ USB_VENDOR_MCT, 0,
+ USB_KNOWNDEV_NOPROD,
"MCT",
+ NULL,
},
{
- USB_VENDOR_AUREAL,
+ USB_VENDOR_DIGITALSTREAM, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Digital Stream",
+ NULL,
+ },
+ {
+ USB_VENDOR_AUREAL, 0,
+ USB_KNOWNDEV_NOPROD,
"Aureal Semiconductor",
+ NULL,
},
{
- USB_VENDOR_MIDIMAN,
+ USB_VENDOR_MIDIMAN, 0,
+ USB_KNOWNDEV_NOPROD,
"Midiman",
+ NULL,
},
{
- USB_VENDOR_GRIFFIN,
+ USB_VENDOR_GRIFFIN, 0,
+ USB_KNOWNDEV_NOPROD,
"Griffin Technology",
+ NULL,
},
{
- USB_VENDOR_SANDISK,
+ USB_VENDOR_SANDISK, 0,
+ USB_KNOWNDEV_NOPROD,
"SanDisk",
+ NULL,
},
{
- USB_VENDOR_BRIMAX,
+ USB_VENDOR_BRIMAX, 0,
+ USB_KNOWNDEV_NOPROD,
"Brimax",
+ NULL,
},
{
- USB_VENDOR_AXIS,
+ USB_VENDOR_AXIS, 0,
+ USB_KNOWNDEV_NOPROD,
"Axis Communications AB",
+ NULL,
},
{
- USB_VENDOR_ABL,
+ USB_VENDOR_ABL, 0,
+ USB_KNOWNDEV_NOPROD,
"ABL Electronics",
+ NULL,
},
{
- USB_VENDOR_ALFADATA,
+ USB_VENDOR_ALFADATA, 0,
+ USB_KNOWNDEV_NOPROD,
"Alfadata Computer",
+ NULL,
},
{
- USB_VENDOR_NATIONALTECH,
+ USB_VENDOR_NATIONALTECH, 0,
+ USB_KNOWNDEV_NOPROD,
"National Technical Systems",
+ NULL,
},
{
- USB_VENDOR_ONNTO,
+ USB_VENDOR_ONNTO, 0,
+ USB_KNOWNDEV_NOPROD,
"Onnto",
+ NULL,
},
{
- USB_VENDOR_BE,
+ USB_VENDOR_BE, 0,
+ USB_KNOWNDEV_NOPROD,
"Be",
+ NULL,
},
{
- USB_VENDOR_ADMTEK,
+ USB_VENDOR_ADMTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"ADMtek",
+ NULL,
},
{
- USB_VENDOR_COREGA,
+ USB_VENDOR_COREGA, 0,
+ USB_KNOWNDEV_NOPROD,
"Corega",
+ NULL,
},
{
- USB_VENDOR_FREECOM,
+ USB_VENDOR_FREECOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Freecom",
+ NULL,
},
{
- USB_VENDOR_MICROTECH,
+ USB_VENDOR_MICROTECH, 0,
+ USB_KNOWNDEV_NOPROD,
"Microtech",
+ NULL,
},
{
- USB_VENDOR_ABOCOM,
+ USB_VENDOR_OLYMPUS, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Olympus",
+ NULL,
+ },
+ {
+ USB_VENDOR_ABOCOM, 0,
+ USB_KNOWNDEV_NOPROD,
"AboCom Systems",
+ NULL,
},
{
- USB_VENDOR_KEISOKUGIKEN,
+ USB_VENDOR_KEISOKUGIKEN, 0,
+ USB_KNOWNDEV_NOPROD,
"Keisokugiken",
+ NULL,
},
{
- USB_VENDOR_APG,
+ USB_VENDOR_APG, 0,
+ USB_KNOWNDEV_NOPROD,
"APG Cash Drawer",
+ NULL,
},
{
- USB_VENDOR_BUG,
+ USB_VENDOR_BUG, 0,
+ USB_KNOWNDEV_NOPROD,
"B.U.G.",
+ NULL,
},
{
- USB_VENDOR_ALLIEDTELESYN,
+ USB_VENDOR_ALLIEDTELESYN, 0,
+ USB_KNOWNDEV_NOPROD,
"Allied Telesyn International",
+ NULL,
},
{
- USB_VENDOR_AVERMEDIA,
+ USB_VENDOR_AVERMEDIA, 0,
+ USB_KNOWNDEV_NOPROD,
"AVerMedia Technologies",
+ NULL,
},
{
- USB_VENDOR_SIIG,
+ USB_VENDOR_SIIG, 0,
+ USB_KNOWNDEV_NOPROD,
"SIIG",
+ NULL,
+ },
+ {
+ USB_VENDOR_CASIO, 0,
+ USB_KNOWNDEV_NOPROD,
+ "CASIO",
+ NULL,
},
{
- USB_VENDOR_APTIO,
+ USB_VENDOR_APTIO, 0,
+ USB_KNOWNDEV_NOPROD,
"Aptio Products",
+ NULL,
},
{
- USB_VENDOR_ARASAN,
+ USB_VENDOR_ARASAN, 0,
+ USB_KNOWNDEV_NOPROD,
"Arasan Chip Systems",
+ NULL,
},
{
- USB_VENDOR_ALLIEDCABLE,
+ USB_VENDOR_ALLIEDCABLE, 0,
+ USB_KNOWNDEV_NOPROD,
"Allied Cable",
+ NULL,
},
{
- USB_VENDOR_STSN,
+ USB_VENDOR_STSN, 0,
+ USB_KNOWNDEV_NOPROD,
"STSN",
+ NULL,
},
{
- USB_VENDOR_ZOOM,
+ USB_VENDOR_ZOOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Zoom Telephonics",
+ NULL,
},
{
- USB_VENDOR_BROADLOGIC,
+ USB_VENDOR_BROADLOGIC, 0,
+ USB_KNOWNDEV_NOPROD,
"BroadLogic",
+ NULL,
},
{
- USB_VENDOR_HANDSPRING,
+ USB_VENDOR_HANDSPRING, 0,
+ USB_KNOWNDEV_NOPROD,
"Handspring",
+ NULL,
},
{
- USB_VENDOR_ACTIONSTAR,
+ USB_VENDOR_ACTIONSTAR, 0,
+ USB_KNOWNDEV_NOPROD,
"Action Star Enterprise",
+ NULL,
},
{
- USB_VENDOR_PALM,
+ USB_VENDOR_PALM, 0,
+ USB_KNOWNDEV_NOPROD,
"Palm Computing",
+ NULL,
},
{
- USB_VENDOR_ACCTON,
+ USB_VENDOR_ACCTON, 0,
+ USB_KNOWNDEV_NOPROD,
"Accton Technology",
+ NULL,
},
{
- USB_VENDOR_DIAMOND,
+ USB_VENDOR_DIAMOND, 0,
+ USB_KNOWNDEV_NOPROD,
"Diamond",
+ NULL,
},
{
- USB_VENDOR_NETGEAR,
+ USB_VENDOR_NETGEAR, 0,
+ USB_KNOWNDEV_NOPROD,
"BayNETGEAR",
+ NULL,
},
{
- USB_VENDOR_ACTIVEWIRE,
+ USB_VENDOR_ACTIVEWIRE, 0,
+ USB_KNOWNDEV_NOPROD,
"ActiveWire",
+ NULL,
},
{
- USB_VENDOR_METRICOM,
+ USB_VENDOR_PORTGEAR, 0,
+ USB_KNOWNDEV_NOPROD,
+ "PortGear",
+ NULL,
+ },
+ {
+ USB_VENDOR_METRICOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Metricom",
+ NULL,
},
{
- USB_VENDOR_ADESSOKBTEK,
+ USB_VENDOR_ADESSOKBTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"ADESSO/Kbtek America",
+ NULL,
},
{
- USB_VENDOR_APT,
+ USB_VENDOR_JATON, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Jaton",
+ NULL,
+ },
+ {
+ USB_VENDOR_APT, 0,
+ USB_KNOWNDEV_NOPROD,
"APT Technologies",
+ NULL,
},
{
- USB_VENDOR_BOCARESEARCH,
+ USB_VENDOR_BOCARESEARCH, 0,
+ USB_KNOWNDEV_NOPROD,
"Boca Research",
+ NULL,
},
{
- USB_VENDOR_ANDREA,
+ USB_VENDOR_ANDREA, 0,
+ USB_KNOWNDEV_NOPROD,
"Andrea Electronics",
+ NULL,
},
{
- USB_VENDOR_BURRBROWN,
+ USB_VENDOR_BURRBROWN, 0,
+ USB_KNOWNDEV_NOPROD,
"Burr-Brown Japan",
+ NULL,
},
{
- USB_VENDOR_2WIRE,
+ USB_VENDOR_2WIRE, 0,
+ USB_KNOWNDEV_NOPROD,
"2Wire, Inc",
+ NULL,
},
{
- USB_VENDOR_AIPTEK,
+ USB_VENDOR_AIPTEK, 0,
+ USB_KNOWNDEV_NOPROD,
"AIPTEK International",
+ NULL,
},
{
- USB_VENDOR_SMARTBRIDGES,
+ USB_VENDOR_SMARTBRIDGES, 0,
+ USB_KNOWNDEV_NOPROD,
"SmartBridges",
+ NULL,
},
{
- USB_VENDOR_BILLIONTON,
+ USB_VENDOR_BILLIONTON, 0,
+ USB_KNOWNDEV_NOPROD,
"Billionton Systems",
+ NULL,
},
{
- USB_VENDOR_EXTENDED,
+ USB_VENDOR_EXTENDED, 0,
+ USB_KNOWNDEV_NOPROD,
"Extended Systems",
+ NULL,
+ },
+ {
+ USB_VENDOR_MSYSTEMS, 0,
+ USB_KNOWNDEV_NOPROD,
+ "M-Systems",
+ NULL,
},
{
- USB_VENDOR_AUTHENTEC,
+ USB_VENDOR_AUTHENTEC, 0,
+ USB_KNOWNDEV_NOPROD,
"AuthenTec",
+ NULL,
},
{
- USB_VENDOR_ALATION,
+ USB_VENDOR_ALATION, 0,
+ USB_KNOWNDEV_NOPROD,
"Alation Systems",
+ NULL,
},
{
- USB_VENDOR_BIOMETRIC,
+ USB_VENDOR_BIOMETRIC, 0,
+ USB_KNOWNDEV_NOPROD,
"American Biometric Company",
+ NULL,
},
{
- USB_VENDOR_YANO,
+ USB_VENDOR_YANO, 0,
+ USB_KNOWNDEV_NOPROD,
"Yano",
+ NULL,
},
{
- USB_VENDOR_KINGSTON,
+ USB_VENDOR_KINGSTON, 0,
+ USB_KNOWNDEV_NOPROD,
"Kingston Technology",
+ NULL,
},
{
- USB_VENDOR_BLUEWATER,
+ USB_VENDOR_BLUEWATER, 0,
+ USB_KNOWNDEV_NOPROD,
"BlueWater Systems",
+ NULL,
},
{
- USB_VENDOR_AGILENT,
+ USB_VENDOR_AGILENT, 0,
+ USB_KNOWNDEV_NOPROD,
"Agilent Technologies",
+ NULL,
+ },
+ {
+ USB_VENDOR_PORTSMITH, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Portsmith",
+ NULL,
},
{
- USB_VENDOR_ADIRONDACK,
+ USB_VENDOR_ADIRONDACK, 0,
+ USB_KNOWNDEV_NOPROD,
"Adirondack Wire & Cable",
+ NULL,
},
{
- USB_VENDOR_BECKHOFF,
+ USB_VENDOR_BECKHOFF, 0,
+ USB_KNOWNDEV_NOPROD,
"Beckhoff",
+ NULL,
},
{
- USB_VENDOR_ALTIUS,
+ USB_VENDOR_ALTIUS, 0,
+ USB_KNOWNDEV_NOPROD,
"Altius Solutions",
+ NULL,
},
{
- USB_VENDOR_ARRIS,
+ USB_VENDOR_ARRIS, 0,
+ USB_KNOWNDEV_NOPROD,
"Arris Interactive",
+ NULL,
},
{
- USB_VENDOR_ACTIVCARD,
+ USB_VENDOR_ACTIVCARD, 0,
+ USB_KNOWNDEV_NOPROD,
"ACTIVCARD",
+ NULL,
},
{
- USB_VENDOR_ACTISYS,
+ USB_VENDOR_ACTISYS, 0,
+ USB_KNOWNDEV_NOPROD,
"ACTiSYS",
+ NULL,
},
{
- USB_VENDOR_AFOURTECH,
+ USB_VENDOR_AFOURTECH, 0,
+ USB_KNOWNDEV_NOPROD,
"A-FOUR TECH",
+ NULL,
},
{
- USB_VENDOR_AIMEX,
+ USB_VENDOR_AIMEX, 0,
+ USB_KNOWNDEV_NOPROD,
"AIMEX",
+ NULL,
},
{
- USB_VENDOR_ADDONICS,
+ USB_VENDOR_ADDONICS, 0,
+ USB_KNOWNDEV_NOPROD,
"Addonics Technologies",
+ NULL,
},
{
- USB_VENDOR_AKAI,
+ USB_VENDOR_AKAI, 0,
+ USB_KNOWNDEV_NOPROD,
"AKAI professional M.I.",
+ NULL,
},
{
- USB_VENDOR_ARESCOM,
+ USB_VENDOR_ARESCOM, 0,
+ USB_KNOWNDEV_NOPROD,
"ARESCOM",
+ NULL,
},
{
- USB_VENDOR_BAY,
+ USB_VENDOR_BAY, 0,
+ USB_KNOWNDEV_NOPROD,
"Bay Associates",
+ NULL,
},
{
- USB_VENDOR_ALTERA,
+ USB_VENDOR_ALTERA, 0,
+ USB_KNOWNDEV_NOPROD,
"Altera",
+ NULL,
},
{
- USB_VENDOR_TREK,
+ USB_VENDOR_TREK, 0,
+ USB_KNOWNDEV_NOPROD,
"Trek Technology",
+ NULL,
},
{
- USB_VENDOR_ASAHIOPTICAL,
+ USB_VENDOR_ASAHIOPTICAL, 0,
+ USB_KNOWNDEV_NOPROD,
"Asahi Optical",
+ NULL,
},
{
- USB_VENDOR_BOCASYSTEMS,
+ USB_VENDOR_BOCASYSTEMS, 0,
+ USB_KNOWNDEV_NOPROD,
"Boca Systems",
+ NULL,
},
{
- USB_VENDOR_BROADCOM,
+ USB_VENDOR_BROADCOM, 0,
+ USB_KNOWNDEV_NOPROD,
"Broadcom",
+ NULL,
},
{
- USB_VENDOR_GEOCAST,
+ USB_VENDOR_GREENHOUSE, 0,
+ USB_KNOWNDEV_NOPROD,
+ "GREENHOUSE",
+ NULL,
+ },
+ {
+ USB_VENDOR_GEOCAST, 0,
+ USB_KNOWNDEV_NOPROD,
"Geocast Network Systems",
+ NULL,
},
{
- USB_VENDOR_TODOS,
+ USB_VENDOR_TODOS, 0,
+ USB_KNOWNDEV_NOPROD,
"Todos Data System",
+ NULL,
},
{
- USB_VENDOR_MOTOROLA,
+ USB_VENDOR_AGATE, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Agate Technologies",
+ NULL,
+ },
+ {
+ USB_VENDOR_MOTOROLA, 0,
+ USB_KNOWNDEV_NOPROD,
"Motorola",
+ NULL,
},
{
- USB_VENDOR_PLX,
+ USB_VENDOR_PLX, 0,
+ USB_KNOWNDEV_NOPROD,
"PLX",
+ NULL,
+ },
+ {
+ USB_VENDOR_ASANTE, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Asante",
+ NULL,
},
{
- USB_VENDOR_BELKIN2,
+ USB_VENDOR_BELKIN2, 0,
+ USB_KNOWNDEV_NOPROD,
"Belkin Components",
+ NULL,
+ },
+ {
+ USB_VENDOR_MOBILITY, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Mobility",
+ NULL,
+ },
+ {
+ USB_VENDOR_SHARK, 0,
+ USB_KNOWNDEV_NOPROD,
+ "Shark",
+ NULL,
},
{
- USB_VENDOR_SILICONPORTALS,
+ USB_VENDOR_SILICONPORTALS, 0,
+ USB_KNOWNDEV_NOPROD,
"Silicon Portals",
+ NULL,
},
{
- USB_VENDOR_SOHOWARE,
+ USB_VENDOR_SOHOWARE, 0,
+ USB_KNOWNDEV_NOPROD,
"SOHOware",
+ NULL,
},
{
- USB_VENDOR_UMAX,
+ USB_VENDOR_UMAX, 0,
+ USB_KNOWNDEV_NOPROD,
"UMAX Data Systems",
+ NULL,
},
{
- USB_VENDOR_INSIDEOUT,
+ USB_VENDOR_INSIDEOUT, 0,
+ USB_KNOWNDEV_NOPROD,
"Inside Out Networks",
+ NULL,
},
{
- USB_VENDOR_ENTREGA,
+ USB_VENDOR_ENTREGA, 0,
+ USB_KNOWNDEV_NOPROD,
"Entrega",
+ NULL,
},
{
- USB_VENDOR_ACTIONTEC,
+ USB_VENDOR_ACTIONTEC, 0,
+ USB_KNOWNDEV_NOPROD,
"Actiontec Electronics",
+ NULL,
},
{
- USB_VENDOR_DLINK,
+ USB_VENDOR_DLINK, 0,
+ USB_KNOWNDEV_NOPROD,
"D-Link",
+ NULL,
},
{
- USB_VENDOR_INTEL,
+ USB_VENDOR_INTEL, 0,
+ USB_KNOWNDEV_NOPROD,
"Intel",
+ NULL,
},
{
- USB_VENDOR_HP2,
+ USB_VENDOR_HP2, 0,
+ USB_KNOWNDEV_NOPROD,
"Hewlett Packard",
+ NULL,
},
- { 0, NULL }
+ { 0, 0, 0, NULL, NULL, }
};
diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h
index 9d28cff2e8b..c4e2382736f 100644
--- a/sys/dev/usb/usbdi.h
+++ b/sys/dev/usb/usbdi.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: usbdi.h,v 1.12 2001/05/03 02:20:34 aaron Exp $ */
-/* $NetBSD: usbdi.h,v 1.52 2001/05/01 16:43:44 lukem Exp $ */
+/* $OpenBSD: usbdi.h,v 1.13 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: usbdi.h,v 1.53 2001/08/15 00:04:59 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.18 1999/11/17 22:33:49 n_hibma Exp $ */
/*
@@ -203,6 +203,7 @@ struct usb_attach_arg {
int vendor;
int product;
int release;
+ int matchlvl;
usbd_device_handle device; /* current device */
usbd_interface_handle iface; /* current interface */
int usegeneric;
diff --git a/sys/dev/usb/usbdi_util.c b/sys/dev/usb/usbdi_util.c
index 433ef577664..3109bde4fac 100644
--- a/sys/dev/usb/usbdi_util.c
+++ b/sys/dev/usb/usbdi_util.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: usbdi_util.c,v 1.10 2000/11/08 18:10:39 aaron Exp $ */
-/* $NetBSD: usbdi_util.c,v 1.33 2000/06/01 15:51:27 augustss Exp $ */
+/* $OpenBSD: usbdi_util.c,v 1.11 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: usbdi_util.c,v 1.35 2001/10/26 17:58:21 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi_util.c,v 1.14 1999/11/17 22:33:50 n_hibma Exp $ */
/*
@@ -336,14 +336,14 @@ usbd_set_idle(usbd_interface_handle iface, int duration, int id)
}
usbd_status
-usbd_get_report_descriptor(usbd_device_handle dev, int ifcno, int repid,
+usbd_get_report_descriptor(usbd_device_handle dev, int ifcno,
int size, void *d)
{
usb_device_request_t req;
req.bmRequestType = UT_READ_INTERFACE;
req.bRequest = UR_GET_DESCRIPTOR;
- USETW2(req.wValue, UDESC_REPORT, repid);
+ USETW2(req.wValue, UDESC_REPORT, 0); /* report id should be 0 */
USETW(req.wIndex, ifcno);
USETW(req.wLength, size);
return (usbd_do_request(dev, &req, d));
@@ -380,7 +380,7 @@ usbd_get_hid_descriptor(usbd_interface_handle ifc)
}
usbd_status
-usbd_alloc_report_desc(usbd_interface_handle ifc, void **descp, int *sizep,
+usbd_read_report_desc(usbd_interface_handle ifc, void **descp, int *sizep,
usb_malloc_type mem)
{
usb_interface_descriptor_t *id;
@@ -401,11 +401,11 @@ usbd_alloc_report_desc(usbd_interface_handle ifc, void **descp, int *sizep,
*descp = malloc(*sizep, mem, M_NOWAIT);
if (*descp == NULL)
return (USBD_NOMEM);
- /* XXX should not use 0 Report ID */
- err = usbd_get_report_descriptor(dev, id->bInterfaceNumber, 0,
- *sizep, *descp);
+ err = usbd_get_report_descriptor(dev, id->bInterfaceNumber,
+ *sizep, *descp);
if (err) {
free(*descp, mem);
+ *descp = NULL;
return (err);
}
return (USBD_NORMAL_COMPLETION);
diff --git a/sys/dev/usb/usbdi_util.h b/sys/dev/usb/usbdi_util.h
index b2be4000ae6..224cb714787 100644
--- a/sys/dev/usb/usbdi_util.h
+++ b/sys/dev/usb/usbdi_util.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: usbdi_util.h,v 1.7 2000/11/08 18:10:39 aaron Exp $ */
-/* $NetBSD: usbdi_util.h,v 1.22 2000/06/01 14:37:52 augustss Exp $ */
+/* $OpenBSD: usbdi_util.h,v 1.8 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: usbdi_util.h,v 1.23 2001/10/26 17:58:22 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdi_util.h,v 1.9 1999/11/17 22:33:50 n_hibma Exp $ */
/*
@@ -57,7 +57,7 @@ usbd_status usbd_get_device_status(usbd_device_handle,usb_status_t*);
usbd_status usbd_get_hub_status(usbd_device_handle, usb_hub_status_t *);
usbd_status usbd_set_protocol(usbd_interface_handle dev, int report);
usbd_status usbd_get_report_descriptor(usbd_device_handle dev, int ifcno,
- int repid, int size, void *d);
+ int size, void *d);
struct usb_hid_descriptor *usbd_get_hid_descriptor(usbd_interface_handle ifc);
usbd_status usbd_set_report(usbd_interface_handle iface, int type, int id,
void *data,int len);
@@ -66,7 +66,7 @@ usbd_status usbd_set_report_async(usbd_interface_handle iface, int type,
usbd_status usbd_get_report(usbd_interface_handle iface, int type, int id,
void *data, int len);
usbd_status usbd_set_idle(usbd_interface_handle iface, int duration,int id);
-usbd_status usbd_alloc_report_desc(usbd_interface_handle ifc, void **descp,
+usbd_status usbd_read_report_desc(usbd_interface_handle ifc, void **descp,
int *sizep, usb_malloc_type mem);
usbd_status usbd_get_config(usbd_device_handle dev, u_int8_t *conf);
usbd_status usbd_get_string_desc(usbd_device_handle dev, int sindex,
diff --git a/sys/dev/usb/usbdivar.h b/sys/dev/usb/usbdivar.h
index dcd3a6bc1df..9d81200a6ff 100644
--- a/sys/dev/usb/usbdivar.h
+++ b/sys/dev/usb/usbdivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usbdivar.h,v 1.13 2001/05/03 02:20:34 aaron Exp $ */
+/* $OpenBSD: usbdivar.h,v 1.14 2001/10/31 04:24:45 nate Exp $ */
/* $NetBSD: usbdivar.h,v 1.63 2001/01/21 19:00:06 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbdivar.h,v 1.11 1999/11/17 22:33:51 n_hibma Exp $ */
@@ -56,7 +56,7 @@ struct usbd_endpoint {
struct usbd_bus_methods {
usbd_status (*open_pipe)(struct usbd_pipe *pipe);
- void (*soft_intr)(struct usbd_bus *);
+ void (*soft_intr)(void *);
void (*do_poll)(struct usbd_bus *);
usbd_status (*allocm)(struct usbd_bus *, usb_dma_t *,
u_int32_t bufsize);
@@ -115,7 +115,17 @@ struct usbd_bus {
#define USBREV_1_0 2
#define USBREV_1_1 3
#define USBREV_2_0 4
-#define USBREV_STR { "unknown", "pre 1.0", "1.0", "1.1" }
+#define USBREV_STR { "unknown", "pre 1.0", "1.0", "1.1", "2.0" }
+
+#if 0
+#ifdef USB_USE_SOFTINTR
+#ifdef __HAVE_GENERIC_SOFT_INTERRUPTS
+ void *soft; /* soft interrupt cookie */
+#else
+ struct callout softi;
+#endif
+#endif
+#endif
#if defined(__NetBSD__) || defined(__OpenBSD__)
bus_dma_tag_t dmatag; /* DMA tag */
diff --git a/sys/dev/usb/uscanner.c b/sys/dev/usb/uscanner.c
index d79802aba41..aeb5b2febc6 100644
--- a/sys/dev/usb/uscanner.c
+++ b/sys/dev/usb/uscanner.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uscanner.c,v 1.3 2001/05/03 02:20:34 aaron Exp $ */
-/* $NetBSD: uscanner.c,v 1.12 2001/01/23 14:04:14 augustss Exp $ */
+/* $OpenBSD: uscanner.c,v 1.4 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: uscanner.c,v 1.18 2001/10/11 12:05:10 augustss Exp $ */
/* $FreeBSD$ */
/*
@@ -98,6 +98,7 @@ static const struct scanner_id {
/* HP */
{ USB_VENDOR_HP, USB_PRODUCT_HP_3300C },
+ { USB_VENDOR_HP, USB_PRODUCT_HP_3400CSE },
{ USB_VENDOR_HP, USB_PRODUCT_HP_4100C },
{ USB_VENDOR_HP, USB_PRODUCT_HP_4200C },
{ USB_VENDOR_HP, USB_PRODUCT_HP_S20 },
@@ -148,14 +149,18 @@ static const struct scanner_id {
{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_636 },
{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_610 },
{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1200 },
+ { USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1240 },
{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1600 },
{ USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1640 },
+ { USB_VENDOR_EPSON, USB_PRODUCT_EPSON_640U },
+ { USB_VENDOR_EPSON, USB_PRODUCT_EPSON_1650 },
/* UMAX */
{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1220U },
{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA1236U },
{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2000U },
{ USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA2200U },
+ { USB_VENDOR_UMAX, USB_PRODUCT_UMAX_ASTRA3400 },
/* Visioneer */
{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_5300 },
@@ -165,6 +170,9 @@ static const struct scanner_id {
{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8100 },
{ USB_VENDOR_VISIONEER, USB_PRODUCT_VISIONEER_8600 },
+ /* Canon */
+ { USB_VENDOR_CANON, USB_PRODUCT_CANON_N656U },
+
{ 0, 0 }
};
diff --git a/sys/dev/usb/uyap.c b/sys/dev/usb/uyap.c
index 695febe8d77..6c580d89994 100644
--- a/sys/dev/usb/uyap.c
+++ b/sys/dev/usb/uyap.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: uyap.c,v 1.1 2001/01/29 00:43:40 aaron Exp $ */
-/* $NetBSD: uyap.c,v 1.2 2001/01/02 23:08:54 augustss Exp $ */
+/* $OpenBSD: uyap.c,v 1.2 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: uyap.c,v 1.4 2001/07/11 04:53:18 augustss Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -69,8 +69,8 @@ USB_MATCH(uyap)
return (UMATCH_NONE);
/* Match the boot device. */
- if ((uaa->vendor == USB_VENDOR_SILICONPORTALS &&
- (uaa->product == USB_PRODUCT_SILICONPORTALS_YAPPH_NF)))
+ if (uaa->vendor == USB_VENDOR_SILICONPORTALS &&
+ uaa->product == USB_PRODUCT_SILICONPORTALS_YAPPH_NF)
return (UMATCH_VENDOR_PRODUCT);
return (UMATCH_NONE);
diff --git a/sys/dev/usb/uyap_firmware.h b/sys/dev/usb/uyap_firmware.h
index 740778dc700..354d026f4d9 100644
--- a/sys/dev/usb/uyap_firmware.h
+++ b/sys/dev/usb/uyap_firmware.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: uyap_firmware.h,v 1.1 2001/01/29 00:43:40 aaron Exp $ */
-/* $NetBSD: $ */
+/* $OpenBSD: uyap_firmware.h,v 1.2 2001/10/31 04:24:45 nate Exp $ */
+/* $NetBSD: uyap_firmware.h,v 1.2 2001/01/16 03:10:09 augustss Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.