Graphics Muse

## More...

Scanner Report

© 1996 Michael J. Hammel

#### Scanner Report

In December my brother called me to let me know he had a possible Christmas gift for me: a Compaq Keyboard Scanner. He works for Compaq and they had a special for employees. Knowing I might not have a Linux driver for this he called to ask. I didn't know, so I started to investigate. I checked the one place I knew I could ask questions like this and get reasonably accurate answers - the Gimp Developer and User mailing lists. I posted a message asking if anyone knew about scanners and this scanner in particular. Quite a few people answered. It turns out this particular scanner is actually an OEM'd version of the Visioneer keyboard scanner. The protocol this scanner uses in not publicly available and apparently its rather difficult to get on the developers list to get the information. So much for getting support for this little device. However, the amount of information I gathered about other scanner devices, about 14 pages of printed material, turned out to be a real windfall. I decided to summarize it here in the Muse.

First, lets list the set of scanners known to have support. This list is a compilation based on what the drivers say they support and what individuals have said they are specifically using.

- HP scanners
  - HP ScanJet IICX
  - HP ScanJet IIC (predecessor to CX)
  - HP 4C
  - HP ScanJet 4P
- A4 Tech scanners
- Nikon color (SCSI)
- Mustek
  - M105 scanners
  - Mustek Paragon 6000CX
  - Others supported via a Generic SCSI interface
- MicroTek (aka mTek) scanners
  - ScanMaker E3
  - ScanMaker E6
- Logitec hand-held
  - The old Logitech Scanman - A B&W-scanner fixed to 200dpi
  - Logitech Scanman32 (aka Scanman+)
  - The Logitech Scanman256 - A 100-400dpi Greyscale-Scanner with 1,4-,6- and 8-bit resolution without dithering.
- Epson scanners
  As of Nov '95, serial I/O had not been added but parallel and SCSI are said to be supported
  - Epson GT-5000WINS
- UMAX scanners
  - UMAX Vista S6
  - Vista S6 (NOT S6E at this time, hopefully that will change)
  - Vista S8
  - UC630
  - UMAX scanners that might or might not work with it include
    - Vista S12
    - UG630
    - T630
  - UMAX scanners that are known not to work with it at this time include
    - PowerLook
    - Vista S6E
- Genius hand-held scanners (a few flavors)
  - Genius GS-B105G
  - Genius GS4500 and probably the GS4000 and GS4500A

The HP scanners appear to all require a generic SCSI interface, such as an Adaptec AHA 152x board and its associated driver, and the hpscanpbm user level driver. The SCSI board that comes with some (or possibly all, I'm not sure) of the HP scanners is not supported at this time.
Knowing which scanners are supported is one thing. Now you need to find a driver that goes with them. The information I got was provided by the son of a coworker of my brother. Apparently he had some free time and had gone out and gathered this list on his own. Not all the information was complete and I filled in the rest by perusing the sunsite and tsx-11 archives. I also received information on some of the drivers from the developers.

Driver/Application | Supported scanners
--- | ---
hpscanpbm-0.3a.tar.gz | User level driver for HP Scanjet II series
a4scan.tgz | Drivers for A4 Tech scanners
coolscan-0.1.tgz | User-level driver for the Nikon CoolScan SCSI
mscan-0.1.tar.gz | User level program for using Mustek scanners
xscan-1.1.tgz | User-level X program for scanning with Mustek scanners that saves files as X Bitmaps
muscan-2.0.6.taz | Driver for Mustek Paragon 6000CX
mtekscan-0.1.tar.gz | Driver for MicroTek ScanMaker scanners originally written for ScanMaker E6, but will also work with the E3.
pbmscan-1.2.tar.gz | Utility for Logitech scanners (including ScanMan 256)
ppic0.5.tar.gz | Early scanning package w/ EPSON support

Table 1: scanner drivers for Linux available at
ftp://sunsite.unc.edu/pub/Linux/apps/graphics/scanners.

Driver/Application | Use
--- | ---
gs105-0.0.1.tar.gz | Genius GS-B105G 400 dpi greyscale handheld scanner
gs4500-1.6.tar.gz | Genius GS 4500 hand scanners and compatible models
logiscan-0.0.4.tar.gz | Logitech ScanMan+ 400 dpi handheld scanner driver
scan-driver-0.1.8.tar.gz | M105 handheld scanner driver or clone with GI1904 interface
umax-0.4.tar.gz (v0.5 may be out by now, which is reported to be very much improved over v0.4) | UMAX scanners This one is written by Michael K. Johnson and he reports that there is sufficient documentation in the distribution for any one to add new UMAX support if they so desire.

Table 2: scanner drivers for Linux available at
ftp://tsx-11.mit.edu/pub/linux/ALPHA/scanner/:

I don't know what the difference between the pbmscan and logiscan packages is but suspect the pbmscan package is a front end to the logiscan package. The logiscan package has a front end called gifscan that uses SVGALIB (not an X interface) and saves the input into GIF files. The pbmscan package scans directly into PBM formatted files.

Commercial Scanner Products
There is only one commercially available product for scanners - XVScan from Tummy.com, which contains a graphical front end and supports a number of scanners. XVScan runs for about $50US which includes the $30 registration for XV.

Supported Devices (that I know of, there may be others)
- IIp
- IIc
- IIcx
- 3c (reported to work) Note: According to the HP ScanJet 4c web page the 3c and 4c 10-bit and 30-bit scanning modes are INTERNAL only. This combined with X and XVs inability to handle other than 8-bit and 24-bit images means that you can't scan or display a 10/30-bit image.
- 4c (seems to be the same scanner as the 3c)
- HP ScanJet Plus
- HP ScanJet 4P (reported by a user, Tummy.com doesn't list it)

Not Supported
- Centronics-type interface ScanJets (mostly early models)
- ScanJet 4s (4bpp greyscale single-page scanner)
- ScanJet 4Si (high-volume network interface scanner)

Application Interfaces
SANE v0.42 - http://www.azstarnet.com/~axplinux/sane/ - is a project to create a Universal Scanner Interface. SANE, which stands for Scanner Access Now Easy, supports the following backends (device drivers):

Supported Devices
- Mustek flatbed scanners using a generic SCSI interface
- PBM-Pseudo-Driver (demo implementation)
- DL-Meta-Backend for multiple-scanner support
- A Network based backend to support scanners across a network
- Connectix Color QuickCam

Work in Progress or Planned
- UMAX scanners
- Linux Handscanner ioctl interface bridge
- HP scanner support (might be a port from xvscan)
- MicroTek (aka mTek) scanners

There are a couple of front ends to this tool as well:

- xcam - a front end to the Color QuickCam driver
- a Gimp plug-in front end, which can also be compiled as a standalone GTK application (GTK is the X Toolkit used by the upcoming version of the Gimp)
- a command line interface

This package makes use of the GNU Configure mechanism. Unfortunately it doesn't quite build right out of the box (there are some linking options which aren't supported by the Linux ld program). I couldn't test the programs or drivers out, unfortunately since I don't have a QuickCam or any scanners yet. Feel free to donate either, of course.

There are notes in the distribution about ongoing work for support for non-Unix platforms, but I have little interest in that so didn't really read through it.

What people are saying
And of course, what would a scanner review be without some user testimonials. These are taken from the discussions on scanners in the Gimp User and Gimp Developer mailing lists. I didn't keep track of email addresses so all I have are the first names of the respondents. As with any unverifiable testimonials, take these with a grain of salt.

> I've been using XVScan with my ScanJet 4P and Linux for about 9 months, and I'm very happy with it. It worked perfectly out of the box, no tweaking or anything. XVScan costs $50, but that includes the $30 registration fee for XV and is produced by Tummy.com. Their web site is, of course, http://www.tummy.com/. - Scott

> I'm using an Epson GT-5000WINS (JP model?) with a hand-made GIMP 0.54 plug-in driver. The driver is not for general use yet, but is available on-web. - Kaz Sasayama <http://www.spice.or.jp/~hypercor/hyperplay/>

> I'm using an HP Scanjet IIC (predecessor to the CX) with Linux and Gimp, and am very pleased with the results. I've a feeling (unsubstantiated), that not much changed between the two models other than the driver software that HP shipped with each. There's a good HP scanner driver for Linux called 'hpscanpbm' - available from the usual sources. It's command-line driven, but offers very good control over resolution, brightness, contrast etc. Output format is pbm only, unfortunately. So far, it's the only HP driver for Linux that I've seen. - Andre

> I'm using a Mustek Paragon 600II-SP, and it works quite well (just don't expect to share the SCSI bus with anything else). It's sold here (in Austria) at around $300US - Andreas

> I'm using a HP Scanjet IIcx, with the Adaptec AHA152x driver and the "generic" SCSI interface. No changes to the driver were necessary. Currently using the hpscanpbm program to do all scanning. - Rob Jenkins

> I'm using an HP IICX with hpscanpbm. Installation was completely painless. I added it to my scsi bus, rebooted and once I figured out which generic scsi device it was and set the permissions appropriately it worked. Probably 10-15 minutes, including compiling hpscanpbm. - Stew

> I have a Microtek ScanMaker E3, which is a 24-bit flatbed scanner with a 300x600dpi optical resolution, that can be had for right around $300. It comes with some pretty decent image editing software for the Mac and for Windows, and there's a (command-line-driven) driver available for Linux (mtekscan). With any luck, the SANE (Scanner Access Now Easy) project will have a driver available in the not-too-distant future (if I ever find time to write the driver, that is. :) The SANE driver will allow standalone scanning as well as a GIMP plug-in. The driver will probably work with other Microtek scanners as well (mtekscan was actually written for a ScanMaker E6 but works with my E3). - name unknown

> As for Musteks, I was considering a 30-bit, 400x800dpi Mustek scanner (I don't remember the model), until I read a review which compared that scanner to a few other scanners (mostly 24-bit). The Mustek wasn't particularly impressive; I finally decided to go with the Microtek--even though inferior "on paper" it still received a much better review. In any case, you can't go wrong with a Microtek, I think. I've also read good things about the UMAX (which are also rather inexpensive), a Canon (a little more expensive), and of course HP scanners are generally top-notch, although they also command premium prices. If you have the bucks, go for an HP, but if you want to save a few dollars and still get an excellent quality product, there are other options. - name unknown

Other OS's
A few people responded to my request for information on the Gimp mailing lists with information for non-Linux systems. I normally don't write about these, but I'll go ahead this one time. Note that I don't want to write about other OS's - not because they aren't any good, but because Linux works for me and I don't have the time to wander around the OS world looking for yet another OS.

- FreeBSD - apparenatly has a port called hpscan that needs a link to /dev/scanner from the device the scanner uses. hpscan saves images in JPEG format.

Thats it. Hopefully this information will help you get started looking for a scanner and the appropriate software to use with it. I have high expectations for the SANE project to be the primary interface for low-level and user-level drivers for all scanners in the future. Once a generic interface is defined it should be easier to develop applications that can make real use of the scanners.

© 1996 by Michael J. Hammel