sane-mustek_pp - SANE backend for Mustek parallel port
flatbed scanners
DESCRIPTION
The sane-mustek_pp library implements a SANE (Scanner
Access Now Easy) backend that provides access to Mustek
parallel port flatbed scanners. The following scanners
might work with this backend:
Model: ASIC ID: CCD Type: works:
-------------------- --------- ---------- -------
SE 6000 P 1013 00 yes
SM 4800 P 1013/1015 04/01 yes
SE 1200 ED Plus 1015 01 partly
SM 1200 ED Plus 1015 01 partly
SE 12000 P 1505 05 no
SE 600 CP 1015 00 no (*)
SM 600 CP 1015 00 no (*)
600 III EP Plus 1013/1015 00/01 yes
SE 600 SEP 1013 ?? yes
600 II EP ???? ?? no
MD9848 1015 00 yes
Gallery 4800 ???? ?? yes
Viviscan Compact II 1013 00 yes
MD985x 1015 01/05 no (*)
LT9891 1015 01 no (*)
(*) These scanners are currently not supported by the
default driver, but patches are available; see CIS Scan
ners.
Please note that this backend is still under construction.
I don't know which scanners work or which will work in
future releases.
There are two possible reasons a Mustek scanner doesn't
work... a) the protcol is still unknown (SE 12000 P) or b)
it's a CIS scanner (all the others). See CIS Scanners for
an explaination why.
Some scanners work faster when EPP/ECP is enabled in the
BIOS.
Note that the backend needs to run as root. To allow user
access to the scanner run the backend through the network
interface (See saned(1) and sane-net(5)). Note also that
the backend does not support parport sharing , i.e. if you
try printing while scanning, your computer may crash. This
backend also conflicts with the sane-musteka4s2 backend.
You can only enable one of them in your dll.conf. However,
you have to enable the backend explicitly in your
dll.conf, just remove the hash mark in the line
"mustek_pp".
This backend expects device names of the form:
port addr
Where addr is the base address of the port your scanner is
attached to. Known ports are 0x378 (lp1) 0x278 (lp2) and
0x3BC (lp0). Note that if you are using a Kernel 2.2.x or
better and you have only one parallel port this port is
named lp0 regardless of the base address. However, this
backend requires the base address of your port. If you are
not sure which port your scanner is connected to, have a
look at your /etc/conf.modules.
You can rename any device using the
name devname
model model
vendor vendor
options. These options aply to the last port option.
CONFIGURATION
Please make sure to edit mustek_pp.conf before you use the
backend.
The contents of the mustek_pp.conf file is a list of
options and device names that correspond to Mustek scan
ners. Empty lines and lines starting with a hash mark (#)
are ignored.
The nine options supported are io-mode, wait-bank,
strip-height, niceload, auth, wait-lamp, bw, use600, and
buffer.
Option io-mode defines the mode of the sanei_pa4s2 inter
face. Possible values are try_mode_uni and alt_lock. This
option may appear for each possible value. try_mode_uni
allows the UNI port mode, however this may disable the
(better) EPP mode. alt_lock toggles between two different
ways to lock the port for scanner access. This option
must come before any port definition or it won't have the
effect you'd expect.
Option wait-bank defines the maximal time in msecs the
backend waits for the bank to change. The default value is
700. If this option is given after the port option, only
this device is affected. If this value is to low, you will
get wrong colors and stripes in the scanned image.
Option strip-height is a option that limits the maximum
height of the strip scanned with a single read command.
The height is specified in lines. If this option is given
strip-height of zero allows to scan as much as fits into
the scan buffer.
Option niceload tries to avoid to heavy load. Note that
this reduces scan speed. This is a global option.
Option auth turns on user authentification for this scan
ner. Use this if you want access control and if you have
enabled this at compile time. This option must come after
a port option. At the moment, this option isn't really
supported.
Option wait-lamp allows you to control the time the back
end waits for the lamp to warm up. The time is specified
in secs. The default value is 5 secs. Some scanners need
longer to warm up. A value of 0 makes the backend start
without waiting. However the backend will wait at least 2
secs before turning the lamp off again. If this option is
given after a port option it affects only this device.
Option bw defines the maximal color value that is consid
ered black in lineart scans. The default value is 127.
Possible values are between 0 and 255. If this option is
given after a port option it affects only this device.
Option use600 enables the 600 dpi handling code. It's not
possible to detect wether a scanner has an optical resolu
tion of 300x600 dpi or 600x1200 dpi. The default is to use
the 300x600 dpi code. Use this option only if your scanner
has an optical resolution of 600x1200 dpi. This is a local
only option.
Option buffer allows you to change the size of the scan
buffer. The size must be specified in bytes. The default
value is 1 megabyte. If this opttion is given after the
port option, only this device is affected. If you have
limited the strip-height, you only need a scan buffer of
8.5 * dpi * 3 * strip-height bytes.
A sample configuration file is shown below:
# GLOBAL #
# enable this option, if you think your scanner
# supports the UNI protocol
# note however that this might disable the better
# EPP protocol
#option io-mode try_mode_uni
# choose between two different ways to lock to port
# set the maximal height (in lines) of a strip
# scanned (default: no limit)
#option strip-height 0
# wait n msecs for bank to change (default: 700
# msecs) if this value is to low, stripes my appear
# in the scanned image
#option wait-bank 700
# size (in bytes) of scan buffer (default:
# 1 megabyte)
#option buffer 1048576
# try to avoid to heavy load. Note that this
# reduces scan speed
option niceload
# Define the time the lamp has to be on before
# scan starts (default 5 secs)
#option wait-lamp 5
# DEVICES #
# specify the port your scanner is connected to.
# Possible are 0x378 (lp1) 0x278 (lp2) and
# 0x3bc (lp0)
port 0x378
# the following options are local to this scanner
# scan maximal 16 lines for one sane_read() call
option strip-height 16
# we just need 16 * 3 * 300 * 8.5 bytes
option buffer 122400
# this scanner needs max 250 msecs to change
# the bank
option wait-bank 250
# My scanner is a MD9848 from Medion using the
# Mustek chipset
name MD9848
vendor Medion
# Enable this option, if you want user
# authentification *and* if it's enabled at
# compile time
#option auth
# Some scanners (especially ASIC 1013) need
# the time to wait for the lamp to get hot
#option wait-lamp 15
# Use this option to define the maximal
# black value in lineart scans
#option bw 127
# Use this option for 600 dpi scanners
# for example ScanExpress 1200 ED Plus
#option use600
CIS Scanners
Some Mustek Scanners use so called contact image sensors
(CIS) instead of cold cathode devices (CCD). These scan
ners have a totally different protocol; they are currently
not supported by the default driver.
However, patches are available that support most of the
CIS type scanners. Check out the homepage of Eddy De
Greef for these patches (see the SEE ALSO section).
These patches have been reported to work on the Mustek
600CP, 1200CP, and 1200CP+ models, and various OEM ver
sions (LifeTec/Medion 9350, 9351, 9850, 9851, 9858, 9890,
and 9891; Trust Easy Connect 9600 plus; Targa Funline
TS12EP).
When installing these patches, 3 additional options are
available in the mustek_pp.conf configuration file (see
CONFIGURATION): cis600, cis1200, cis1200+.
These options select the 600CP, 1200CP, or 1200CP+ version
of the driver. One of them must be set.
The 600CP has a maximum resolution of 300x600 DPI, whereas
the 1200CP and 1200CP+ have a maximum resolution of
600x1200 DPI. The option must match your scanner. If
unsure, check the manual or the box.
Choosing the wrong option could damage your scanner!
Especially, using the 1200CP settings on a 600CP can be
harmful. If the scanner starts making a loud noice, turn
it off immediately !!!
The cis... options cannot be combined with the use600
option.
Currently, when installing the CIS patches, support for
CCD type scanners is disabled. In future versions of the
sane-mustek_pp backend, the CIS patches will be integrated
and support for both types of scanners will co-exist.
/etc/sane.d/mustek_pp.conf
The backend configuration file (see also descrip
tion of SANE_CONFIG_DIR below).
/usr/lib/sane/libsane-mustek_pp.a
The static library implementing this backend.
/usr/lib/sane/libsane-mustek_pp.so
The shared library implementing this backend (pre
sent 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
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_PP
If the library was compiled with debug support
enabled, this environment variable controls the
debug level for this backend. E.g., a value of 128
requests all debug output to be printed. Smaller
levels reduce verbosity.
level debug output
------- ------------------------------
0 nothing
1 errors
2 warnings & minor errors
3 additional information
4 debug information
5 code flow (not supported yet)
6 special debug information
SANE_DEBUG_SANEI_PA4S2
This variable sets the debug level for the SANE
interface for the Mustek chipset A4S2. Note that
enabling this will spam your terminal with some
level debug output
------- -------------------------------
0 nothing
1 errors
2 warnings
3 things nice to know
4 code flow
5 detailed code flow
6 everything
SEE ALSO
sane(7), sane-musteka4s2(5), sane-mustek(5), sane-net(5),
saned(1)
Patches for CIS scanner
http://home.tiscalinet.be/EddyDeGreef/
For latest bug fixes and information see
http://home.nexgo.de/jochen.eisinger/sane/
AUTHOR
Jochen Eisinger <jochen.eisinger@gmx.net>
BUGS
Too many... please send bug reports to
sane-devel@mostang.com (note that you have to subscribe
first to the list before you can send emails... see
http://www.mostang.com/sane/mail.html)
* 1013 support isn't bullet proofed
* 1505 support isn't even present
* 1015 only works for CCD type 00 & 01 (01 only
bw/grayscale)
BUG REPORTS
If something doesn't work, please contact me. But I need
some information about your scanner to be able to help
you...
SANE version
run "scanimage -V" to determine this
run "SANE_DEBUG_MUSTEK_PP=128 scanimage -L" as
root. If you don't get any output from the
mustek_pp backend, make sure a line "mustek_pp" is
included into your /etc/sane.d/dll.conf. If your
scanner isn't detected, make sure you've defined
the right port address in your mustek_pp.conf.
the name of your scanner/vendor
also a worthy information. Please also include the
optical resolution and lamp type of your scanner,
both can be found in the manual of your scanner.
any further comments
if you have comments about the documentation (what
could be done better), or you think I should know
something, please include it.
some nice greetings
Man(1) output converted with
man2html