sane-mustek - SANE backend for Mustek flatbed scanners
DESCRIPTION
The sane-mustek library implements a SANE (Scanner Access
Now Easy) backend that provides access to Mustek (and some
relabeled Trust) flatbed scanners. At present, the fol
lowing scanners are known to work more or less with this
backend:
Paragon MFS-6000CX
Paragon MFS-12000CX
Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP
Paragon MFC-800S, 800 II SP
Paragon MFS-6000SP
Paragon MFS-8000SP
Paragon MFS-1200SP, MFS-12000SP
ScanExpress 6000SP
ScanExpress 12000SP, 12000SP Plus, Paragon 1200 III
SP, ScanMagic 9636S, 9636S Plus
Paragon 1200 LS
ScanExpress A3 SP
Paragon 1200 SP Pro
Paragon 1200 A3 Pro
Paragon 600 II N
Trust Imagery 1200 SP
Trust Imagery 4800 SP
Trust SCSI Connect 19200
More details can be found on the Mustek backend homepage
http://www.meier-geinitz.de/sane/.
Don't mix up MFS (Paragon), Pro and ScanExpress models!
They're completely different. Check the exact model name!
Note that most of the above scanners come with a SCSI
interface. The only non-SCSI scanner that has some sup
port at this point is the 600 II N scanner which comes
with its own parallel port adapter (i.e., it does not
attach to the printer port). More info on how to use the
600 II N can be found below in section PARAGON 600 II N.
Other parallel port scanners are not supported by this
backend but you may be successful using the Mustek paral
lel port backend (mustek_pp). USB scanners are not sup
ported by this backend by now.
Mustek scanners have no protection against exceeding the
physical scan area height. That is, if a scan is
attempted with a height that exceeds the height of the
scan surface, the scanner begins making loud noises and
the scan mechanism may be damaged. Thus, if you hear such
a noise, IMMEDIATELY turn off the scanner. This shouldn't
happen if your scanner is in the list of known scanners.
There is more information in the
If you own a Mustek (or Trust) scanner other than the ones
listed above that works with this backend, please let us
know by sending the scanner's exact model name (look at
the front and back of the scanner) and a debug output to
sane-devel@mostang.com. You can get the debug output by
setting the environment variable SANE_DEBUG_MUSTEK to 5
and showing the list of available scanners with
scanimage -L . Please send all of it to the mailing list.
You must be subscribed to sane-devel before you can send
mail to the list. See
http://www.mostang.com/sane/mail.html for details.
DEVICE NAMES
This backend expects device names of the form:
special
Where special is either the path-name for the special
device that corresponds to a SCSI scanner or the port num
ber at which the 600 II N can be found (see section
PARAGON 600 II N below). For SCSI scanners, the special
device name must be a generic SCSI device or a symlink to
such a device. The program sane-find-scanner helps to
find out the correct device. Under Linux, such a device
name could be /dev/sga or /dev/sge, for example. See
sane-scsi(5) for details.
CONFIGURATION
The contents of the mustek.conf file is a list of options
and device names that correspond to Mustek scanners.
Empty lines and lines starting with a hash mark (#) are
ignored. See sane-scsi(5) on details of what constitutes
a valid device name.
The supported options are linedistance-fix, lineart-fix,
legal-size buffersize, blocksize, strip-height, and force-
wait
Options come in two flavors: global and positional ones.
Global options apply to all devices managed by the backend
whereas positional options apply just to the most recently
mentioned device. Note that this means that the order in
which the options appear matters!
Option linedistance-fix is positional and works around a
problem that occurs with some SCSI controllers (notably
the ncr810 controller under Linux). If color scans have
horizontal stripes and/or the colors are off, then it's
likely that your controller suffers from this problem.
Turning on this option usually fixes the problem.
problem that seems to exist with certain MFS-12000SP scan
ners. The problem manifests itself in dropped lines when
scanning in lineart mode. Turning on this option should
fix the problem but may slow down scanning a bit.
Option legal-size is positional and sets the size of the
scan area to Legal format. Set this option if you own a
Paragon 12000 LS. It can't be distinguished by software
from a ScanExpress 12000 SP (ISO A4 format).
Option buffersize is a positional option that overrides
the default value set for the size of the SCSI buffer. The
buffer size is specified in kilobytes. The default value
is 128. Because of double buffering the buffer actually
sent to the scanner is half the size of this value. Try to
increase this value to achieve higher scan speeds. Note
that some ScanExpress scanners don't like buffer sizes
above 64 kb (buffersize = 128). If your sg driver can't
set SCSI buffer sizes at runtime you may have to change
that value, too. See sane-scsi(5) for details.
Option blocksize is a positional option that overrides the
default value set for the maximum amount of data scanned
in one block. The buffer size is specified in kilobytes.
Some scanners freeze if this value is bigger than 2048.
The default value is 1 GB (so effectively no limit) for
most scanners. Don't change this value if you don't know
exactly what you do.
Option strip-height is a global option that limits the
maximum height of the strip scanned with a single SCSI
read command. The height is specified in inches and may
contain a fractional part (e.g., 1.5). Setting the strip-
height to a small value (one inch, for example) reduces
the likelihood of encountering problems with SCSI driver
timeouts and/or timeouts with other devices on the same
SCSI bus. Unfortunately, it also increases scan times.
Thus, if the scanner is the only device on the SCSI bus it
is connected to and if it is known that the SCSI driver
does not suffer from premature timeouts, it is recommended
to increase the strip-height or remove the option com
pletely, which corresponds to an infinite strip height.
See sane-scsi(5) on how to avoid problems with SCSI time
outs.
Finally, force-wait is a global option. If set, the back
end will wait until the device is ready before sending the
inquiry command. Further more the backend will force the
scan slider to return to its starting position (not imple
mented for all scanners). This option may be necessary
with the 600 II N or when scanimage is used multiple times
(e.g. in scripts). The default is off (not set).
# limit strip height of all scanners to 1.5 inches:
option strip-height 1.5
/dev/scanner # first Mustek scanner
# 1 MB buffer for /dev/scanner:
option buffersize 1024
/dev/sge # second Mustek scanner
# turn on fixes for /dev/sge:
option lineart-fix
option linedistance-fix
SCSI ADAPTER TIPS
Mustek SCSI scanners are typically delivered with an ISA
SCSI adapter. Unfortunately, that adapter is not worth
much since it is not interrupt driven. It is (sometimes)
possible to get the supplied card to work, but without
interrupt line, scanning will be very slow and put so much
load on the system, that it becomes almost unusable for
other tasks.
If you already have a working SCSI controller in your sys
tem, you should consider that Mustek scanners do not sup
port the SCSI-2 disconnect/reconnect protocol and hence
tie up the SCSI bus while a scan is in progress. This
means that no other SCSI device on the same bus can be
accessed while a scan is in progress.
Because the Mustek-supplied adapter is not worth much and
because Mustek scanners do not support the SCSI-2 discon
nect/reconnect protocol, it is recommended to install a
separate (cheap) SCSI controller for Mustek scanners. For
example, ncr810 based cards are known to work fine and
cost as little as fifty US dollars.
For Mustek scanners, it is typically necessary to config
ure the low-level SCSI driver to disable synchronous
transfers, tagged command queuing, and target disconnects.
See sane-scsi(5) for driver and platform-specific informa
tion.
The ScanExpress models have sometimes trouble with high
resolution color mode. If you encounter sporadic corrupted
images (parts duplicated or shifted horizontally) kill all
other applications before scanning and (if sufficient mem
ory is available) disable swapping.
PARAGON 600 II N
This backend has support for the Paragon 600 II N parallel
port scanner. Note that this scanner comes with its own
ISA card that implements a funky parallel port (in other
allel port).
This scanner can be configured by listing the port number
of the adapter in the mustek.conf file. Valid port num
bers are 0x26b, 0x2ab, 0x2eb, 0x22b, 0x32b, 0x36b, 0x3ab,
0x3eb. Pick one that doesn't conflict with the other
hardware in your computer. Put only one number on a single
line. Example:
0x3eb
Note that for this scanner root privileges are required to
access the I/O ports. Thus, either make frontends such as
scanimage(1) and xscanimage(1) setuid root (generally not
recommended for safety reasons) or, alternatively, access
this backend through the network daemon saned(1). On sys
tems which support this feature, the scanner can be
accessed through /dev/port. Don't forget to adjust the
permissions for /dev/port. At least with recent Linux
kernels root privileges are necessary for /dev/port
access, too.
If your images have horizontal stripes in color mode,
check option linedistance-fix (see above). Apply this
option for a scanner with firmware version 2.x and disable
it for version 1.x.
If the Mustek backend blocks while sending the inqiury
command to the scanner, add the option force-wait to
mustek.conf.
Also note that after a while of no activity, some scanners
themself (not the SANE backend) turns off their CCFL
lamps. This shutdown is not always perfect with the result
that the lamp sometimes continues to glow dimly at one
end. This doesn't appear to be dangerous since as soon as
you use the scanner again, the lamp turns back on to the
normal high brightness. However, the first image scanned
after such a shutdown may have stripes and appear to be
over-exposed. When this happens, just take another scan,
and the image will be fine.
FILES
/etc/sane.d/mustek.conf
The backend configuration file (see also descrip
tion of SANE_CONFIG_DIR below).
/usr/lib/sane/libsane-mustek.a
The static library implementing this backend.
/usr/lib/sane/libsane-mustek.so
The shared library implementing this backend
ENVIRONMENT
SANE_CONFIG_DIR
This environment variable specifies the list of
directories that may contain the configuration
file. Under UNIX, the directories are separated by
a colon (`:'), under OS/2, they are separated by a
semi-colon (`;'). If this variable is not set, the
configuration file is searched in two default
directories: first, the current working directory
(".") and then in /etc/sane.d. If the value of the
environment variable ends with the directory sepa
rator character, then the default directories are
searched after the explicitly specified directo
ries. For example, setting SANE_CONFIG_DIR to
"/tmp/config:" would result in directories
"tmp/config", ".", and "/etc/sane.d" being searched
(in this order).
SANE_DEBUG_MUSTEK
If the library was compiled with debug support
enabled, this environment variable controls the
debug level for this backend. Higher debug levels
increase the verbosity of the output.
Value Descsription
0 no output
1 print fatal errors
2 print important messages
3 print non-fatal errors and less important messages
4 print all but debugging messages
5 print everything
Example:
export SANE_DEBUG_MUSTEK=4
SEE ALSO
sane(7), sane-find-scanner(1), sane-scsi(5),
sane-mustek_pp(5)
AUTHOR
David Mosberger, Andreas Czechanowski, Andreas Bolsch (SE
extensions), Henning Meier-Geinitz
BUGS
Scanning with the SCSI adapters supplied by Mustek is very
slow at high resolutions and wide scanareas.
Some scanners (e.g. Paragon 1200 A3 + Pro, SE A3) need
more testing.
More detailed bug information is available at the Mustek
Man(1) output converted with
man2html