Provided by: libsane_1.0.20-4ubuntu3_i386
sane-canon_dr - SANE backend for Canon DR-series scanners
The sane-canon_dr library implements a SANE (Scanner Access Now Easy)
backend which provides access to some Canon DR-series scanners.
This document describes backend version 26, which shipped with SANE
This version has only been tested with a few scanner models. Please see
http://www.sane-project.org/sane-supported-devices.html for a more
This backend may support other Canon scanners. The best way to
determine level of support is to test the scanner directly, or to
collect a trace of the windows driver in action. Please contact the
author for help or with test results.
Effort has been made to expose most hardware options, including:
Selects the source for the scan. Options may include "Flatbed",
"ADF Front", "ADF Back", "ADF Duplex".
Selects the mode for the scan. Options may include "Lineart",
"Halftone", "Gray", and "Color".
Controls scan resolution. Setting --resolution also sets
--y-resolution, though this behavior is overridden by some
tl-x, tl-y, br-x, br-y
Sets scan area upper left and lower right coordinates. These are
renamed t, l, x, y by some frontends.
Sets paper size. Used by scanner to determine centering of scan
coordinates when using ADF and to detect double feed errors.
Other options will be available based on the capabilities of the
scanner: enhancement, compression, buttons and sensors, etc.
Use ’scanimage --help’ to get a list, but be aware that some options
may be settable only when another option has been set, and that
advanced options may be hidden by some frontend programs.
The configuration file "canon_dr.conf" is used to tell the backend how
to look for scanners, and provide options controlling the operation of
the backend. This file is read each time the frontend asks the backend
for a list of scanners, generally only when the frontend starts. If the
configuration file is missing, the backend will fail to run.
Scanners can be specified in the configuration file in 4 ways:
"scsi CANON DR"
Requests backend to search all scsi busses in the system for a
device which reports itself to be a scanner made by ’CANON’,
with a model name starting with ’DR’.
"scsi /dev/sg0" (or other scsi device file)
Requests backend to open the named scsi device. Only useful if
you have multiple compatible scanners connected to your system,
and need to specify one. Probably should not be used with the
other "scsi" line above.
"usb 0x04a9 0x1603" (or other vendor/product ids)
Requests backend to search all usb busses in the system for a
device which uses that vendor and product id. The device will
then be queried to determine if it is a Canon scanner.
"usb /dev/usb/scanner0" (or other device file)
Some systems use a kernel driver to access usb scanners. This
method is untested.
Besides the ’scsi’ and ’usb’ lines, the configuration file supports the
following ’option’ lines:
"option buffer-size [number of bytes]"
Set the number of bytes in the data buffer to something other
than the compiled-in default of 4MB. Large values may cause
timeouts or hangs, small values may cause slow scans.
Note: The backend does not place an upper bound on this value,
as some users required it to be quite large. Values above the
default are not recommended, and may crash your OS or lockup
your scsi card driver. You have been warned.
"option vendor-name [string of text]"
"option model-name [string of text]"
"option version-name [string of text]"
These options can be used collectively to override the values
provided by the scanner, or to provide the values when the
"option padded-read [0|1]"
Some scanners prepend all data transmitted to host with 12
bytes. Enable this option if the scanner fails to respond to
Note: ’option’ lines may appear multiple times in the configuration
file. They only apply to scanners discovered by the next ’scsi/usb’
The backend uses a single environment variable, SANE_DEBUG_CANON_DR,
which enables debugging output to stderr. Valid values are:
10 Function trace
15 Function detail
20 Option commands
25 SCSI/USB trace
30 SCSI/USB detail
35 Useless noise
This backend was entirely reverse engineered from usb traces of the
proprietary driver. Various advanced features of the machines may not
be enabled. Many machines have not been tested. Their protocol is
The various authors of the sane-fujitsu backend provided useful code
Corcaribe Tecnología C.A. www.cc.com.ve provided significant funding
EvriChart, Inc. www.evrichart.com provided funding and loaned equipment
Canon, USA. www.usa.canon.com loaned equipment
sane(7), sane-scsi(5), sane-usb(5)
m. allan noah: <kitno455 a t gmail d o t com>
20 Apr 2009 sane-canon_dr(5)