2002-11-29 20:15:39 +00:00
|
|
|
.TH sane-canon_pp 5 "1 October 2002" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
2002-04-01 22:56:14 +00:00
|
|
|
.IX sane-canon_pp
|
|
|
|
.SH NAME
|
2002-11-29 20:15:39 +00:00
|
|
|
sane-canon_pp \- SANE backend for Canon CanoScan Parallel Port flatbed scanners
|
2002-04-01 22:56:14 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
|
|
|
.B sane-canon_pp
|
2002-09-01 08:57:34 +00:00
|
|
|
library implements a SANE (Scanner Access Now Easy) backend that provides
|
|
|
|
access to the following Canon flatbed scanners:
|
2002-04-01 22:56:14 +00:00
|
|
|
.PP
|
|
|
|
.RS
|
2002-09-03 15:20:49 +00:00
|
|
|
CanoScan FB320P
|
|
|
|
.br
|
2002-09-01 08:57:34 +00:00
|
|
|
CanoScan FB620P
|
|
|
|
.br
|
2002-04-01 22:56:14 +00:00
|
|
|
CanoScan FB330P
|
|
|
|
.br
|
|
|
|
CanoScan FB630P
|
|
|
|
.br
|
|
|
|
CanoScan N340P
|
|
|
|
.br
|
|
|
|
CanoScan N640P
|
|
|
|
.br
|
2002-07-22 16:50:55 +00:00
|
|
|
CanoScan N640P ex
|
|
|
|
.br
|
2002-04-01 22:56:14 +00:00
|
|
|
.RE
|
|
|
|
.PP
|
2002-09-01 08:57:34 +00:00
|
|
|
No USB scanners are supported and there are no plans to support them in the
|
|
|
|
future. Other projects are working on support for USB scanners. See the
|
2002-04-01 22:56:14 +00:00
|
|
|
.B PROJECTS
|
2002-09-30 15:25:14 +00:00
|
|
|
file for more detail. The FB310P and FB610P are re-badged Avision scanners
|
2002-09-16 13:42:51 +00:00
|
|
|
which use a different command set, so are unlikely to be supported by this
|
|
|
|
backend in the future.
|
2002-04-01 22:56:14 +00:00
|
|
|
.PP
|
|
|
|
IMPORTANT: this is alpha code. While we have made every effort to make it as
|
|
|
|
reliable as possible, it will not always work as expected. Feedback is still
|
|
|
|
appreciated. Please send any bug reports to the maintainers as listed on the
|
|
|
|
web page (listed in
|
|
|
|
.B SEE ALSO
|
|
|
|
below).
|
|
|
|
.PP
|
|
|
|
.
|
|
|
|
.PP
|
|
|
|
.SH "DEVICE NAMES"
|
2002-09-01 08:57:34 +00:00
|
|
|
This backend expects device names of the form presented by libieee1284. These
|
2002-09-30 15:25:14 +00:00
|
|
|
names are highly dependent on operating system and version.
|
2002-04-01 22:56:14 +00:00
|
|
|
|
|
|
|
On Linux 2.4 kernels this will be of the form
|
|
|
|
.I "parport0"
|
2002-08-07 07:56:12 +00:00
|
|
|
or older (2.2 and before) kernels may produce names like
|
2002-04-01 22:56:14 +00:00
|
|
|
.IR "0x378"
|
2002-08-07 07:56:12 +00:00
|
|
|
(the base address of your port) or simply
|
2002-04-01 22:56:14 +00:00
|
|
|
.IR "0"
|
|
|
|
depending on your module configuration. Check the contents of
|
|
|
|
.I /proc/parport
|
2002-09-01 08:57:34 +00:00
|
|
|
if it exists. If you don't want to specify a default port (or don't know its
|
|
|
|
name), the backend should be able to detect which port your scanner is on.
|
2002-04-01 22:56:14 +00:00
|
|
|
|
|
|
|
.SH CONFIGURATION
|
|
|
|
The contents of the
|
|
|
|
.I canon_pp.conf
|
|
|
|
file is a list of options for the driver to use. Empty lines and lines
|
|
|
|
starting with a hash mark (#) are ignored.
|
|
|
|
.PP
|
|
|
|
The supported options are currently
|
|
|
|
.BR ieee1284 ,
|
|
|
|
.BR calibrate ,
|
2002-09-17 10:33:22 +00:00
|
|
|
.BR init_mode ,
|
2002-04-01 22:56:14 +00:00
|
|
|
and
|
|
|
|
.BR force_nibble
|
|
|
|
|
|
|
|
Option
|
|
|
|
.B ieee1284
|
2002-09-30 15:25:14 +00:00
|
|
|
.IR port-name
|
|
|
|
defines which port to use. The format of port-name is OS dependent, based on
|
2002-04-01 22:56:14 +00:00
|
|
|
the names presented by libieee1284. Please only have one of these lines, or
|
|
|
|
all but one will be ignored.
|
|
|
|
|
|
|
|
Option
|
|
|
|
.B calibrate
|
|
|
|
.IR cal-file
|
2002-09-30 15:25:14 +00:00
|
|
|
.IR [port-name]
|
2002-04-01 22:56:14 +00:00
|
|
|
defines which calibration file to use on a per-port basis. If you only have
|
2002-09-30 15:25:14 +00:00
|
|
|
one parport, the port-name argument may be omitted - but be careful as this
|
2002-04-01 22:56:14 +00:00
|
|
|
will cause problems on multi-scanner systems. You may have as many of these
|
|
|
|
lines as you like, as long as each has a unique port name. The tilde (`~')
|
2002-09-30 15:25:14 +00:00
|
|
|
character is acceptable and will be expanded to the value of the HOME
|
2002-09-17 10:33:22 +00:00
|
|
|
environment.
|
|
|
|
|
|
|
|
Option
|
|
|
|
.B init_mode
|
|
|
|
.IR <AUTO|FB620P|FB630P>
|
|
|
|
.IR [portname]
|
|
|
|
defines which initialisation (wake-up) mode to use on a per-port basis.
|
|
|
|
If you only have one parport, the portname argument may be omitted - but
|
|
|
|
be careful as this may cause problems on multi-scanner systems.
|
|
|
|
You may have as many of these lines as you like, as long as each has a unique
|
|
|
|
port name. The valid initialisation modes are FB620P (which strobes 10101010
|
|
|
|
and 01010101 on the data pins), FB630P (which strobes 11001100 and 00110011
|
|
|
|
on the data pins) and AUTO, which will try FB630P mode first then FB620P mode
|
|
|
|
second. The FB620P mode is also used by the FB320P. The FB630P mode is used
|
|
|
|
by the FB330P, N340P, and N640P.
|
2002-04-01 22:56:14 +00:00
|
|
|
|
|
|
|
Option
|
|
|
|
.B force_nibble
|
2002-09-01 08:57:34 +00:00
|
|
|
forces the driver to use nibble mode even if ECP mode is reported to work by
|
|
|
|
libieee1284. This works-around the rare issue of ECP mode being reported to
|
2002-04-01 22:56:14 +00:00
|
|
|
work by the library, then not working.
|
|
|
|
|
|
|
|
.SH TIPS
|
|
|
|
.PP
|
2002-09-01 08:57:34 +00:00
|
|
|
Hit the "Calibrate" button before scanning. It vastly improves the quality of
|
|
|
|
scans.
|
2002-04-01 22:56:14 +00:00
|
|
|
.PP
|
2002-09-01 08:57:34 +00:00
|
|
|
To enable automatic detection of your scanner, uncomment the "canon_pp" line
|
|
|
|
from
|
2002-04-01 22:56:14 +00:00
|
|
|
.I @CONFIGDIR@/dll.conf
|
|
|
|
.PP
|
|
|
|
.SH FILES
|
|
|
|
.TP
|
|
|
|
.I @CONFIGDIR@/canon_pp.conf
|
|
|
|
The backend configuration file (see also description of
|
|
|
|
.B SANE_CONFIG_DIR
|
|
|
|
below).
|
|
|
|
.TP
|
|
|
|
.I @LIBDIR@/libsane-canon_pp.a
|
|
|
|
The static library implementing this backend.
|
|
|
|
.TP
|
|
|
|
.I @LIBDIR@/libsane-canon_pp.so
|
2002-09-01 08:57:34 +00:00
|
|
|
The shared library implementing this backend (present on systems that support
|
|
|
|
dynamic loading).
|
2002-04-01 22:56:14 +00:00
|
|
|
.SH ENVIRONMENT
|
|
|
|
.TP
|
|
|
|
.B SANE_CONFIG_DIR
|
2002-09-01 08:57:34 +00:00
|
|
|
This environment variable specifies the list of directories that may contain
|
|
|
|
the configuration file. Under UNIX, 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 @CONFIGDIR@. If the
|
|
|
|
value of the environment variable ends with the directory separator character,
|
|
|
|
then the default directories are searched after the explicitly specified
|
2002-04-01 22:56:14 +00:00
|
|
|
directories. For example, setting
|
|
|
|
.B SANE_CONFIG_DIR
|
|
|
|
to "/tmp/config:" would result in directories "tmp/config", ".", and
|
|
|
|
"@CONFIGDIR@" being searched (in this order).
|
|
|
|
.TP
|
|
|
|
.B SANE_DEBUG_CANON_PP
|
2002-09-01 08:57:34 +00:00
|
|
|
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.
|
2002-04-01 22:56:14 +00:00
|
|
|
|
|
|
|
Example:
|
|
|
|
export SANE_DEBUG_CANON_PP=4
|
2002-04-07 11:21:39 +00:00
|
|
|
.SH NOTES
|
|
|
|
.B Features available in the Windows interface
|
2002-04-01 22:56:14 +00:00
|
|
|
.TP
|
|
|
|
.B Brightness and Contrast
|
2002-09-01 08:57:34 +00:00
|
|
|
These are not implemented, and probably never will be. These appear to be
|
2002-09-30 15:25:14 +00:00
|
|
|
implemented entirely in software. Use GIMP or a similar program if you need
|
2002-09-01 08:57:34 +00:00
|
|
|
these features.
|
2002-04-01 22:56:14 +00:00
|
|
|
.TP
|
|
|
|
.B Descreen Mode
|
|
|
|
This appears on our first analysis to be just oversampling with an
|
2002-09-30 15:25:14 +00:00
|
|
|
anti-aliasing filter. Again, it seems to be implemented entirely in software,
|
2002-09-01 08:57:34 +00:00
|
|
|
so GIMP is your best bet for now.
|
2002-04-01 22:56:14 +00:00
|
|
|
.TP
|
|
|
|
.B Gamma Tables
|
2002-08-07 07:56:12 +00:00
|
|
|
This is under investigation, but for now only a simple gamma profile (ie: the
|
|
|
|
one returned during calibration) will be loaded.
|
2002-04-07 11:21:39 +00:00
|
|
|
.PP
|
2002-08-07 07:56:12 +00:00
|
|
|
.B Communication Problems
|
2002-04-07 11:21:39 +00:00
|
|
|
.PP
|
|
|
|
ECP mode in libieee1284 doesn't always work properly, even with new hardware.
|
2002-09-30 15:25:14 +00:00
|
|
|
We believe that this is a ppdev problem. If you change the configuration file
|
2002-04-07 11:21:39 +00:00
|
|
|
to include
|
|
|
|
.B force_nibble
|
|
|
|
, the problem will go away, but you will only be able to scan in nibble mode.
|
|
|
|
.PP
|
|
|
|
Sometimes the scanner can be left in a state where our code cannot revive it.
|
|
|
|
If the backend reports no scanner present, try unplugging the power and
|
2002-09-30 15:25:14 +00:00
|
|
|
plugging it back in. Also try unplugging printers from the pass-through port.
|
2002-04-07 11:21:39 +00:00
|
|
|
.PP
|
|
|
|
The scanner will not respond correctly to our commands when you first plug in
|
|
|
|
the power. You may find if you try a scan very soon after plugging in the
|
|
|
|
power that the backend will incorrectly report that you have no scanner present.
|
|
|
|
To avoid this, give it about 10 seconds to reset itself before attempting any
|
|
|
|
scans.
|
2002-07-27 08:03:16 +00:00
|
|
|
.PP
|
|
|
|
.B Repeated Lines
|
|
|
|
.PP
|
|
|
|
Sometimes at high resolutions (ie. 600dpi) you will notice lines which appear
|
|
|
|
twice. These lines correspond to points where the scanner head has stopped
|
|
|
|
during the scan (it stops every time the internal 64kb buffer is full).
|
|
|
|
Basically it's a mechanical problem inside the scanner, that the tolerance of
|
2002-09-01 08:57:34 +00:00
|
|
|
movement for a start/stop event is greater than 1/600 inches. I've never tried
|
|
|
|
the windows driver so I'm not sure how (or if) it works around this problem,
|
|
|
|
but as we don't know how to rewind the scanner head to do these bits again,
|
|
|
|
there's currently no nice way to deal with the problem.
|
2002-08-07 07:56:12 +00:00
|
|
|
.PP
|
2002-09-30 15:25:14 +00:00
|
|
|
.B Grey-scale Scans
|
2002-08-07 07:56:12 +00:00
|
|
|
.PP
|
2002-09-30 15:25:14 +00:00
|
|
|
Be aware that the scanner uses the green LEDs to read grey-scale scans, meaning
|
2002-09-01 08:57:34 +00:00
|
|
|
green coloured things will appear lighter than normal, and red and blue
|
2002-09-30 15:25:14 +00:00
|
|
|
coloured items will appear darker than normal. For high-accuracy grey-scale
|
2002-09-01 08:57:34 +00:00
|
|
|
scans of colour items, it's best just to scan in colour and convert to
|
2002-09-30 15:25:14 +00:00
|
|
|
grey-scale in graphics software such as the GIMP.
|
|
|
|
.PP
|
|
|
|
.B FB620P/FB320P Caveats
|
|
|
|
.PP
|
|
|
|
These models can not be reset in the same way as the others. The windows driver
|
|
|
|
doesn't know how to reset them either - when left with an inconsistent scanner,
|
|
|
|
it will start scanning half way down the page!
|
|
|
|
.PP
|
|
|
|
Aborting is known to work correctly on the FB*30P models, and is known to be
|
|
|
|
broken on the FB*20P models. The FB620P which I tested on simply returns
|
|
|
|
garbage after a scan has been aborted using the method we know.
|
|
|
|
Aborting is able to leave the scanner in a state where it can be shut down,
|
|
|
|
but not where another scan can be made.
|
|
|
|
|
2002-04-01 22:56:14 +00:00
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
sane(7), sane-dll(5)
|
|
|
|
.BR
|
|
|
|
http://canon-fb330p.sourceforge.net/
|
|
|
|
|
|
|
|
.SH AUTHOR
|
|
|
|
This backend is primarily the work of Simon Krix (Reverse Engineering), and
|
|
|
|
Matthew Duggan (SANE interface).
|
|
|
|
.PP
|
|
|
|
Many thanks to Kevin Easton for his comments and help, and Kent A. Signorini
|
|
|
|
for his help with the N340P.
|
|
|
|
|