sane-canon_dr(5) | SANE Scanner Access Now Easy | sane-canon_dr(5) |
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 60, which shipped with SANE 1.0.32.
This version has only been tested with a few scanner models. Please see http://www.sane-project.org/sane-supported-devices.html for the most recent list.
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.
In general, the larger machines (DR-4000 and up) which have been tested use a fairly complete protocol, with hardware support for many modes, resolutions and features. The smaller machines have many limitations, like missing horizontal resolutions, missing binary mode, always scanning full-width, etc. There is code in the backend to address these problems, but there seems to be no way to detect if they are required, so they must be hard-coded.
Effort has been made to expose most hardware options, including:
Other options will be available based on the capabilities of the scanner: enhancement, compression, buttons and sensors, etc.
Additionally, several 'software' options are exposed by the backend. These are reimplementations of features provided natively by larger scanners, but running on the host computer. This enables smaller machines to have similar capabilities. Please note that these features are somewhat simplistic, and may not perform as well as the native implementations. Note also that these features all require that the driver cache the entire image in memory. This will almost certainly result in a reduction of scanning speed.
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"
"scsi /dev/sg0" (or other scsi device file)
"usb 0x04a9 0x1603" (or other vendor/product ids)
"usb /dev/usb/scanner0" (or other device file)
Besides the 'scsi' and 'usb' lines, the configuration file supports the following 'option' lines:
"option buffer-size [number of bytes]"
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]"
"option padded-read [0|1]"
"option duplex-offset [integer]"
NOTE: "option" lines may appear multiple times in the configuration file. They only apply to scanners discovered by the next 'scsi/usb' line.
The backend uses a single environment variable, SANE_DEBUG_CANON_DR, which enables debugging output to stderr. Valid values are:
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 unknown.
The various authors of the sane-fujitsu(5) backend provided
useful code.
Yabarana Corp. www.yabarana.com provided significant funding.
EvriChart, Inc. www.evrichart.com provided funding and loaned
equipment.
Canon, USA. www.usa.canon.com loaned equipment.
HPrint hprint.com.br provided funding and testing for DR-2510 support.
Stone-IT www.stone-it.com provided funding for DR-2010 and DR-2050
support.
Gerhard Pfeffer provided access and testing for P-208 and P-215.
Special thanks to: Alejandro Imass, Andre Shimakawa, Martijn van Brummelen,
Thanos Diacakis and Junren Shi for testing and feedback.
m. allan noah: <kitno455 a t gmail d o t com>.
13 Feb 2021 |