summaryrefslogtreecommitdiff
path: root/doc/sane-plustek_pp.man
blob: 2ef9b9672d38757f53a860c9060a2057b8522458 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
.TH sane\-plustek_pp 5 "14 Jul 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.IX sane\-plustek_pp
.SH NAME
sane\-plustek_pp \- SANE backend for Plustek parallel port
flatbed scanners
.SH DESCRIPTION
The
.B sane\-plustek_pp
library implements a SANE (Scanner Access Now Easy) backend that
provides access to Plustek ASIC 9600[1/3] and P9800[1/3] based
parallel port flatbed scanners.
The access of the scanner is either done directly by the backend
or via kernel module, called pt_drv which can be created out of
the
.B sane\-plustek_pp
backend code \- see also section
.B "BUILDING THE KERNEL MODULE"
for further information.

.SH "SUPPORTED DEVICES"

At present, the following scanners should work with this backend
and/or the kernel module:
.PP
.B "PLUSTEK SCANNERS"
.PP
.ft CR
.nf
Parallelport Model:    ASIC: Properties:
---------------------- ----- ------------------------
OpticPro PT12          98003 600x1200 dpi 36bit 512Kb
OpticPro P12           98003 600x1200 dpi 36bit 512Kb
OpticPro 9636T/12000T  98001 600x1200 dpi 36bit 512Kb
OpticPro 12000P Turbo  98001 600x1200 dpi 36bit 512Kb
OpticPro 9636P+/Turbo  98001 600x1200 dpi 36bit 512Kb
OpticPro 9636P         96003 600x1200 dpi 36bit 128Kb
OpticPro 12000P/96000P 96003 600x1200 dpi 36bit 128Kb
OpticPro 1236P         96003 600x1200 dpi 30bit 128Kb
OpticPro 9600P         96003 600x1200 dpi 30bit 128Kb
OpticPro 9630P/FBIV    96003 600x1200 dpi 30bit 128Kb
OpticPro 9630PL (14")  96003 600x1200 dpi 30bit 128Kb
OpticPro A3I           96003  400x800 dpi 36bit 128Kb
OpticPro 600P/6000P    96003  300x600 dpi 30bit  32Kb
OpticPro 4831P         96003  300x600 dpi 30bit  32Kb
OpticPro 4830P/FBIII   96003  300x600 dpi 30bit  32Kb
OpticPro 4800P/FBII    96001  300x600 dpi 24bit  32Kb
.fi
.ft R
.PP

.B "PRIMAX SCANNERS"

There are some scanners sold by Primax, but they are in fact
Plustek devices. These scanners are also supported.
The following table will show the relationship:
.PP
.ft CR
.nf
Model:                      Plustek Model:  Remarks:
--------------------------- --------------  ------------
Colorado 4800               OpticPro 4800   not tested
Compact 4800 Direct         OpticPro 600    mov=2
Compact 4800 Direct 30bit   OpticPro 4830   mov=7
Compact 9600 Direct 30bit   OpticPro 9630   works
.fi
.ft R
.PP

.B "GENIUS SCANNERS"

The following devices are sold as Genius Scanners, but are in fact
Plustek devices.
The table will show the relationship:
.PP
.ft CR
.nf
Model:                      Remarks:
--------------------------- ----------------------------
Colorpage Vivid III V2      Like P12 but has two buttons
                            and Wolfson DAC
.fi
.ft R
.PP

.B "ARIES SCANNERS"

There's one scanner sold as Aries Scanner, but is in fact a
Plustek device.
The following table will show the relationship:
.PP
.ft CR
.nf
Model:                      Plustek Model:  Remarks:
--------------------------- --------------  ------------
Scan-It 4800                OpticPro 600    mov=2
.fi
.ft R
.PP

.B "BrightScan SCANNERS"

There's one scanner sold as BrightScan OpticPro Scanner, this is also
a rebadged Plustek device.
The following table will show the relationship:
.PP
.ft CR
.nf
Model:                      Remarks:
--------------------------- ----------------------------
BrightScan OpticPro         OpticPro P12
.fi
.ft R

.SH "DEVICE NAMES"
This backend works in two modes, the so called "direct-mode"
and the "kernel-mode". In direct-mode, the user-space backend is
used, in kernel-mode, you should have a kernel-module named pt_drv
loaded.
This backends default device is:
.PP
.RS
.I 0x378
.RE
.PP
This "default device" will be used, if no configuration
file can be found. It is rather the base address of the parallel port
on i386 machines.
.PP
As the backend supports up to four devices, it is possible to
specify them in the configuration file
.PP
.RS
.I @CONFIGDIR@/plustek_pp.conf
.RE
.PP
See this file for examples.
.PP

.SH "CONFIGURATION"
.PP
This section describes the backend's configuration file entries.
The file is located at:
.I @CONFIGDIR@/plustek_pp.conf
.PP
For a proper setup, you will need at least two entries:
.RS
.PP
.I [direct]
.br
.I device 0x378
.RE
.PP
or
.RS
.I [kernel]
.br
.I device /dev/pt_drv
.RE
.PP
.I direct
tells the backend, that the following devicename (here
.IR 0x378 )
has to be interpreted as parallel port scanner device. In
fact it is the address to use, alternatively you can use
.I /dev/parport0
if the backend has been compiled with libieee1284 support.
.I kernel
should only be used, when a kernel-module has been built
out of the backend sources. See below for more instructions
about this.
.PP
Further options:
.PP
option warmup t
.RS
.I t
specifies the warmup period in seconds
.RE
.PP
option lampOff t
.RS
.I t
is the time in seconds for switching off the lamps in
standby mode
.RE
.PP
option lOffonEnd b
.RS
.I b
specifies the behaviour when closing the backend, 1 --> switch
lamps off, 0 --> do not change lamp status
.RE
.PP
option mov m
.RS
.I m
is the model override switch, which only works in direct mode.
.TP
.IR m " = 0"
default: no override
.TP
.IR m " = 1"
OpticPro 9630PL override (works if OP9630
has been detected) forces legal size (14")
.TP
.IR m " = 2"
Primax 4800Direct override (works if OP600
has been detected) swaps red/green color
.TP
.IR m " = 3"
OpticPro 9636 override (works if OP9636 has
been detected) disables backends
transparency/negative capabilities
.TP
.IR m " = 4"
OpticPro 9636P override (works if OP9636 has
been detected) disables backends
transparency/negative capabilities
.TP
.IR m " = 5"
OpticPro A3I override (works if OP12000 has
been detected) enables A3 scanning
.TP
.IR m " = 6"
OpticPro 4800P override (works if OP600
has been detected) swaps red/green color
.TP
.IR m " = 7"
Primax 4800Direct 30bit override (works if
OP4830 has been detected)
.RE
.PP
See the
.I plustek_pp.conf
file for examples.
.PP

.SH "BUILDING THE KERNEL MODULE"
As mentioned before, the
.B sane\-plustek_pp
backend code can also be compiled and installed as linux kernel module. To do so,
you will need the source-files of this sane\-backend installation.
Unpack this tar-ball and go to the directory:
.IR sane\-backends/doc/plustek .
Within this directory, you should find a script called:
.IR MakeModule.sh .
Now if your Linux kernelsources are installed correctly,
it should be possible to build, install and load the
module
.BR pt_drv .
.B Please note,
that the kernelsources need to be configured correctly.
Refer to your distributions
manual on how this is done. As root user, try
.PP
.I ./MakeModule.sh
.PP
the script will try and get all necessary information about your
running kernel and will lead you through the whole installation
process.
.br
.B Note: Installing and loading the can only be done as
superuser.
.PP

.SH "KERNEL MODULE SETUP"
The configuration of the kernel module is done by providing
some or more options found below to the kernel module at
load time. This can be done by invoking
.BR insmod (8)
with the appropriate parameters or appending the options to the file
.I /etc/modules.conf (kernel < 2.6.x)
or
.I /etc/modprobe.conf (kernel >= 2.6.x)
.PP
.B
The Options:
.br
lampoff=lll
.RS
The value
.I lll
tells the driver, after how many seconds to
switch-off the lamp(s). The default value is 180.
0 will disable this feature.
.br
.B HINT:
Do not use a value that is too small, because often
switching on/off the lamps will reduce their lifetime.
.RE
.PP
port=ppp
.RS
.I ppp
specifies the port base address, where the scanner
is connected to. The default value is 0x378, which
is normally a standard.
.RE
.PP
warmup=www
.RS
.I www
specifies the time in seconds, how long a lamp has to be on,
until the driver will start to scan. The default value is 30.
.RE
.PP
lOffonEnd=e
.RS
.I e
specifies the behaviour when unloading the driver, 1 --> switch
lamps off, 0 --> do not change lamp status
.RE
.PP
slowIO=s
.RS
.I s
specifies which I/O functions the driver should use, 1 --> use
delayed functions, 0 --> use the non-delayed ones
.RE
.PP
forceMode=fm
.RS
.I fm
specifies port mode which should be used, 0 --> autodetection,
1 --> use SPP mode and 2 --> use EPP mode
.RE
.PP
mov=m
.RS
.TP
.IR m " = 0"
default: no override
.TP
.IR m " = 1"
OpticPro 9630PL override (works if OP9630
has been detected) forces legal size (14")
.TP
.IR m " = 2"
Primax 4800Direct override (works if OP600
has been detected) swaps red/green color
.TP
.IR m " = 3"
OpticPro 9636 override (works if OP9636 has
been detected) disables backends
transparency/negative capabilities
.TP
.IR m " = 4"
OpticPro 9636P override (works if OP9636 has
been detected) disables backends
transparency/negative capabilities
.TP
.IR m " = 5"
OpticPro A3I override (works if OP12000 has
been detected) enables A3 scanning
.TP
.IR m " = 6"
OpticPro 4800P override (works if OP600
has been detected) swaps red/green color
.TP
.IR m " = 7"
Primax 4800Direct 30bit override (works if
OP4830 has been detected)
.RE
.PP
Sample entry for file
.IR /etc/modules.conf :
.PP
.RS
alias char\-major\-40 pt_drv
.br
pre-install pt_drv modprobe -k parport
.br
options pt_drv lampoff=180 warmup=15 port=0x378 lOffonEnd=0 mov=0 slowIO=0 forceMode=0
.RE
.PP
For multidevice support, simply add values separated by commas to
the different options
.PP
.RS
options pt_drv port=0x378,0x278 mov=0,4 slowIO=0,1 forceMode=0,1
.RE
.PP
Remember to call
.BR depmod (8)
after changing
.IR /etc/conf.modules .
.PP

.SH "PARALLEL PORT MODES"
.PP
The current driver works best, when the parallel port
has been set to EPP-mode. When detecting any other
mode such as ECP or PS/2 the driver tries to set to a
faster, supported mode. If this fails, it will use the
SPP mode, as this mode should work with all Linux supported
parallel ports. If in doubt, enter your BIOS and set it to
any mode except ECP.
.PP
Former Plustek scanner models (4830, 9630) supplied a
ISA parallel port adapter card. This card is
.BR not
supported by the driver.
.PP
The ASIC 96001/3 based models have sometimes trouble with
high resolution modes. If you encounter sporadic corrupted
images (parts duplicated or shifted horizontally) kill all
other applications before scanning and (if sufficient
memory available) disable swapping.
.PP
See the
.I plustek_pp.conf
file for examples.
.PP

.SH FILES
.TP
.I @CONFIGDIR@/plustek_pp.conf
The backend configuration file
.TP
.I @LIBDIR@/libsane\-plustek_pp.a
The static library implementing this backend.
.TP
.I @LIBDIR@/libsane\-plustek_pp.so
The shared library implementing this backend (present on systems that
support dynamic loading).
.TP
.I /lib/modules/<Kernel-Version>/kernel/drivers/parport/pt_drv.o
The Linux kernelmodule for kernels < 2.6.x.
.TP
.I /lib/modules/<Kernel-Version>/kernel/drivers/parport/pt_drv.ko
The Linux kernelmodule for kernels >= 2.6.x.
.PP

.SH ENVIRONMENT
.TP
.B SANE_CONFIG_DIR
This environment variable specifies the list of directories that may
contain the configuration file.  On *NIX systems, 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
.IR @CONFIGDIR@ .
If the value of the
environment variable ends with the directory separator character, then
the default directories are searched after the explicitly specified
directories.  For example, setting
.B SANE_CONFIG_DIR
to "/tmp/config:" would result in directories
.IR "tmp/config" ,
.IR "." ,
and
.I "@CONFIGDIR@"
being searched (in this order).
.TP
.B SANE_DEBUG_PLUSTEK_PP
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.

Example:
export SANE_DEBUG_PLUSTEK_PP=10

.SH "SEE ALSO"
.BR sane (7),
.BR xscanimage (1),
.br
.I @DOCDIR@/plustek/Plustek\-PARPORT.changes

.SH "CONTACT AND BUG-REPORTS"
Please send any information and bug-reports to:
.br
.B SANE Mailing List
.PP
Additional info and hints can be obtained from our
.br
Mailing-List archive at:
.br
.I http://www.sane\-project.org/mailing\-lists.html
.PP
To obtain debug messages from the backend, please set the
environment-variable
.B SANE_DEBUG_PLUSTEK_PP
before calling your favorite scan-frontend (i.e.
.BR xscanimage (1)), i.e.:
.br
.I export SANE_DEBUG_PLUSTEK_PP=20 ; xscanimage
.PP
The value controls the verbosity of the backend.
.PP

.SH "KNOWN BUGS & RESTRICTIONS"
.PP
* The Halftoning works, but the quality is poor
.PP
* Printers (especially HP models) will start to
print during scanning. This in fact is a problem
to other printers too, using bidirectional protocol
(see www.plustek.com (TAIWAN) page for further details)
.PP
* The driver does not support these manic scalings up
to 16 times the physical resolution. The only scaling
is done on resolutions between the physical resolution
of the CCD-sensor and the stepper motor i.e. you have a
600x1200 dpi scanner and you are scanning using 800dpi,
so scaling is necessary, because the sensor only delivers
600dpi but the motor is capable to perform 800dpi steps.
.PP
* On some devices, the pictures seems bluish
.PP
.I ASIC 98001 based models:
.PP
* The 300dpi transparency and negative mode does not work
correctly.
.PP
* There is currently no way to distinguish a model with
and without transparency unit.
.PP
* The scanned images seem to be too dark (P9636T)
.PP
.I ASIC 96003/1 based models:
.PP
* 30bit mode is currently not supported.
.PP
* On low end systems under heavy system load the
driver may lose data, which can result in picture
corruption or cause the sensor to hit the scan bed.
.PP
* The scanning speed on 600x1200 dpi models is slow.
.PP
* The scanning quality of the A3I is poor.