sane-canon630u - SANE backend for the Canon 630u USB flatbed scanner
The sane-canon library implements a SANE (Scanner Access Now Easy) backend that provides
access to the following Canon flatbed scanners:
CanoScan 636u (hopefully)
IMPORTANT: this is alpha code. Although there are no known bugs at this time, this code
uses the Linux USB kernel drivers, which are currently in active development. So it may
not work, your computer might even hang, and it cannot be excluded (although I consider it
extremely unprobable) that your scanner will be damaged.
That said, TESTERS ARE WELCOME. Send your bug reports and comments to Nathan Rutman
This backend expects device names of the form:
Where special is the path-name for the special device that corresponds to a USB scanner or
a symlink to such a device. The program sane-find-scanner helps to find out the correct
device. Under Linux, such a device name could be /dev/usb/scanner0 for example. See sane-
usb(5) for details.
The contents of the canon630u.conf file is a list of device names that correspond to Canon
USB scanners. Empty lines and lines starting with a hash mark (#) are ignored. Only one
device name can be listed in canon630u.conf.
Due to Canon's unwillingness to provide scanner documentation, this software was developed
by analyzing the USB traffic of the Windows 2000 driver. So things like the calibration
procedure I kind of made up; it seems to work for my scanner. If you have complaints, let
This driver requires the ability to send USB Control Messages, available in kernel 2.4.12
This scanner may not be recognized (yet) by the USB kernel driver. Check for "Driver=usb-
scanner" under /proc/bus/usb/devices. If "Driver=(none)", try forcing it with "modprobe
scanner vendor=0x04a9 product=0x2204"
The backend configuration file (see also description of SANE_CONFIG_DIR below).
The static library implementing this backend.
The shared library implementing this backend (present on systems that support
The calibration file used to normalize pixel brightness. This is calculated every
time the scanner is first used after it has lost power. It can be forced to recal-
ibrate by simply deleting this file.
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 /etc/sane.d. 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
SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".",
and "/etc/sane.d" being searched (in this order).
If the library was compiled with debug support enabled, this environment variable
controls the debug level for this backend. Higher debug levels increase the ver-
bosity of the output.
Example: export SANE_DEBUG_CANON630U=10
sane(7), sane-usb(5), sane-find-scanner(1)
06 Apr 2002 sane-canon630u(5)