1sane-canon_pp(5)         SANE Scanner Access Now Easy         sane-canon_pp(5)
2
3
4

NAME

6       sane-canon_pp  -  SANE backend for Canon CanoScan Parallel Port flatbed
7       scanners
8

DESCRIPTION

10       The sane-canon_pp library implements a SANE (Scanner Access  Now  Easy)
11       backend that provides access to the following Canon flatbed scanners:
12
13              CanoScan FB320P
14              CanoScan FB620P
15              CanoScan FB330P
16              CanoScan FB630P
17              CanoScan N340P
18              CanoScan N640P
19              CanoScan N640P ex
20
21       No USB scanners are supported and there are no plans to support them in
22       the future.  Other projects are working on support  for  USB  scanners.
23       See  the  PROJECTS file for more detail.  The FB310P and FB610P are re-
24       badged Avision scanners which use a different command set, so  are  un‐
25       likely to be supported by this backend in the future.
26
27       IMPORTANT:  this is alpha code. While we have made every effort to make
28       it as reliable as possible, it will not always work as expected.  Feed‐
29       back  is  still  appreciated.  Please send any bug reports to the main‐
30       tainers as listed on the web page (listed in SEE ALSO below).
31
32

DEVICE NAMES

34       This backend  expects  device  names  of  the  form  presented  by  li‐
35       bieee1284(3).  These names are highly dependent on operating system and
36       version.
37
38       On Linux 2.4 kernels this will be of the form parport0  or  older  (2.2
39       and  before)  kernels may produce names like 0x378 (the base address of
40       your port) or simply 0 depending on your module  configuration.   Check
41       the contents of /proc/parport if it exists.  If you don't want to spec‐
42       ify a default port (or don't know its name), the backend should be able
43       to detect which port your scanner is on.
44
45

CONFIGURATION

47       The  contents  of  the  canon_pp.conf file is a list of options for the
48       driver to use.  Empty lines and lines starting with a hash mark (#) are
49       ignored.
50
51       The supported options are currently ieee1284, calibrate, init_mode, and
52       force_nibble
53
54       Option ieee1284 port-name defines which port to  use.   The  format  of
55       port-name is OS dependent, based on the names presented by libieee1284.
56       Please only have one of these lines, or all but one will be ignored.
57
58       Option calibrate cal-file [port-name] defines which calibration file to
59       use  on  a per-port basis.  If you only have one parport, the port-name
60       argument may be omitted - but be careful as this will cause problems on
61       multi-scanner  systems.   You  may  have  as many of these lines as you
62       like, as long as each has a unique port name.  The tilde (`~')  charac‐
63       ter  is  acceptable and will be expanded to the value of the HOME envi‐
64       ronment.
65
66       Option init_mode <AUTO|FB620P|FB630P> [portname] defines which initial‐
67       isation  (wake-up)  mode  to use on a per-port basis.  If you only have
68       one parport, the portname argument may be omitted - but be  careful  as
69       this may cause problems on multi-scanner systems.  You may have as many
70       of these lines as you like, as long as each has  a  unique  port  name.
71       The  valid  initialisation modes are FB620P (which strobes 10101010 and
72       01010101 on the data pins), FB630P (which strobes 11001100 and 00110011
73       on  the  data  pins)  and  AUTO,  which will try FB630P mode first then
74       FB620P mode second.  The FB620P mode is also used by the  FB320P.   The
75       FB630P mode is used by the FB330P, N340P, and N640P.
76
77       Option  force_nibble  forces  the driver to use nibble mode even if ECP
78       mode is reported to work by libieee1284.  This  works-around  the  rare
79       issue of ECP mode being reported to work by the library, then not work‐
80       ing.
81
82

TIPS

84       Hit the "Calibrate" button before scanning.   It  vastly  improves  the
85       quality of scans.
86
87       To enable automatic detection of your scanner, uncomment the "canon_pp"
88       line from /etc/sane.d/dll.conf
89

FILES

91       /etc/sane.d/canon_pp.conf
92              The  backend  configuration  file  (see  also   description   of
93              SANE_CONFIG_DIR below).
94
95       /usr/lib64/sane/libsane-canon_pp.a
96              The static library implementing this backend.
97
98       /usr/lib64/sane/libsane-canon_pp.so
99              The shared library implementing this backend (present on systems
100              that support dynamic loading).
101

ENVIRONMENT

103       SANE_CONFIG_DIR
104              This environment variable specifies the list of directories that
105              may contain the configuration file.  On *NIX systems, the direc‐
106              tories are separated by a colon (`:'), under OS/2, they are sep‐
107              arated  by a semi-colon (`;').  If this variable is not set, the
108              configuration file  is  searched  in  two  default  directories:
109              first,   the   current  working  directory  (".")  and  then  in
110              /etc/sane.d.  If the value of the environment variable ends with
111              the  directory separator character, then the default directories
112              are searched after the explicitly specified directories. For ex‐
113              ample, setting SANE_CONFIG_DIR to "/tmp/config:" would result in
114              directories tmp/config, ., and /etc/sane.d  being  searched  (in
115              this order).
116
117       SANE_DEBUG_CANON_PP
118              If the library was compiled with debug support enabled, this en‐
119              vironment variable controls the debug level  for  this  backend.
120              Higher debug levels increase the verbosity of the output.
121
122              Example: export SANE_DEBUG_CANON_PP=4
123

NOTES

125       Features available in the Windows interface
126
127       Brightness and Contrast
128              These  are  not  implemented, and probably never will be.  These
129              appear to be implemented entirely in software.  Use  GIMP  or  a
130              similar program if you need these features.
131
132       Descreen Mode
133              This  appears on our first analysis to be just oversampling with
134              an anti-aliasing filter.  Again, it seems to be implemented  en‐
135              tirely in software, so GIMP is your best bet for now.
136
137       Gamma Tables
138              This  is  under  investigation,  but for now only a simple gamma
139              profile (ie:  the  one  returned  during  calibration)  will  be
140              loaded.
141
142       Communication Problems
143
144       ECP  mode  in  libieee1284  doesn't always work properly, even with new
145       hardware.  We believe that this is a ppdev problem.  If you change  the
146       configuration  file to include force_nibble , the problem will go away,
147       but you will only be able to scan in nibble mode.
148
149       Sometimes the scanner can be left in a state where our code cannot  re‐
150       vive it.  If the backend reports no scanner present, try unplugging the
151       power and plugging it back in.  Also try unplugging printers  from  the
152       pass-through port.
153
154       The  scanner  will not respond correctly to our commands when you first
155       plug in the power.  You may find if you try  a  scan  very  soon  after
156       plugging in the power that the backend will incorrectly report that you
157       have no scanner present.  To avoid this, give it about  10  seconds  to
158       reset itself before attempting any scans.
159
160       Repeated Lines
161
162       Sometimes  at high resolutions (ie. 600dpi) you will notice lines which
163       appear twice.  These lines correspond to points where the scanner  head
164       has stopped during the scan (it stops every time the internal 64kb buf‐
165       fer is full).  Basically it's a mechanical problem inside the  scanner,
166       that  the  tolerance of movement for a start/stop event is greater than
167       1/600 inches.  I've never tried the windows driver so I'm not sure  how
168       (or  if)  it  works  around  this  problem, but as we don't know how to
169       rewind the scanner head to do these bits again,  there's  currently  no
170       nice way to deal with the problem.
171
172       Grey-scale Scans
173
174       Be aware that the scanner uses the green LEDs to read grey-scale scans,
175       meaning green coloured things will appear lighter than normal, and  red
176       and blue coloured items will appear darker than normal.  For high-accu‐
177       racy grey-scale scans of colour items, it's best just to scan in colour
178       and convert to grey-scale in graphics software such as the GIMP.
179
180       FB620P/FB320P Caveats
181
182       These  models can not be reset in the same way as the others.  The win‐
183       dows driver doesn't know how to reset them either - when left  with  an
184       inconsistent scanner, it will start scanning half way down the page!
185
186       Aborting  is known to work correctly on the FB*30P models, and is known
187       to be broken on the FB*20P models.  The FB620P which I tested on simply
188       returns garbage after a scan has been aborted using the method we know.
189       Aborting is able to leave the scanner in a state where it can  be  shut
190       down, but not where another scan can be made.
191
192
193

SEE ALSO

195       sane(7), sane-dll(5), libieee1284(3),
196       http://canon-fb330p.sourceforge.net/
197
198

AUTHOR

200       This backend is primarily the work of Simon Krix (Reverse Engineering),
201       and Matthew Duggan (SANE interface).
202
203       Many thanks to Kevin Easton for his comments and help, and Kent A. Sig‐
204       norini for his help with the N340P.
205
206
207
208                                  11 Jul 2008                 sane-canon_pp(5)
Impressum