1sane-mustek_pp(5)             File Formats Manual            sane-mustek_pp(5)
2
3
4

NAME

6       sane-mustek_pp - SANE backend for Mustek parallel port flatbed scanners
7

DESCRIPTION

9       The  sane-mustek_pp library implements a SANE (Scanner Access Now Easy)
10       backend that provides access to Mustek parallel port  flatbed  scanners
11       and OEM versions.
12
13       There are 2 classes of Mustek parallel port scanners: regular CCD (cold
14       cathode device) scanners and CIS (contact image sensor) scanners.
15
16       The current version of this backend supports both CCD type scanners and
17       CIS type scanners.
18
19       The following scanners might work with this backend:
20
21
22   CCD scanners
23       Model:                  ASIC ID:        CCD Type:       works:
24       --------------------------------------------------------------
25       SE 6000 P               1013            00              yes
26       SM 4800 P               1013/1015       04/01           yes
27       SE 1200 ED Plus         1015            01              no
28       SM 1200 ED Plus         1015            01              no
29       SE 12000 P              1505            05              no
30       600 III EP Plus         1013/1015       00/01           yes
31       SE 600 SEP              1013            ??              yes
32       600 II EP               ????            ??              no
33       MD9848                  1015            00              yes
34       Gallery 4800            ????            ??              yes
35       Viviscan Compact II     1013            00              yes
36
37
38   CIS scanners
39       Model:                  ASIC ID:        works:
40       -----------------------------------------------
41       Mustek 600 CP & 96 CP   1015            yes (*)
42       Mustek 1200 CP          1015            yes
43       Mustek 1200 CP+         1015            yes
44
45
46
47       OEM versions            Original        works
48       --------------------------------------------------
49       Medion/LifeTec/Tevion
50          MD/LT 9350/9351      1200 CP         yes
51          MD/LT 9850/9851      1200 CP         maybe (**)
52          MD/LT 9858           1200 CP         probably
53          MD/LT 9890/9891      1200 CP         yes
54       Targa
55          Funline TS12EP       1200 CP         yes
56          Funline TS6EP        600 CP          yes
57       Trust
58          Easy Connect 9600+   600 CP          yes
59       Cybercom
60          9352                 1200 CP         yes (***)
61
62
63       (*)     Calibration   problems  existed  with  earlier  version of this
64              driver. They seem to be solved now.
65
66       (**)   Problems have been reported in the past for the  MD/LT9850  type
67              (striped  scans,  head moving in wrong direction at some resolu‐
68              tions). It is not known  whether  the  current  version  of  the
69              driver still has these problems.
70
71       IF  YOU  HEAR  LOUD  CLICKING  NOISES, IMMEDIATELY UNPLUG THE SCANNER !
72       (This holds for any type of scanner).
73
74       (***)  Possibly, the engine_delay parameter has to be set to 1  ms  for
75              accurate engine movements.
76
77       Please note that this backend is still under construction. Certain mod‐
78       els are currently not supported and some may never be because the  com‐
79       munication protocol is still unknown (eg., SE 12000 P).
80
81       Some scanners work faster when EPP/ECP is enabled in the BIOS. EPP mode
82       however may lead to hard-locks on some Linux systems. If  that  is  the
83       case for you, you can either disable ECP/EPP in your BIOS or disable it
84       in the backend itself (see GLOBAL OPTIONS).
85
86       Note that the backend needs to run as root or has to  have  appropriate
87       access  rights  to /dev/parport* if libieee1284 support is compiled in.
88       To allow user access to the scanner run the backend through the network
89       interface  (See  saned(8) and sane-net(5)).  Note also that the backend
90       does not support parport sharing, i.e. if you try printing while  scan‐
91       ning,  your  computer may crash. To enable parport sharing, you have to
92       enable libieee1284 at compile time. This backend  also  conflicts  with
93       the sane-musteka4s2(5) backend. You can only enable one of them in your
94       dll.conf.  However, you have to enable the backend explicitly  in  your
95       dll.conf, just remove the hash mark in the line "mustek_pp".
96
97

DEVICE DEFINITION

99       This  backend  allows multiple devices being defined and configured via
100       the mustek_pp.conf file (even simultaneously, provided  that  they  are
101       connected  to  different parallel ports). Please make sure to edit this
102       file before you use the backend.
103
104       A device can be defined as follows:
105
106              scanner <name> <port name> <driver>
107
108       where
109
110       <name> is an arbitrary name for the device, optionally enclosed by dou‐
111              ble quotes, for instance "LifeTec 9350".
112
113       <port  name>  is  the  name of the parallel port to which the device is
114              connected. In case libieee1284 is used  for  communication  with
115              the  port  (default  setup), valid port names are parport0, par‐
116              port1, and parport2.
117
118       In case the backend is configured for raw  IO  (old  setup),  port  ad‐
119       dresses  have to be used instead of port names: 0x378, 0x278, or 0x3BC.
120       The mapping of parallel ports (lp0, lp1, and lp2)  to  these  addresses
121       can  be different for different Linux kernel versions. For instance, if
122       you are using a Kernel 2.2.x or better and you have only  one  parallel
123       port,  this  port is named lp0 regardless of the base address. However,
124       this backend requires the base address of your port.  If  you  are  not
125       sure  which  port  your  scanner  is  connected to, have a look at your
126       /etc/conf.modules, /etc/modules.conf and/or /proc/ioports.
127
128       If you are unsure which port to use, you can use the magic value  *  to
129       probe for your scanner.
130
131       <driver>  is  the  driver  to  use for this device. Currently available
132              drivers are:
133
134              cis600   : for 600 CP, 96 CP & OEM versions
135              cis1200  : for 1200 CP & OEM versions
136              cis1200+ : for 1200 CP+ & OEM versions
137              ccd300   : for 600 IIIE P & OEM version
138
139              Choosing the wrong driver can damage your scanner!
140              Especially, using the 1200CP settings on a 600CP can be harmful.
141              If  the  scanner starts making a loud noise, turn it off immedi‐
142              ately !!!
143
144       Using the cis600 driver on a 1200CP or a 1200CP+ is probably  not  dan‐
145       gerous.  The  cis1200+  driver also works for the 1200CP, and using the
146       cis1200 driver on a 1200CP+ will typically result in scans  that  cover
147       only half of the width of the scan area (also not dangerous).
148
149       If  unsure about the exact model of your OEM version, check the optical
150       resolution in the manual or on the box: the 600CP has a maximum optical
151       resolution  of 300x600 DPI, whereas the 1200CP and 1200CP+ have a maxi‐
152       mum optical resolution of 600x1200 DPI.
153
154       Examples:
155
156              scanner "LifeTec 9350" 0x378 cis1200
157
158              scanner Mustek_600CP 0x378 cis600
159
160              scanner Mustek_600IIIEP * ccd300
161
162       If in doubt which port you have to use, or whether your scanner is  de‐
163       tected at all, you can use sane-find-scanner -p to probe all configured
164       ports.
165
166

CONFIGURATION

168       The contents of the mustek_pp.conf file is a list of device definitions
169       and device options that correspond to Mustek scanners.  Empty lines and
170       lines starting with a hash mark (#) are ignored. Options have the  fol‐
171       lowing format:
172
173              option <name> [<value>]
174
175       Depending  on  the  nature  of  the  option,  a value may or may not be
176       present.  Options always apply to the scanner definition that  precedes
177       them.  There  are  no global options. Options are also driver-specific:
178       not all drivers support all possible options.
179
180
181   Common options
182       bw <value>
183              Black/white discrimination value to be used during lineart scan‐
184              ning.  Pixel  values  below  this value are assumed to be black,
185              values above are assumed to be white.
186              Default value: 127
187              Minimum:         0
188              Maximum:       255
189
190              Example:  option bw 150
191
192
193   CIS driver options
194       top_adjust <value>
195              Vertical adjustment  of  the  origin,  expressed  in  millimeter
196              (floating  point).  This option can be used to calibrate the po‐
197              sition of the origin, within certain limits. Note that CIS scan‐
198              ners  are probably temperature sensitive, and that a certain in‐
199              accuracy may be hard to avoid.  Differences  in  offset  between
200              runs in the order of 1 to 2 mm are not unusual.
201              Default value: 0.0
202              Minimum:      -5.0
203              Maximum:       5.0
204
205              Example:  option top_adjust -2.5
206
207       slow_skip
208              Turns  fast  skipping  to the start of the scan region off. When
209              the region to scan does not start at the origin, the driver will
210              try  to  move  the scanhead to the start of the scan area at the
211              fastest possible speed. On some models, this may not  work,  re‐
212              sulting  in  large inaccuracies (up to centimeters).  By setting
213              this option, the driver is forced to  use  normal  speed  during
214              skipping, which can circumvent the accuracy problems. Currently,
215              there are no models for  which  these  inaccuracy  problems  are
216              known to occur.
217
218              By default, fast skipping is used.
219
220              Example:  option slow_skip
221
222       engine_delay <value>
223              Under  normal  circumstances, it is sufficient for the driver to
224              wait for the scanner signaling that the engine is stable, before
225              a  new engine command can be transmitted. In rare cases, certain
226              scanners and/or parallel port chipsets appear to  prevent  reli‐
227              able detection of the engine state. As a result, engine commands
228              are transmitted too soon and the movement of  the  scanner  head
229              becomes  unreliable.  Inaccuracies  ranging up to 10 cm over the
230              whole vertical scan range have been  reported.  To  work  around
231              this  problem, the engine_delay option can be set. If it is set,
232              the driver waits an additional amount of time after every engine
233              command,  equal to the engine_delay parameter, expressed in mil‐
234              liseconds. It practice an engine_delay of 1 ms is usually suffi‐
235              cient. The maximum delay is 100 ms.
236
237              Note  that every additional ms of delay can add up to 14 seconds
238              to the total scanning time (highest resolution), so an as  small
239              as possible value is preferred.
240
241              Default value:   0
242              Minimum:         0
243              Maximum:       100
244
245              Example:  option engine_delay 1
246
247
248   CCD driver options
249       top <value>
250              Number  of  scanlines to skip to the start of the scan area. The
251              number can be any positive integer. Values known to  me  are  47
252              and 56.
253
254              Default value: 47
255              Minimum:       0
256              Maximum:       none
257
258              Example:  option top 56
259
260       waitbank <value>
261              The  number  of  usecs to wait for a bank change. You should not
262              touch this value actually. May be any positive integer
263
264              Default value: 700
265              Minimum:       0
266              Maximum:       none
267
268              Example:  option waitbank 700
269
270       A sample configuration file is shown below:
271
272       #
273       # LifeTec/Medion 9350 on port 0x378
274       #
275       scanner "LifeTec 9350" 0x378 cis1200
276
277       # Some calibration options (examples!).
278       option bw 127
279       option top_skip -0.8
280
281       #
282       # A Mustek 600CP on port 0x3BC
283       #
284       scanner "Mustek 600CP" 0x3BC cis600
285
286       # Some calibration options (examples!).
287       option bw 120
288       option top_skip 1.2
289
290       #
291       # A Mustek 1200CP+ on port 0x278
292       #
293       scanner "Mustek 1200CP plus" 0x278 cis1200+
294
295       # Some calibration options (examples!).
296       option bw 130
297       option top_skip 0.2
298
299       #
300       # A Mustek 600 III EPP on port parport0
301       #
302       scanner "Mustek 600 III EPP" parport0 ccd300
303
304       # Some calibration options (examples!).
305       option bw 130
306       option top 56
307
308
309

GLOBAL OPTIONS

311       You can control the overall behaviour of the  sane-stek_pp  backend  by
312       global   options   which   precede   any   scanner  definition  in  the
313       mustek_pp.conf file.
314
315       Currently, there is only one global option:
316
317
318   Global options
319       no_epp Disable parallel port mode EPP: works around a known bug in  the
320              Linux  parport  code.  Enable  this option, if the backend hangs
321              when trying to access the parallel port in EPP mode.
322
323              Default value: use EPP
324
325              Example:  option no_epp
326
327

FILES

329       /etc/sane.d/mustek_pp.conf
330              The  backend  configuration  file  (see  also   description   of
331              SANE_CONFIG_DIR below).
332
333       /usr/lib64/sane/libsane-mustek_pp.a
334              The static library implementing this backend.
335
336       /usr/lib64/sane/libsane-mustek_pp.so
337              The shared library implementing this backend (present on systems
338              that support dynamic loading).
339
340

ENVIRONMENT

342       SANE_CONFIG_DIR
343              This environment variable specifies the list of directories that
344              may contain the configuration file.  On *NIX systems, the direc‐
345              tories are separated by a colon (`:'), under OS/2, they are sep‐
346              arated  by a semi-colon (`;').  If this variable is not set, the
347              configuration file  is  searched  in  two  default  directories:
348              first,   the   current  working  directory  (".")  and  then  in
349              /etc/sane.d.  If the value of the environment variable ends with
350              the  directory separator character, then the default directories
351              are searched after the explicitly  specified  directories.   For
352              example,  setting SANE_CONFIG_DIR to "/tmp/config:" would result
353              in directories tmp/config, ., and /etc/sane.d being searched (in
354              this order).
355
356       SANE_DEBUG_MUSTEK_PP
357              If the library was compiled with debug support enabled, this en‐
358              vironment variable controls the debug level  for  this  backend.
359              E.g.,  a  value  of 128 requests all debug output to be printed.
360              Smaller levels reduce verbosity.
361
362              level   debug output
363              --------------------------------------
364               0      nothing
365               1      errors
366               2      warnings & minor errors
367               3      additional information
368               4      debug information
369               5      code flow (not supported yet)
370               6      special debug information
371
372
373       SANE_DEBUG_SANEI_PA4S2
374              This variable sets the debug level for the  SANE  interface  for
375              the  Mustek chipset A4S2. Note that enabling this will spam your
376              terminal with some million lines of debug output.
377
378              level   debug output
379              ----------------------------
380               0      nothing
381               1      errors
382               2      warnings
383               3      things nice to know
384               4      code flow
385               5      detailed code flow
386               6      everything
387
388
389

SEE ALSO

391       sane(7), sane-mustek(5), sane-net(5),  saned(8),  sane-find-scanner(1),
392       scanimage(1)
393
394
395       For latest bug fixes and information see
396              http://www.penguin-breeder.org/sane/mustek_pp/
397
398
399       For additional information on the CIS driver, see
400              http://home.scarlet.be/eddy_de_greef/
401
402

AUTHORS

404       Jochen Eisinger
405       <jochen at penguin-breeder dot org>
406       Eddy De Greef
407       <eddy_de_greef at scarlet dot be>
408
409

BUGS

411       Too  many...  please  send  bug  reports to sane-devel@alioth-lists.de‐
412       bian.net (note that you have to subscribe first to the list before  you
413       can send emails... see http://www.sane-project.org/mailing-lists.html).
414
415

BUG REPORTS

417       If  something doesn't work, please contact us (Jochen for the CCD scan‐
418       ners, Eddy for the CIS scanners). But we need  some  information  about
419       your scanner to be able to help you...
420
421
422       SANE version
423              Run scanimage -V to determine this.
424
425       the backend version and your scanner hardware
426              Run  SANE_DEBUG_MUSTEK_PP=128 scanimage -L as root. If you don't
427              get any output from the sane-mustek_pp backend, make sure a line
428              "mustek_pp" is included into your /etc/sane.d/dll.conf.  If your
429              scanner isn't detected, make sure you've defined the right  port
430              address in your mustek_pp.conf.
431
432       the  name of your scanner/vendor also a worthy information. Please also
433       include the
434              optical resolution and lamp type of your scanner,  both  can  be
435              found in the manual of your scanner.
436
437       any further comments
438              if you have comments about the documentation (what could be done
439              better), or you think I should know  something,  please  include
440              it.
441
442
443
444                                  13 Jul 2008                sane-mustek_pp(5)
Impressum