patch-2.4.21 linux-2.4.21/drivers/usb/scanner.h
Next file: linux-2.4.21/drivers/usb/serial/Config.in
Previous file: linux-2.4.21/drivers/usb/scanner.c
Back to the patch index
Back to the overall index
- Lines: 354
- Date:
2003-06-13 07:51:36.000000000 -0700
- Orig file:
linux-2.4.20/drivers/usb/scanner.h
- Orig date:
2002-11-28 15:53:14.000000000 -0800
diff -urN linux-2.4.20/drivers/usb/scanner.h linux-2.4.21/drivers/usb/scanner.h
@@ -1,9 +1,10 @@
/*
- * Driver for USB Scanners (linux-2.4.18)
+ * Driver for USB Scanners (linux-2.4)
*
* Copyright (C) 1999, 2000, 2001, 2002 David E. Nelson
+ * Previously maintained by Brian Beattie
*
- * Brian Beattie <beattie@beattie-home.net>
+ * Current maintainer: Henning Meier-Geinitz <henning@meier-geinitz.de>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -21,6 +22,13 @@
*
*/
+/*
+ * For documentation, see Documentation/usb/scanner.txt.
+ * Website: http://www.meier-geinitz.de/kernel/
+ * Please contact the maintainer if your scanner is not detected by this
+ * driver automatically.
+ */
+
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
@@ -32,23 +40,18 @@
#include <linux/sched.h>
#include <linux/smp_lock.h>
#include <linux/devfs_fs_kernel.h>
+#include <linux/usb_scanner_ioctl.h>
// #define DEBUG
-/* Enable this to support the older ioctl interfaces scanners that
- * a PV8630 Scanner-On-Chip. The prefered method is the
- * SCANNER_IOCTL_CTRLMSG ioctl.
- */
-// #define PV8630
-
-#define DRIVER_VERSION "0.4.6"
+#define DRIVER_VERSION "0.4.12"
#define DRIVER_DESC "USB Scanner Driver"
#include <linux/usb.h>
static __s32 vendor=-1, product=-1, read_timeout=0;
-MODULE_AUTHOR("Brian Beattie, beattie@beattie-home.net");
+MODULE_AUTHOR("Henning Meier-Geinitz, henning@meier-geinitz.de");
MODULE_DESCRIPTION(DRIVER_DESC" "DRIVER_VERSION);
MODULE_LICENSE("GPL");
@@ -67,65 +70,112 @@
// #define WR_DATA_DUMP /* DEBUG does not have to be defined. */
static struct usb_device_id scanner_device_ids [] = {
- /* Acer */
- { USB_DEVICE(0x04a5, 0x2060) }, /* Prisa Acerscan 620U & 640U (!)*/
- { USB_DEVICE(0x04a5, 0x2040) }, /* Prisa AcerScan 620U (!) */
- { USB_DEVICE(0x04a5, 0x20c0) }, /* Prisa AcerScan 1240UT */
- { USB_DEVICE(0x04a5, 0x2022) }, /* Vuego Scan Brisa 340U */
+ /* Acer (now Benq) */
{ USB_DEVICE(0x04a5, 0x1a20) }, /* Unknown - Oliver Schwartz */
- { USB_DEVICE(0x04a5, 0x1a2a) }, /* Unknown - Oliver Schwartz */
- { USB_DEVICE(0x04a5, 0x207e) }, /* Prisa 640BU */
+ { USB_DEVICE(0x04a5, 0x1a2a) }, /* Another 620U */
+ { USB_DEVICE(0x04a5, 0x2022) }, /* 340U */
+ { USB_DEVICE(0x04a5, 0x2040) }, /* 620U (!) */
+ { USB_DEVICE(0x04a5, 0x2060) }, /* 620U & 640U (!)*/
+ { USB_DEVICE(0x04a5, 0x207e) }, /* 640BU */
+ { USB_DEVICE(0x04a5, 0x20b0) }, /* Benq 4300 */
{ USB_DEVICE(0x04a5, 0x20be) }, /* Unknown - Oliver Schwartz */
- { USB_DEVICE(0x04a5, 0x20c0) }, /* Unknown - Oliver Schwartz */
+ { USB_DEVICE(0x04a5, 0x20c0) }, /* 1240UT, 1240U */
{ USB_DEVICE(0x04a5, 0x20de) }, /* S2W 3300U */
- { USB_DEVICE(0x04a5, 0x20b0) }, /* Unknown - Oliver Schwartz */
- { USB_DEVICE(0x04a5, 0x20fe) }, /* Unknown - Oliver Schwartz */
+ { USB_DEVICE(0x04a5, 0x20fc) }, /* Benq 5000 */
+ { USB_DEVICE(0x04a5, 0x20fe) }, /* Benq 5300 */
/* Agfa */
{ USB_DEVICE(0x06bd, 0x0001) }, /* SnapScan 1212U */
{ USB_DEVICE(0x06bd, 0x0002) }, /* SnapScan 1236U */
- { USB_DEVICE(0x06bd, 0x2061) }, /* Another SnapScan 1212U (?)*/
{ USB_DEVICE(0x06bd, 0x0100) }, /* SnapScan Touch */
+ { USB_DEVICE(0x06bd, 0x2061) }, /* Another SnapScan 1212U (?)*/
+ { USB_DEVICE(0x06bd, 0x208d) }, /* Snapscan e40 */
+ { USB_DEVICE(0x06bd, 0x208f) }, /* SnapScan e50*/
{ USB_DEVICE(0x06bd, 0x2091) }, /* SnapScan e20 */
+ { USB_DEVICE(0x06bd, 0x2093) }, /* SnapScan e10*/
{ USB_DEVICE(0x06bd, 0x2095) }, /* SnapScan e25 */
{ USB_DEVICE(0x06bd, 0x2097) }, /* SnapScan e26 */
- { USB_DEVICE(0x06bd, 0x208d) }, /* Snapscan e40 */
+ { USB_DEVICE(0x06bd, 0x20fd) }, /* SnapScan e52*/
+ { USB_DEVICE(0x06bd, 0x20ff) }, /* SnapScan e42*/
+ /* Artec */
+ { USB_DEVICE(0x05d8, 0x4001) }, /* Ultima 2000 */
+ { USB_DEVICE(0x05d8, 0x4002) }, /* Ultima 2000 (GT6801 based) */
+ { USB_DEVICE(0x05d8, 0x4003) }, /* E+ 48U */
+ { USB_DEVICE(0x05d8, 0x4004) }, /* E+ Pro */
+ /* Avision */
+ { USB_DEVICE(0x0638, 0x0a10) }, /* iVina FB1600 (=Umax Astra 4500) */
+ /* Benq: see Acer */
+ /* Brother */
+ { USB_DEVICE(0x04f9, 0x010f) }, /* MFC 5100C */
+ { USB_DEVICE(0x04f9, 0x0111) }, /* MFC 6800 */
/* Canon */
+ { USB_DEVICE(0x04a9, 0x2201) }, /* CanoScan FB320U */
{ USB_DEVICE(0x04a9, 0x2202) }, /* CanoScan FB620U */
{ USB_DEVICE(0x04a9, 0x2204) }, /* CanoScan FB630U/FB636U */
+ { USB_DEVICE(0x04a9, 0x2205) }, /* CanoScan FB1210U */
{ USB_DEVICE(0x04a9, 0x2206) }, /* CanoScan N650U/N656U */
{ USB_DEVICE(0x04a9, 0x2207) }, /* CanoScan N1220U */
{ USB_DEVICE(0x04a9, 0x2208) }, /* CanoScan D660U */
- { USB_DEVICE(0x04a9, 0x220b) }, /* D646U */
+ { USB_DEVICE(0x04a9, 0x220b) }, /* CanoScan D646U */
+ { USB_DEVICE(0x04a9, 0x220c) }, /* CanoScan D1250U2 */
+ { USB_DEVICE(0x04a9, 0x220d) }, /* CanoScan N670U/N676U/LIDE 20 */
+ { USB_DEVICE(0x04a9, 0x220e) }, /* CanoScan N1240U/LIDE 30 */
+ { USB_DEVICE(0x04a9, 0x2213) }, /* LIDE 50 */
+ { USB_DEVICE(0x04a9, 0x3042) }, /* FS4000US */
/* Colorado -- See Primax/Colorado below */
+ /* Compaq */
+ { USB_DEVICE(0x049f, 0x001a) }, /* S4 100 */
+ { USB_DEVICE(0x049f, 0x0021) }, /* S200 */
/* Epson -- See Seiko/Epson below */
+ /* Fujitsu */
+ { USB_DEVICE(0x04c5, 0x1041) }, /* fi-4220c USB/SCSI info:mza@mu-tec.de */
+ { USB_DEVICE(0x04c5, 0x1042) }, /* fi-4120c USB/SCSI info:mza@mu-tec.de */
+ { USB_DEVICE(0x04c5, 0x1029) }, /* fi-4010c USB AVision info:mza@mu-tec.de */
/* Genius */
- { USB_DEVICE(0x0458, 0x2001) }, /* ColorPage-Vivid Pro */
+ { USB_DEVICE(0x0458, 0x2001) }, /* ColorPage Vivid Pro */
{ USB_DEVICE(0x0458, 0x2007) }, /* ColorPage HR6 V2 */
- { USB_DEVICE(0x0458, 0x2008) }, /* Unknown */
- { USB_DEVICE(0x0458, 0x2009) }, /* Unknown */
- { USB_DEVICE(0x0458, 0x2013) }, /* Unknown */
- { USB_DEVICE(0x0458, 0x2015) }, /* Unknown */
- { USB_DEVICE(0x0458, 0x2016) }, /* Unknown */
+ { USB_DEVICE(0x0458, 0x2008) }, /* ColorPage HR6 V2 */
+ { USB_DEVICE(0x0458, 0x2009) }, /* ColorPage HR6A */
+ { USB_DEVICE(0x0458, 0x2011) }, /* ColorPage Vivid3x */
+ { USB_DEVICE(0x0458, 0x2013) }, /* ColorPage HR7 */
+ { USB_DEVICE(0x0458, 0x2015) }, /* ColorPage HR7LE */
+ { USB_DEVICE(0x0458, 0x2016) }, /* ColorPage HR6X */
/* Hewlett Packard */
- { USB_DEVICE(0x03f0, 0x0205) }, /* 3300C */
- { USB_DEVICE(0x03f0, 0x0405) }, /* 3400C */
- { USB_DEVICE(0x03f0, 0x0101) }, /* 4100C */
- { USB_DEVICE(0x03f0, 0x0105) }, /* 4200C */
- { USB_DEVICE(0x03f0, 0x0305) }, /* 4300C */
+ { USB_DEVICE(0x03f0, 0x0101) }, /* ScanJet 4100C */
{ USB_DEVICE(0x03f0, 0x0102) }, /* PhotoSmart S20 */
- { USB_DEVICE(0x03f0, 0x0705) }, /* 4400C */
- { USB_DEVICE(0x03f0, 0x0401) }, /* 5200C */
- // { USB_DEVICE(0x03f0, 0x0701) }, /* 5300C - NOT SUPPORTED - see http://www.neatech.nl/oss/HP5300C/ */
- { USB_DEVICE(0x03f0, 0x0201) }, /* 6200C */
- { USB_DEVICE(0x03f0, 0x0601) }, /* 6300C */
- { USB_DEVICE(0x03f0, 0x605) }, /* 2200C */
+ { USB_DEVICE(0x03f0, 0x0105) }, /* ScanJet 4200C */
+ { USB_DEVICE(0x03f0, 0x0201) }, /* ScanJet 6200C */
+ { USB_DEVICE(0x03f0, 0x0205) }, /* ScanJet 3300C */
+ { USB_DEVICE(0x03f0, 0x0305) }, /* ScanJet 4300C */
+ { USB_DEVICE(0x03f0, 0x0401) }, /* ScanJet 5200C */
+ { USB_DEVICE(0x03f0, 0x0405) }, /* ScanJet 3400C */
+ { USB_DEVICE(0x03f0, 0x0505) }, /* ScanJet 2100C */
+ { USB_DEVICE(0x03f0, 0x0601) }, /* ScanJet 6300C */
+ { USB_DEVICE(0x03f0, 0x0605) }, /* ScanJet 2200C */
+ // { USB_DEVICE(0x03f0, 0x0701) }, /* ScanJet 5300C - NOT SUPPORTED - use hpusbscsi driver */
+ { USB_DEVICE(0x03f0, 0x0705) }, /* ScanJet 4400C */
+ // { USB_DEVICE(0x03f0, 0x0801) }, /* ScanJet 7400C - NOT SUPPORTED - use hpusbscsi driver */
+ { USB_DEVICE(0x03f0, 0x0901) }, /* ScanJet 2300C */
+ { USB_DEVICE(0x03F0, 0x1005) }, /* ScanJet 5400C */
+ { USB_DEVICE(0x03F0, 0x1105) }, /* ScanJet 5470C */
+ { USB_DEVICE(0x03f0, 0x1305) }, /* Scanjet 4570c */
+ { USB_DEVICE(0x03f0, 0x2005) }, /* ScanJet 3570c */
+ { USB_DEVICE(0x03f0, 0x2205) }, /* ScanJet 3500c */
/* iVina */
{ USB_DEVICE(0x0638, 0x0268) }, /* 1200U */
- /* Lifetec */
- { USB_DEVICE(0x05d8, 0x4002) }, /* Lifetec LT9385 */
+ /* Lexmark */
+ { USB_DEVICE(0x043d, 0x002d) }, /* X70/X73 */
+ { USB_DEVICE(0x043d, 0x003d) }, /* X83 */
+ /* LG Electronics */
+ { USB_DEVICE(0x0461, 0x0364) }, /* Scanworks 600U (repackaged Primax?) */
+ /* Medion */
+ { USB_DEVICE(0x0461, 0x0377) }, /* MD 5345 - repackaged Primax? */
/* Memorex */
{ USB_DEVICE(0x0461, 0x0346) }, /* 6136u - repackaged Primax ? */
- /* Microtek -- No longer supported - Enable SCSI and USB Microtek in kernel config */
+ /* Microtek */
+ { USB_DEVICE(0x05da, 0x30ce) }, /* ScanMaker 3800 */
+ { USB_DEVICE(0x05da, 0x30cf) }, /* ScanMaker 4800 */
+ /* The following SCSI-over-USB Microtek devices are supported by the
+ microtek driver: Enable SCSI and USB Microtek in kernel config */
// { USB_DEVICE(0x05da, 0x0099) }, /* ScanMaker X6 - X6U */
// { USB_DEVICE(0x05da, 0x0094) }, /* Phantom 336CX - C3 */
// { USB_DEVICE(0x05da, 0x00a0) }, /* Phantom 336CX - C3 #2 */
@@ -134,53 +184,74 @@
// { USB_DEVICE(0x05da, 0x80a3) }, /* ScanMaker V6USL #2 */
// { USB_DEVICE(0x05da, 0x80ac) }, /* ScanMaker V6UL - SpicyU */
/* Minolta */
- // { USB_DEVICE(0x0638,0x026a) }, /* Minolta Dimage Scan Dual II */
+ { USB_DEVICE(0x0686, 0x400d) }, /* Scan Dual III */
+ /* The following SCSI-over-USB Minolta devices are supported by the
+ hpusbscsi driver: Enable SCSI and USB hpusbscsi in kernel config */
+ // { USB_DEVICE(0x0638, 0x026a) }, /* Minolta Dimage Scan Dual II */
+ // { USB_DEVICE(0x0686, 0x4004) }, /* Scan Elite II (need interrupt ep) */
/* Mustek */
- { USB_DEVICE(0x055f, 0x0001) }, /* 1200 CU */
- { USB_DEVICE(0x0400, 0x1000) }, /* BearPaw 1200 */
- { USB_DEVICE(0x055f, 0x0002) }, /* 600 CU */
- { USB_DEVICE(0x055f, 0x0873) }, /* 600 USB */
- { USB_DEVICE(0x055f, 0x0003) }, /* 1200 USB */
- { USB_DEVICE(0x055f, 0x0006) }, /* 1200 UB */
- { USB_DEVICE(0x0400, 0x1001) }, /* BearPaw 2400 */
- { USB_DEVICE(0x055f, 0x0008) }, /* 1200 CU Plus */
- { USB_DEVICE(0x0ff5, 0x0010) }, /* BearPaw 1200F */
+ { USB_DEVICE(0x0400, 0x1000) }, /* BearPaw 1200 (National Semiconductor LM9831) */
+ { USB_DEVICE(0x0400, 0x1001) }, /* BearPaw 2400 (National Semiconductor LM9832) */
+ { USB_DEVICE(0x055f, 0x0001) }, /* ScanExpress 1200 CU */
+ { USB_DEVICE(0x055f, 0x0002) }, /* ScanExpress 600 CU */
+ { USB_DEVICE(0x055f, 0x0003) }, /* ScanExpress 1200 USB */
+ { USB_DEVICE(0x055f, 0x0006) }, /* ScanExpress 1200 UB */
+ { USB_DEVICE(0x055f, 0x0007) }, /* ScanExpress 1200 USB Plus */
+ { USB_DEVICE(0x055f, 0x0008) }, /* ScanExpress 1200 CU Plus */
+ { USB_DEVICE(0x055f, 0x0010) }, /* BearPaw 1200F */
+ { USB_DEVICE(0x055f, 0x0210) }, /* ScanExpress A3 USB */
{ USB_DEVICE(0x055f, 0x0218) }, /* BearPaw 2400 TA */
- { USB_DEVICE(0x05d8, 0x4002) }, /* 1200 CU and 1200 UB Plus */
+ { USB_DEVICE(0x055f, 0x0219) }, /* BearPaw 2400 TA Plus */
+ { USB_DEVICE(0x055f, 0x021c) }, /* BearPaw 1200 CU Plus */
+ { USB_DEVICE(0x055f, 0x021d) }, /* Bearpaw 2400 CU Plus */
+ { USB_DEVICE(0x055f, 0x021e) }, /* BearPaw 1200 TA/CS */
+ { USB_DEVICE(0x055f, 0x0400) }, /* BearPaw 2400 TA PRO */
+ { USB_DEVICE(0x055f, 0x0873) }, /* ScanExpress 600 USB */
+ { USB_DEVICE(0x055f, 0x1000) }, /* BearPaw 4800 TA PRO */
+ // { USB_DEVICE(0x05d8, 0x4002) }, /* BearPaw 1200 CU and ScanExpress 1200 UB Plus (see Artec) */
+ /* Nikon */
+ { USB_DEVICE(0x04b0, 0x4000) }, /* Coolscan LS 40 ED */
/* Plustek */
- { USB_DEVICE(0x07b3, 0x0017) }, /* OpticPro UT12 */
- { USB_DEVICE(0x07b3, 0x0011) }, /* OpticPro UT24 */
{ USB_DEVICE(0x07b3, 0x0005) }, /* Unknown */
{ USB_DEVICE(0x07b3, 0x0007) }, /* Unknown */
{ USB_DEVICE(0x07b3, 0x000F) }, /* Unknown */
- { USB_DEVICE(0x07b3, 0x0010) }, /* Unknown */
+ { USB_DEVICE(0x07b3, 0x0010) }, /* OpticPro U12 */
+ { USB_DEVICE(0x07b3, 0x0011) }, /* OpticPro U24 */
{ USB_DEVICE(0x07b3, 0x0012) }, /* Unknown */
{ USB_DEVICE(0x07b3, 0x0013) }, /* Unknown */
{ USB_DEVICE(0x07b3, 0x0014) }, /* Unknown */
- { USB_DEVICE(0x07b3, 0x0015) }, /* Unknown */
+ { USB_DEVICE(0x07b3, 0x0015) }, /* OpticPro U24 */
{ USB_DEVICE(0x07b3, 0x0016) }, /* Unknown */
- { USB_DEVICE(0x07b3, 0x0012) }, /* Unknown */
+ { USB_DEVICE(0x07b3, 0x0017) }, /* OpticPro UT12/UT16/UT24 */
+ { USB_DEVICE(0x07b3, 0x0400) }, /* OpticPro 1248U */
+ { USB_DEVICE(0x07b3, 0x0401) }, /* OpticPro 1248U (another one) */
/* Primax/Colorado */
{ USB_DEVICE(0x0461, 0x0300) }, /* G2-300 #1 */
- { USB_DEVICE(0x0461, 0x0380) }, /* G2-600 #1 */
{ USB_DEVICE(0x0461, 0x0301) }, /* G2E-300 #1 */
- { USB_DEVICE(0x0461, 0x0381) }, /* ReadyScan 636i */
{ USB_DEVICE(0x0461, 0x0302) }, /* G2-300 #2 */
- { USB_DEVICE(0x0461, 0x0382) }, /* G2-600 #2 */
{ USB_DEVICE(0x0461, 0x0303) }, /* G2E-300 #2 */
- { USB_DEVICE(0x0461, 0x0383) }, /* G2E-600 */
{ USB_DEVICE(0x0461, 0x0340) }, /* Colorado USB 9600 */
- // { USB_DEVICE(0x0461, 0x0360) }, /* Colorado USB 19200 - undetected endpoint */
{ USB_DEVICE(0x0461, 0x0341) }, /* Colorado 600u */
+ { USB_DEVICE(0x0461, 0x0347) }, /* Primascan Colorado 2600u */
+ { USB_DEVICE(0x0461, 0x0360) }, /* Colorado USB 19200 */
{ USB_DEVICE(0x0461, 0x0361) }, /* Colorado 1200u */
+ { USB_DEVICE(0x0461, 0x0380) }, /* G2-600 #1 */
+ { USB_DEVICE(0x0461, 0x0381) }, /* ReadyScan 636i */
+ { USB_DEVICE(0x0461, 0x0382) }, /* G2-600 #2 */
+ { USB_DEVICE(0x0461, 0x0383) }, /* G2E-600 */
+ /* Prolink */
+ { USB_DEVICE(0x06dc, 0x0014) }, /* Winscan Pro 2448U */
/* Relisis */
// { USB_DEVICE(0x0475, 0x0103) }, /* Episode - undetected endpoint */
/* Seiko/Epson Corp. */
{ USB_DEVICE(0x04b8, 0x0101) }, /* Perfection 636U and 636Photo */
+ { USB_DEVICE(0x04b8, 0x0102) }, /* GT-2200 */
{ USB_DEVICE(0x04b8, 0x0103) }, /* Perfection 610 */
{ USB_DEVICE(0x04b8, 0x0104) }, /* Perfection 1200U and 1200Photo*/
+ { USB_DEVICE(0x04b8, 0x0105) }, /* StylusScan 2000 */
{ USB_DEVICE(0x04b8, 0x0106) }, /* Stylus Scan 2500 */
{ USB_DEVICE(0x04b8, 0x0107) }, /* Expression 1600 */
+ { USB_DEVICE(0x04b8, 0x0109) }, /* Expression 1640XL */
{ USB_DEVICE(0x04b8, 0x010a) }, /* Perfection 1640SU and 1640SU Photo */
{ USB_DEVICE(0x04b8, 0x010b) }, /* Perfection 1240U */
{ USB_DEVICE(0x04b8, 0x010c) }, /* Perfection 640U */
@@ -190,19 +261,33 @@
{ USB_DEVICE(0x04b8, 0x0112) }, /* Perfection 2450 - GT-9700 for the Japanese mkt */
{ USB_DEVICE(0x04b8, 0x0114) }, /* Perfection 660 */
{ USB_DEVICE(0x04b8, 0x011b) }, /* Perfection 2400 Photo */
+ { USB_DEVICE(0x04b8, 0x011c) }, /* Perfection 3200 */
+ { USB_DEVICE(0x04b8, 0x011d) }, /* Perfection 1260 */
{ USB_DEVICE(0x04b8, 0x011e) }, /* Perfection 1660 Photo */
+ { USB_DEVICE(0x04b8, 0x0801) }, /* Stylus CX5200 */
+ { USB_DEVICE(0x04b8, 0x0802) }, /* Stylus CX3200 */
+ /* SYSCAN */
+ { USB_DEVICE(0x0a82, 0x4600) }, /* TravelScan 460/464 */
+ /* Trust */
+ { USB_DEVICE(0x05cb, 0x1483) }, /* CombiScan 19200 */
+ { USB_DEVICE(0x05d8, 0x4006) }, /* Easy Webscan 19200 (repackaged Artec?) */
/* Umax */
+ { USB_DEVICE(0x05d8, 0x4009) }, /* Astraslim (actually Artec?) */
{ USB_DEVICE(0x1606, 0x0010) }, /* Astra 1220U */
{ USB_DEVICE(0x1606, 0x0030) }, /* Astra 2000U */
+ { USB_DEVICE(0x1606, 0x0060) }, /* Astra 3400U/3450U */
{ USB_DEVICE(0x1606, 0x0130) }, /* Astra 2100U */
+ { USB_DEVICE(0x1606, 0x0160) }, /* Astra 5400U */
{ USB_DEVICE(0x1606, 0x0230) }, /* Astra 2200U */
/* Visioneer */
- { USB_DEVICE(0x04a7, 0x0221) }, /* OneTouch 5300 USB */
{ USB_DEVICE(0x04a7, 0x0211) }, /* OneTouch 7600 USB */
+ { USB_DEVICE(0x04a7, 0x0221) }, /* OneTouch 5300 USB */
{ USB_DEVICE(0x04a7, 0x0231) }, /* 6100 USB */
{ USB_DEVICE(0x04a7, 0x0311) }, /* 6200 EPP/USB */
{ USB_DEVICE(0x04a7, 0x0321) }, /* OneTouch 8100 EPP/USB */
{ USB_DEVICE(0x04a7, 0x0331) }, /* OneTouch 8600 EPP/USB */
+ { USB_DEVICE(0x0461, 0x0345) }, /* 6200 (actually Primax?) */
+ { USB_DEVICE(0x0461, 0x0371) }, /* Onetouch 8920 USB (actually Primax?) */
{ } /* Terminating entry */
};
@@ -229,19 +314,9 @@
#define RD_EXPIRE 12 /* Number of attempts to wait X seconds */
-/* FIXME: These are NOT registered ioctls()'s */
-#ifdef PV8630
-#define PV8630_IOCTL_INREQUEST 69
-#define PV8630_IOCTL_OUTREQUEST 70
-#endif /* PV8630 */
-
-
-/* read vendor and product IDs from the scanner */
-#define SCANNER_IOCTL_VENDOR _IOR('U', 0x20, int)
-#define SCANNER_IOCTL_PRODUCT _IOR('U', 0x21, int)
-/* send/recv a control message to the scanner */
-#define SCANNER_IOCTL_CTRLMSG _IOWR('U', 0x22, struct usb_ctrlrequest )
-
+/* USB bInterfaceClass used by Hewlett-Packard ScanJet 3300c and Genius HR6
+ USB - Vivid III */
+#define SCN_CLASS_SCANJET 16
#define SCN_MAX_MNR 16 /* We're allocated 16 minors */
#define SCN_BASE_MNR 48 /* USB Scanners start at minor 48 */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)