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
25       unlikely 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

DEVICE NAMES

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

CONFIGURATION

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

TIPS

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

FILES

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

ENVIRONMENT

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

NOTES

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

SEE ALSO

193       sane(7), sane-dll(5)  http://canon-fb330p.sourceforge.net/
194
195

AUTHOR

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