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
32

DEVICE NAMES

34       This  backend  expects  device  names  of   the   form   presented   by
35       libieee1284(3).   These  names are highly dependent on operating system
36       and 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.  Under UNIX, the directories
106              are separated by a colon (`:'), under OS/2, they  are  separated
107              by a semi-colon (`;').  If this variable is not set, the config‐
108              uration file is searched in two default directories: first,  the
109              current working directory (".") and then in /etc/sane.d.  If the
110              value of the environment variable ends with the directory  sepa‐
111              rator character, then the default directories are searched after
112              the  explicitly  specified  directories.  For  example,  setting
113              SANE_CONFIG_DIR  to  "/tmp/config:"  would result in directories
114              tmp/config, ., and /etc/sane.d being searched (in this order).
115
116       SANE_DEBUG_CANON_PP
117              If the library was compiled with  debug  support  enabled,  this
118              environment  variable controls the debug level for this backend.
119              Higher debug levels increase the verbosity of the output.
120
121              Example: export SANE_DEBUG_CANON_PP=4
122

NOTES

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

SEE ALSO

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

AUTHOR

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