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  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
119       addresses  have  to  be  used  instead  of port names: 0x378, 0x278, or
120       0x3BC.  The mapping of parallel ports (lp0,  lp1,  and  lp2)  to  these
121       addresses  can  be  different  for different Linux kernel versions. For
122       instance, if you are using a Kernel 2.2.x or better and you  have  only
123       one  parallel  port,  this  port  is  named  lp0 regardless of the base
124       address. However, this backend requires the base address of your  port.
125       If  you  are  not  sure which port your scanner is connected to, have a
126       look at your /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
163       detected  at all, you can use sane-find-scanner -p to probe all config‐
164       ured 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
197              position of the origin, within certain  limits.  Note  that  CIS
198              scanners  are probably temperature sensitive, and that a certain
199              inaccuracy 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,
212              resulting 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  mustek_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.  Under UNIX, the directories
345              are separated by a colon (`:'), under OS/2, they  are  separated
346              by a semi-colon (`;').  If this variable is not set, the config‐
347              uration file is searched in two default directories: first,  the
348              current working directory (".") and then in /etc/sane.d.  If the
349              value of the environment variable ends with the directory  sepa‐
350              rator character, then the default directories are searched after
351              the explicitly  specified  directories.   For  example,  setting
352              SANE_CONFIG_DIR  to  "/tmp/config:"  would result in directories
353              "tmp/config", ".", and "/etc/sane.d"  being  searched  (in  this
354              order).
355
356       SANE_DEBUG_MUSTEK_PP
357              If  the  library  was  compiled with debug support enabled, this
358              environment 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
393
394       For latest bug fixes and information see
395              http://www.penguin-breeder.org/sane/mustek_pp/
396
397
398       For additional information on the CIS driver, see
399              http://home.scarlet.be/eddy_de_greef/
400
401

AUTHORS

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

BUGS

408       Too      many...      please      send       bug       reports       to
409       sane-devel@lists.alioth.debian.org  (note  that  you  have to subscribe
410       first   to   the   list   before   you   can   send    emails...    see
411       http://www.sane-project.org/mailing-lists.html)
412
413

BUG REPORTS

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