sane-mustek.5
sane-mustek(5) SANE Scanner Access Now Easy sane-mustek(5)
NAME
sane-mustek - SANE backend for Mustek SCSI flatbed scanners
DESCRIPTION
The sane-mustek library implements a SANE (Scanner Access Now Easy)
backend that provides access to Mustek (and some relabeled Trust and
Primax) SCSI flatbed scanners. At present, the following 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, Scan-
Magic 9636S, 9636S Plus
Paragon 1200 LS
ScanExpress A3 SP
Paragon 1200 SP Pro
Paragon 1200 A3 Pro
Paragon 600 II N
Trust Imagery 1200
Trust Imagery 1200 SP
Trust Imagery 4800 SP
Trust SCSI Connect 19200
Primax Compact 4800 SCSI
More details can be found on the Mustek SCSI backend homepage
http://www.meier-geinitz.de/sane/mustek-backend/.
Don't mix up MFS (Paragon), Pro and ScanExpress models! They're com-
pletely 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 support 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). It uses the SCSI protocoll internally,
too. 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 parallel port
backend mustek_pp, see sane-mustek_pp(5). USB scanners are also not
supported by this backend but the mustek_usb, gt68xx, and plustek back-
ends include support for some of them, see sane-mustek_usb(5), sane-
gt68xx(5), and sane-plustek(5).
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 /usr/local/doc/sane-1.0.12-cvs/PROBLEMS file.
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 scan-
ner's exact model name (look at the front and back of the scanner) and
a debug output to sane-devel@lists.alioth.debian.org. 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.sane-project.org/mailing-lists.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 cor-
responds to a SCSI scanner or the port number 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 start-
ing 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, disable-double-buffering, disable-
backtracking, 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.
Option lineart-fix is positional and works around a timing problem that
seems to exist with certain MFS-12000SP scanners. The problem mani-
fests 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 for-
mat).
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 time-
outs and/or timeouts with other devices on the same SCSI bus. Unfortu-
nately, it also increases scan times. With current SCSI adapters and
drivers this option shouldn't be needed any more.
Option disable-double-buffering is a global option. If set, the backend
will only send one buffer at a time to the scanner. Try this option if
you have trouble while scanning, e.g. SCSI errors, freezes, or the
first few cm are repeated over and over again in your image.
Option disable-backtracking is a positional option. If set, the scanner
will not move back its slider after each SCSI buffer is filled (`back-
tracking'). Setting this option will lead to faster scans but may also
produce horizontal stripes. This option doesn't work with every scanner
(only some of the paragon models can modify backtracking).
Finally, force-wait is a global option. If set, the backend 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 implemented for all scanners). This option may be neces-
sary with the 600 II N or when scanimage is used multiple times (e.g.
in scripts). The default is off (not set).
A sample configuration file is shown below:
# 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
You need a SCSI adapter for the SCSI scanners. Even if the connector is
the same as that of parallel port scanners, connecting it to the com-
puters parallel port will NOT work.
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 system, you
should consider that Mustek scanners do not support the SCSI-2 discon-
nect/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 disconnect/reconnect proto-
col, 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 configure the low-
level SCSI driver to disable synchronous transfers (sync negotiation),
tagged command queuing, and target disconnects. See sane-scsi(5) for
driver- and platform-specific information.
The ScanExpress models have sometimes trouble with high resolution
color mode. If you encounter sporadic corrupted images (parts dupli-
cated or shifted horizontally) kill all other applications before scan-
ning and (if sufficient memory is available) disable swapping.
Details on how to get the Mustek SCSI adapters and other cards running
can be found at http://www.meier-geinitz.de/sane/mustek-backend/#SCSI.
PARAGON 600 II N
This backend has support for the Paragon 600 II N parallel port scan-
ner. Note that this scanner comes with its own ISA card that imple-
ments a funky parallel port (in other words, the scanner does not con-
nected to the printer parallel port).
This scanner can be configured by listing the port number of the
adapter in the mustek.conf file. Valid port numbers are 0x26b, 0x2ab,
0x2eb, 0x22b, 0x32b, 0x36b, 0x3ab, 0x3eb. Pick one that doesn't con-
flict 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 xscan-
image(1) setuid root (generally not recommended for safety reasons) or,
alternatively, access this backend through the network daemon saned(1).
On systems 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 nec-
essary for /dev/port access, even with full permissions set for all
users..
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
/usr/local/etc/sane.d/mustek.conf
The backend configuration file (see also description of
SANE_CONFIG_DIR below).
/usr/local/lib/sane/libsane-mustek.a
The static library implementing this backend.
/usr/local/lib/sane/libsane-mustek.so
The shared library implementing this backend (present on systems
that support dynamic loading).
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 config-
uration file is searched in two default directories: first, the
current working directory (".") and then in
/usr/local/etc/sane.d. If the value of the environment variable
ends with the directory separator 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
"/usr/local/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 Description
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_usb(5), sane-
gt68xx(5), sane-plustek(5), sane-mustek_pp(5)
/usr/local/doc/sane-1.0.12-cvs/mustek/mustek.CHANGES
http://www.meier-geinitz.de/sane/mustek-backend/
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.
The gamma table supports only 256 colors, even if some scanners can do
more.
More detailed bug information is available at the Mustek backend home-
page: http://www.meier-geinitz.de/sane/mustek-backend/.
sane-backends 1.0.12-cvs 5 Dec 2002 sane-mustek(5)
Man(1) output converted with
man2html