1sane-canon_dr(5)         SANE Scanner Access Now Easy         sane-canon_dr(5)
2
3
4

NAME

6       sane-canon_dr - SANE backend for Canon DR-series scanners
7
8

DESCRIPTION

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

SUPPORTED HARDWARE

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

OPTIONS

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

CONFIGURATION FILE

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

ENVIRONMENT

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

KNOWN ISSUES

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

CREDITS

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

SEE ALSO

194       sane(7), sane-scsi(5), sane-usb(5)
195
196

AUTHOR

198       m. allan noah: <kitno455 a t gmail d o t com>.
199
200
201
202                                  31 Aug 2015                 sane-canon_dr(5)
Impressum