1sane-canon_dr(5) SANE Scanner Access Now Easy sane-canon_dr(5)
2
3
4
6 sane-canon_dr - SANE backend for Canon DR-series scanners
7
8
10 The sane-canon_dr library implements a SANE (Scanner Access Now Easy)
11 backend which provides access to some Canon DR-series scanners.
12
13 This document describes backend version 57, which shipped with SANE
14 1.0.28.
15
16
18 This version has only been tested with a few scanner models. Please see
19 http://www.sane-project.org/sane-supported-devices.html for the most
20 recent list.
21
22 This backend may support other Canon scanners. The best way to deter‐
23 mine level of support is to test the scanner directly, or to collect a
24 trace of the windows driver in action. Please contact the author for
25 help or with test results.
26
27 In general, the larger machines (DR-4000 and up) which have been tested
28 use a fairly complete protocol, with hardware support for many modes,
29 resolutions and features. The smaller machines have many limitations,
30 like missing horizontal resolutions, missing binary mode, always scan‐
31 ning full-width, etc. There is code in the backend to address these
32 problems, but there seems to be no way to detect if they are required,
33 so they must be hard-coded.
34
35
37 Effort has been made to expose most hardware options, including:
38
39 --source Flatbed|ADF Front|ADF Back|ADF Duplex
40 Selects the source for the scan.
41
42
43 --mode Lineart|Halftone|Gray|Color
44 Selects the mode for the scan.
45
46
47 --resolution
48 Controls scan resolution.
49
50
51 --tl-x, --tl-y, --br-x, --br-y
52 Sets scan area upper left and lower right coordinates. These are
53 renamed -t, -l, -x, -y by some frontends.
54
55
56 --page-width, --page-height
57 Sets paper size. Used by scanner to determine centering of scan
58 coordinates when using ADF and to detect double feed errors.
59
60
61 Other options will be available based on the capabilities of the scan‐
62 ner: enhancement, compression, buttons and sensors, etc.
63
64 Additionally, several 'software' options are exposed by the backend.
65 These are reimplementations of features provided natively by larger
66 scanners, but running on the host computer. This enables smaller
67 machines to have similar capabilities. Please note that these features
68 are somewhat simplistic, and may not perform as well as the native
69 implementations. Note also that these features all require that the
70 driver cache the entire image in memory. This will almost certainly
71 result in a reduction of scanning speed.
72
73
74 --swcrop
75 Requests the driver to detect the extremities of the paper
76 within the larger image, and crop the empty edges.
77
78
79 --swdeskew
80 Requests the driver to detect the rotation of the paper within
81 the larger image, and counter the rotation.
82
83
84 --swdespeck X
85 Requests the driver to find and remove dots of X diameter or
86 smaller from the image, and fill the space with the average sur‐
87 rounding color.
88
89 Use 'scanimage --help' to get a list, but be aware that some
90 options may be settable only when another option has been set,
91 and that advanced options may be hidden by some frontend pro‐
92 grams.
93
94
96 The configuration file canon_dr.conf is used to tell the backend how to
97 look for scanners, and provide options controlling the operation of the
98 backend. This file is read each time the frontend asks the backend for
99 a list of scanners, generally only when the frontend starts. If the
100 configuration file is missing, the backend will fail to run.
101
102 Scanners can be specified in the configuration file in 4 ways:
103
104 "scsi CANON DR"
105 Requests backend to search all scsi buses in the system for a
106 device which reports itself to be a scanner made by 'CANON',
107 with a model name starting with 'DR'.
108
109 "scsi /dev/sg0" (or other scsi device file)
110 Requests backend to open the named scsi device. Only useful if
111 you have multiple compatible scanners connected to your system,
112 and need to specify one. Probably should not be used with the
113 other "scsi" line above.
114
115 "usb 0x04a9 0x1603" (or other vendor/product ids)
116 Requests backend to search all usb buses in the system for a
117 device which uses that vendor and product id. The device will
118 then be queried to determine if it is a Canon scanner.
119
120 "usb /dev/usb/scanner0" (or other device file)
121 Some systems use a kernel driver to access usb scanners. This
122 method is untested.
123
124 Besides the 'scsi' and 'usb' lines, the configuration file supports the
125 following 'option' lines:
126
127 "option buffer-size [number of bytes]"
128 Set the number of bytes in the data buffer to something other
129 than the compiled-in default of 4MB. Large values may cause
130 timeouts or hangs, small values may cause slow scans.
131
132 Note: The backend does not place an upper bound on this value,
133 as some users required it to be quite large. Values above the
134 default are not recommended, and may crash your OS or lockup
135 your scsi card driver. You have been warned.
136
137 "option vendor-name [string of text]"
138 "option model-name [string of text]"
139 "option version-name [string of text]"
140 These options can be used collectively to override the values
141 provided by the scanner, or to provide the values when the scan‐
142 ner cannot.
143
144 "option padded-read [0|1]"
145 Some scanners prepend all data transmitted to host with 12
146 bytes. Enable this option if the scanner fails to respond to
147 commands.
148
149 "option duplex-offset [integer]"
150 Some scanners pad the upper edge of one side of a duplex scan.
151 There is some variation in the amount of padding. Modify this
152 option if your unit shows an unwanted band of image data on only
153 one side.
154
155 NOTE: They only apply to scanners discovered by the next 'scsi/usb'
156 line.
157
159 The backend uses a single environment variable, SANE_DEBUG_CANON_DR,
160 which enables debugging output to stderr. Valid values are:
161
162 5 Errors
163 10 Function trace
164 15 Function detail
165 20 Option commands
166 25 SCSI/USB trace
167 30 SCSI/USB detail
168 35 Useless noise
169
170
172 This backend was entirely reverse engineered from usb traces of the
173 proprietary driver. Various advanced features of the machines may not
174 be enabled. Many machines have not been tested. Their protocol is
175 unknown.
176
177
179 The various authors of the sane-fujitsu(5) backend provided useful
180 code.
181 Yabarana Corp. www.yabarana.com provided significant funding.
182 EvriChart, Inc. www.evrichart.com provided funding and loaned equip‐
183 ment.
184 Canon, USA. www.usa.canon.com loaned equipment.
185 HPrint hprint.com.br provided funding and testing for DR-2510 support.
186 Stone-IT www.stone-it.com provided funding for DR-2010 and DR-2050 sup‐
187 port.
188 Gerhard Pfeffer provided access and testing for P-208 and P-215.
189 Special thanks to: Alejandro Imass, Andre Shimakawa, Martijn van Brum‐
190 melen, Thanos Diacakis and Junren Shi for testing and feedback.
191
192
194 sane(7), sane-scsi(5), sane-usb(5)
195
196
198 m. allan noah: <kitno455 a t gmail d o t com>.
199
200
201
202 31 Aug 2015 sane-canon_dr(5)