driver for
parallel port scanners
The CIS driver used to be available as a patch to the official
SANE distribution (see the
history page), but as of
sane-backends-1.0.10 (February, 2003) the driver is included with
the official distribution.
There is no more need to patch the official distribution to get a
CIS scanner to work.
The CIS driver supports the Mustek 600 CP, 96 CP, 1200 CP, and 1200 CP+ parallel port flatbed scanner series and their OEM versions (Medion/LifeTec, Trust, Targa, ...). The driver is developed using a LifeTec 9350 (a Mustek 1200CP clone), and appears to be working for various other OEM versions too. According to the Medion/LifeTec website, the following models all use the Mustek 1200CP driver, so I assume that they are all OEM versions:
The CIS driver has no reliable identification of the scanner (simply because I don't know how it can be distinguished from CCD scanners; I don't even know whether it is at all possible), so don't use it unless you're sure that you have a CIS scanner.
If you have an original Mustek 600/1200/96CP, it should be ok. If you have one of the Medion/LifeTec OEM models listed above, it's probably ok too. If unsure about the nature of your scanner, you can probably identify a CIS scanner by the FCC ID number at the bottom: it normally ends with the letters "CIS". If you can't find it, you may find this information in the manual.
Thanks to the support I got from Mustek, I've managed to get the driver working nearly perfectly. All resolutions (50->1200DPI) and all modes (color/grayscale/lineart) are supported. Any problems that I had with previous versions of the driver seem to be solved, at least on my own scanner.
Scanner types that have been reported to work (by many people, the list has become too long to name them all):
The scanner is no longer recognized after a kernel upgrade to version 2.6.21+.
Around Linux kernel version 2.6.21, an incompatibility was introduced between the kernel and libieee1284 (the library that the mustek_pp driver uses to access the parallel port). The result of this is that the parallel ports are no longer recognized by libieee1284 and the scanner is not found. Typically, debug output (SANE_DEBUG_SANEI_PA4S2=128 scanimage -L) contains the following lines:
...
[sanei_pa4s2] pa4s2_open: `parport0` is not a valid device name
[sanei_pa4s2] pa4s2_open: returning SANE_STATUS_INVAL
[sanei_pa4s2] sanei_pa4s2_open: connection failed
or
...
[sanei_pa4s2] sanei_pa4s2_enable: enable port '0x378'
[sanei_pa4s2] pa4s2_enable: failed to claim the port (Error interfacing system)
[sanei_pa4s2] sanei_pa4s2_enable: failed to enable port
[sanei_pa4s2] sanei_pa4s2_enable: returning SANE_STATUS_IO_ERROR
This bug was fixed in version 0.2.11 of libieee1284.
At the time of this writing, not many Linux distributions have picked up the new libieee1284 version. Luckily, there is a workaround in case you cannot find this libieee1284 version for your distribution, namely by creating a file called /etc/ieee1284.conf containing this single line:
disallow method ppdev
This tells libieee1284 to use a different method for accessing the
parallel port. Depending on the setup of your system, it is
possible that you can only scan as root, but at least you
will be able to scan until your distribution picks up the
libieee1284 fix.
More information on this topic can be found at the following places:
The scanner appears to work, but at the end of the scan, the scan head hits the bottom of the scan area and starts making loud cracking noises. (Turn of the scanner or cancel the scan immediately if this happens! Otherwise the driving belt could get damaged.)
It appears that some Mustek scanners are labeled as 1200CP scanners, but that the mechanics are actually the same as in the 600CP models. In that case you should use the cis600 configuration instead of the cis1200 one.
If you are configuring your 1200CP scanner for the first time, it is probably safer to try the cis600 configuration first. If the image is distorted (eg., compressed vertically), you can try the cis1200 or cis1200+ configuration. If there's no distortion, you have a 600CP in disguise.
A change in the lower communication layers triggered a bug the driver included with sane-backends 1.0.13. Typical symptoms: the scanner head doesn't return after a (preview) scan, and the lamp stays on. For more information, check out this page.
This bug has been fixed in version 1.0.14.
A few people have reported that images scanned on their Mustek 1200CP are horizontally stretched and that the scanner head hits the boundaries of the scan area, resulting in loud cracking noises.
It appears that these 1200CP scanners have the same characteristics as a 600CP, ie., they are probably re-labeled 600CPs. Configuring the driver to cis600 mode (in the mustek_pp.conf file) solves the problem.
Apparantly, sometimes 1200CP+ scanners are also labeled as plain 1200CP's. In that case, scans appear horizontally stretched at resolutions below 300dpi, but the scan head doesn't hit the bottom of the scan area. Also in this case selecting the proper mode (cis1200+) solves the problem.
When the parallel port is set to (only) ECP mode in the BIOS, the driver may hang during the detection of the scanner.
This is not a driver bug, but a Linux kernel bug. The kernel reports that the port also supports EPP mode (next to the ECP mode), but when the driver attempts to use that mode, it gets stuck in a system call (ie., in the kernel). The solution is to set the port to another mode in the BIOS, for instance, EPP mode or ECP+EPP mode (normal mode works too, albeit slower).
If your scanned images exhibit a few brighter vertical stripes, the calibration strip of the scanner may be dirty. For more info, refer to this page.
If your scanned images exhibit a few red/green/blue-colored lines, your printer spooler may be interfering with the scanner. For more info, refer to this page.
The driver that was included in sane-backends-1.0.10/11 had some color stability problems at high resolutions. This problem has been fixed in version 1.0.12.
I've not heard from the original reporter again, but presumably, these problems have been solved as others have reported that the driver works perfectly on a 9850.
In any case, IF YOU HEAR LOUD CRACKING NOISES, IMMEDIATELY UNPLUG THE SCANNER !
There is no way for the driver to detect the exact type of your scanner (whether it is a 600CP or a 1200CP or whether it is a CIS or a CCD scanner). You have to tell the driver what model you have.
Using the wrong configuration could damage your scanner!!! These (cheap) scanners have no built-in protection against illegal manipulations. For instance, the scan head will happily continue to move as long as the driver tells it to move, until the scanner breaks ...
Especially, using the 1200CP settings on a 600CP can be harmful.
If the scanner starts making a loud noice, turn it off immediately!!!
Last update:$Date: 2007/12/13 22:49:08 $