Next file: linux/Documentation/usb/usb-serial.txt
Previous file: linux/Documentation/usb/scanner-hp-sane.txt
Back to the patch index
Back to the overall index
- Lines: 189
Sun Jan 23 22:39:14 2000
- Orig file:
- Orig date:
Thu Jan 6 12:57:47 2000
diff -u --recursive --new-file v2.3.40/linux/Documentation/usb/scanner.txt linux/Documentation/usb/scanner.txt
@@ -1,8 +1,10 @@
-Oct 19, 1999
+Copyright (C) 1999, 2000 David E. Nelson
+Jan. 22, 2000
-- Ammended for linux-2.3.22+
+- Amended for linux-2.3.40
- Appended hp_scan.c to end of this README
- Removed most references to HP
@@ -12,49 +14,63 @@
This README will address issues regarding how to configure the kernel
to access a USB scanner. Although the driver was originally conceived
for USB HP scanners, it's general enough so that it can be used with
-other scanners. Also, one can now pass the USB Vendor and
-Product ID's using module parameters for unknown scanners. Refer to
-the document README.scanner_hp_sane for guidance on how to configure
-SANE to use a USB HP Scanner.
+other scanners. Also, one can now pass the USB Vendor and Product
+ID's using module parameters for unknown scanners. Refer to the
+document scanner_hp_sane.txt for guidance on how to configure SANE to
+use a USB HP Scanner.
A host with a USB port. Ideally, either a UHCI (Intel) or OHCI
(Compaq and others) hardware port should work. However, I've only
-been able to really use an OHCI controller. I did have access to a
-system with a UHCI controller but some very limited testing did not
-produce satisfactory results. Luke Ordelmans
-<email@example.com> has reported success using the UHCI host
-controller with kernel 2.3.18 and a ChainTech motherboard. Here
-lately I've been having better success with the ohci-hcd driver. But
-since Linux USB support is still in a state of constant development
-that may change at a later date. I am confident that eventually all
-the host contollers will perform without incident.
-A Linux kernel with USB support (preferably linux-2.3.18+)
+been able to really use an OHCI controller. At the time of this
+writing, both uhci and ohci work with scanner.c *except* for the HP
+4100C which only works with ohci. This problem is being investigated.
+A Linux development kernel (2.3.x) with USB support enabled or a
+backported version to linux-2.2.x. See http://www.linux-usb.org for
+more information on accomplishing this.
-A Linux kernel with USB Scanner support.
+A Linux kernel with USB Scanner support enabled.
+'lspci' which is only needed to determine the type of USB hardware
+available in your machine.
-Using `make menuconfig` or your prefered method for configuring the
-kernel, select 'Support for USB', 'OHCI/OHCI-HCD/UHCI' depending on
-your hardware, 'USB hub support', and 'USB Scanner support'. Compile
-and install the modules (you may need to execute `depmod -a` to update
-the module dependencies). Testing was performed only as modules,
+Using `lspci -v`, determine the type of USB hardware available.
+ If you see something like:
+ USB Controller: ......
+ Flags: .....
+ I/O ports at ....
+ Then you have a UHCI based controller.
+ If you see something like:
+ USB Controller: .....
+ Flags: ....
+ Memory at .....
+ Then you have a OHCI based controller.
+Using `make menuconfig` or your preferred method for configuring the
+kernel, select 'Support for USB', 'OHCI/UHCI' depending on your
+hardware (determined from the steps above), 'USB Scanner support', and
+'Preliminary USB device filesystem'. Compile and install the modules
+(you may need to execute `depmod -a` to update the module
+dependencies). Testing was performed only as modules, YMMV.
Add a device for the USB scanner:
- linux-2.3.22 and above: `mknod /dev/usbscanner c 180 48`
- linux-2.3.21 and below: `mknod /dev/usbscanner c 16 1`
+ `mknod /dev/usbscanner c 180 48`
Set appropriate permissions for /dev/usbscanner (don't forget about
group and world permissions). Both read and write permissions are
@@ -66,36 +82,71 @@
- modprobe usb-ohci-hcd
- modprobe hub
- modprobe scanner
- modprobe hub (don't know if this is required or not)
That's it. SANE should now be able to access the device.
There is a small test program (hp_scan.c -- appended below) that can
be used to test the scanner device if it's an HP scanner that supports
-SCL. Its purpose is to test the driver without having to
-retrieve/configure SANE. Hp_scan.c will scan the entire bed and put
-the output into a file called 'out.dat' in the current directory. The
-data in the file is raw data so it's not very useful for imaging.
+SCL (Scanner Control Language). Known HP scanner that support SCL are
+the 4100, 5200, 6200, the 6300 -- note that the 4200 is *not*
+supported since it does not understand SCL; it's also strongly
+suspected that the 3300 is not SCL compliant. Hp_scan.c's purpose is
+to test the driver without having to retrieve/configure SANE.
+Hp_scan.c will scan the entire bed and put the output into a file
+called 'out.dat' in the current directory. The data in the file is
+raw data so it's not very useful for imaging.
+NOTE: Just because a product is listed here does not mean that
+applications exist that support the product. It's in the hopes that
+this will allow developers a means to produce applications that will
+support the listed USB products.
+At the time of this writing, the following scanners were supported by
+ Hewlett Packard
+ 3300, 4100, 4200, 5200, 6200, 6300, PhotoSmart S20
+ SnapScan 1212U
+ Astra 2000U
+ Perfection 636, Perfection 1200U
+ 1200 CU
+ User Specified. See MODULE PARAMETERS for details.
-If you have a device that wish to experiment with or try using this
-driver with, but the Vendor and Product ID's are not coded in, don't
-despair. If the driver was compiled as a module, you can pass options
-to the driver. Simply add 'options scanner vendor=0x####
+If you have a device that you wish to experiment with or try using
+this driver with, but the Vendor and Product ID's are not coded in,
+don't despair. If the driver was compiled as a module, you can pass
+options to the driver. Simply add 'options scanner vendor=0x####
product=0x****' to the conf.modules/modules.conf file replacing the
#'s and the *'s with the correct ID's. The ID's can be retrieved from
the messages file or using `cat /proc/bus/usb/devices` if USB /proc
-support was selected during kernel configuration.
+support was selected during kernel configuration. In later kernels
+(2.3.38+), a new filesystem was introduced, usbdevfs. To mount the
+filesystem, issue the command `mount -t usbdevfs /proc/bus/usb
+/proc/bus/usb`. You can then issue ` cat /proc/bus/usb/devices` to
+extract USB device information.
FUNET's LINUX-ADM group, firstname.lastname@example.org
TCL-scripts by Sam Shen (who was at: email@example.com)