NAME
sane-canon_dr - SANE backend for Canon DR-series scannersDESCRIPTION
The sane-canon_dr library implements a SANE (Scanner Access Now Easy) backend which provides access to some Canon DR-series scanners.SUPPORTED HARDWARE
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.OPTIONS
Effort has been made to expose most hardware options, including:- --source Flatbed|ADF Front|ADF Back|ADF Duplex
- Selects the source for the scan.
- --mode Lineart|Halftone|Gray|Color
- Selects the mode for the scan.
- --resolution
- Controls scan resolution.
- --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.
- --page-width, --page-height
- Sets paper size. Used by scanner to determine centering of scan coordinates when using the ADF (Automatic Document Feeder) and to detect double feed errors.
- --swcrop
- Requests the driver to detect the extremities of the paper within the larger image, and crop the empty edges.
- --swdeskew
- Requests the driver to detect the rotation of the paper within the larger image, and counter the rotation.
- --swdespeck X
- Requests the driver to find and remove dots of X diameter or smaller from the image, and fill the space with the average surrounding color. 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.
CONFIGURATION FILE
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 buses 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 buses 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]"
These options can be used collectively to
override the values provided by the scanner, or to provide the values when the
scanner cannot.
"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
commands.
"option duplex-offset [integer]"
Some scanners pad the upper edge of one side
of a duplex scan. There is some variation in the amount of padding. Modify
this option if your unit shows an unwanted band of image data on only one
side.
NOTE: "option" lines may appear multiple times in the
configuration file. They only apply to scanners discovered by the next
'scsi/usb' line.
ENVIRONMENT
The backend uses a single environment variable, SANE_DEBUG_CANON_DR, which enables debugging output to stderr. Valid values are:5 Errors
10 Function trace
15 Function detail
20 Option commands
25 SCSI/USB trace
30 SCSI/USB detail
35 Useless noise
KNOWN ISSUES
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.CREDITS
The various authors of the sane-fujitsu(5) backend provided useful code.SEE ALSO
sane(7), sane-scsi(5), sane-usb(5)AUTHOR
m. allan noah: <kitno455 a t gmail d o t com>.13 Feb 2021 |