1sane-pixma(5) SANE Scanner Access Now Easy sane-pixma(5)
2
3
4
6 sane-pixma - SANE backend for Canon Multi-Function Printers and
7 CanoScan Scanners
8
10 The sane-pixma library implements a SANE (Scanner Access Now Easy)
11 backend that provides access to Canon PIXMA / i-SENSYS / imageCLASS /
12 imageRUNNER multi-function devices (All-in-one printers) and the Canon
13 CanoScan Flatbed/TPU scanners. The backend implements both USB inter‐
14 face and network interface using Canon's BJNP protocol. The network
15 interface supports scanners over IPv4 as well as IPv6.
16
17 Currently, the following models work with this backend:
18
19 PIXMA MG2100, MG3100, MG4200, MG5100, MG5200, MG5300
20 PIXMA MG6100, MG6200, MG6300, MG8200
21 PIXMA MP140, MP150, MP160, MP170, MP180, MP190
22 PIXMA MP210, MP220, MP230, MP240, MP250, MP260, MP270, MP280
23 PIXMA MP360, MP370, MP390
24 PIXMA MP450, MP460, MP470, MP480, MP490
25 PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560
26 PIXMA MP600, MP600R, MP610, MP620, MP630, MP640
27 PIXMA MP700, MP710, MP730, PIXMA MP750 (no grayscale)
28 PIXMA MP800, MP800R, MP810, MP830
29 PIXMA MP960, MP970, MP980, MP990
30 PIXMA MX300, MX310, MX330, MX340, MX350, MX360, MX370
31 PIXMA MX420, MX700, MX7600
32 PIXMA MX850, MX860, MX870, MX882, MX885, MX890
33 imageCLASS MF3110, MF3240, MF4010, MF4018
34 imageCLASS MF4120, MF4122, MF4140, MF4150
35 imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn
36 imageCLASS MF4410, MF4430, MF4660, MF4690, MF4770n
37 imageCLASS MF5730, MF5770, MF6550, D420, D480
38 i-SENSYS MF3010, MF4320d, MF4330d, MF4550d
39 imageRUNNER 1020/1024/1025
40 CanoScan 8800F, 9000F, 9000F Mark II
41
42 The following models are not well tested and/or the scanner sometimes
43 hangs and must be switched off and on.
44
45 PIXMA MP760, MP770, MP780, MP790
46 PIXMA MX360
47
48 The following models may use the same Pixma protocol as those listed
49 above, but have not yet been reported to work (or not). They are
50 declared in the backend so that they get recognized and activated.
51 Feedback in the sane-devel mailing list welcome.
52
53 PIXMA E500, E510, E600, E610
54 PIXMA MG2200, MG2400, MG2500, MG3200, MG4100, MG5400, MG5500
55 PIXMA MG6400, MG6500, MG7100, MG8100
56 PIXMA MP375R, MP493, MP495, MP740
57 PIXMA MX320, MX390, MX410, MX430, MX450, MX510, MX520
58 PIXMA MX710, MX720, MX920
59 imageCLASS MF4570dw, MF5630, MF5650, MF5750, MF8030, MF8170c
60 imageRUNNER 1133
61 i-SENSYS MF5880dn, MF6680dn
62
63 The backend supports:
64
65 * resolutions of 75, 150, 300, 600, 1200, 2400, 4800, and 9600
66 DPI (some maybe buggy),
67 * color and grayscale mode, as well as lineart on certain mod‐
68 els,
69 * a custom gamma table,
70 * Automatic Document Feeder, Simplex and Duplex.
71 * Transparency Unit, 24 or 48 bits depth. Infrared channel on
72 certain models.
73
74 The device name for USB devices is in the form pixma:xxxxyyyy_zzzzz
75 where x, y and z are vendor ID, product ID and serial number respec‐
76 tively. Example: pixma:04A91709_123456 is a MP150.
77
78 Device names for BJNP devices is in the form pixma:aaaa_bbbbb where
79 aaaa is the scanners model and bbbb is the hostname or ip-adress.
80
81 This backend, based on cloning original Canon drivers protocols, is in
82 a production stage. Designed has been carried out without any applica‐
83 ble manufacturer documentation, probably never available. However, we
84 have tested it as well as we could, but it may not work in all situa‐
85 tions. You will find an up-to-date status at the project homepage. (See
86 below). Users feedback is essential to help improve features and per‐
87 formances.
88
90 Besides "well-known" options (e.g. resolution, mode etc.) pixma backend
91 also provides the following options for button handling, i.e. the
92 options might change in the future.
93 The button status can be polled i.e. with 'scanimage -A'.
94 Button scan is disabled on MAC OS X due to darwin libusb not handling
95 timeouts in usb interrupt reads.
96
97 button-controlled
98 This option can be used by applications (like scanadf(1) and
99 scanimage(1)) in batch mode, for example when you want to scan
100 many photos or multiple-page documents. If it is enabled (i.e.
101 is set to true or yes), the backend waits before every scan
102 until the user presses the "SCAN" button (for MP150) or the
103 color-scan button (for other models). Just put the first page in
104 the scanner, press the button, then the next page, press the
105 button and so on. When you finished, press the gray-scan button.
106 (For MP150 you have to stop the frontend by pressing Ctrl-C for
107 example.)
108
109 button-update
110 (write only) In the past this option was required to be set to
111 force reading of the button status for button-1 and button-2.
112 The sane-pixma no longer requires this option to be used: if no
113 fresh data is available, it will be now requested automatically
114 from the scanner. This option is left for backward compatibility
115 reasons.
116
117 button-1 button-2
118 (read only) These options will return the value of the respec‐
119 tive buttons. value 0 means that the button was not pressed, 1
120 is returned when the button was pressed. Some scanners with more
121 than two buttons send the button number as target.
122
123 original
124 (read only) Returns the value of the type or size of original to
125 be scanned if the scanner provides that data. Known values of
126 type: 1 = document, 2 = foto, 5 = film. Known values of size: 1
127 = A4, 2 = Letter, 8 = 10x15, 9 = 13x18, b = auto. Not all scan‐
128 ners can provide this data.
129
130 target (read only) Returns the value of the target of the scan opera‐
131 tion if the scanner provides that data. The values depend on the
132 scanner type. Known values: 1 = save to disk, 2 = save to pdf, 3
133 = send to email, 4 = send to application or 1 = JPEG, 2 = TIFF,
134 3 = PDF, 4 = Compact PDF. For some scanners this value is equiv‐
135 alent to the number of the pressed button. Not all scanners can
136 provide this data.
137
138 scan-resolution
139 (read only) Returns the resolution of the scan operation if the
140 scanner provides that data. Known values: 1 = 75 dpi, 2 = 150
141 dpi, 3 = 300 dpi, 4 = 600 dpi. Not all scanners can provide this
142 data.
143
145 /usr/lib64/sane/libsane-pixma.a
146 The static library implementing this backend.
147
148 /usr/lib64/sane/libsane-pixma.so
149 The shared library implementing this backend (present on systems
150 that support dynamic loading).
151
152 /etc/sane.d/pixma.conf
153 The backend configuration file (see also description of
154 SANE_CONFIG_DIR below). The files contains an optional list of
155 scanners. Normally only scanners that can not be auto-detected
156 because they are on a different subnet shall be listed here. If
157 your OS does not allow enumeration of interfaces (i.e. it does
158 not support the getifaddrs() function) you may need to add your
159 scanner here as well. Scanners shall be listed as:
160
161 bjnp://<host>
162 where host is the hostname or IP address of the scanner, e.g.
163 bjnp://10.0.1.4 for IPv4,
164 bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a literal
165 IPv6-address or bjnp://myscanner.mydomain.org. Define each scan‐
166 ner on a new line.
167
169 USB scanners will be auto-detected and require no configuration.
170
172 The pixma backend supports network scanners using the so called Canon
173 BJNP protocol. Both IPv4 and IPv6 are supported.
174
175 Configuration is normally not required. The pixma backend will auto-
176 detect your scanner if it is within the same subnet as your computer if
177 your OS does support this.
178
179 If your scanner can not be auto-detected, you can add it to the pixma
180 configuration file (see above).
181
183 The sane pixma backend communicates with port 8612 on the scanner. So
184 you will have to allow outgoing traffic TO port 8612 on the common sub‐
185 net for scanning.
186
187 Scanner detection is slightly more complicated. The pixma backend sends
188 a broadcast on all direct connected subnets it can find (provided your
189 OS allows for enumeration of all netowrk interfaces). The broadcast is
190 sent FROM port 8612 TO port 8612 on the broadcast address of each
191 interface. The outgoing packets will be allowed by the rule described
192 above.
193
194 Responses from the scanner are sent back to the computer TO port 8612.
195 Connection tracking however does not see a match as the response does
196 not come from the broadcast address but from the scanners own address.
197 For automatic detection of your scanner, you will therefore have to
198 allow incoming packets TO port 8612 on your computer.
199
200 So in short: open the firewall for all traffic from your computer to
201 port 8612 AND to port 8612 to your computer.
202
203 With the firewall rules above there is no need to add the scanner to
204 the pixma.conf file, unless the scanner is on a network that is not
205 directly connected to your computer.
206
208 SANE_DEBUG_PIXMA
209 If the library was compiled with debug support enabled, this
210 environment variable controls the debug level for this backend
211 itself. Higher value increases the verbosity and includes the
212 information printed at the lower levels.
213 0 print nothing (default)
214 1 print error and warning messages (recommended)
215 2 print informational messages
216 3 print debug-level messages
217 11 dump USB traffic
218 21 full dump USB traffic
219
220 SANE_DEBUG_BJNP
221 If the library was compiled with debug support enabled, this
222 environment variable controls the debug level for the BJNP net‐
223 work protocol for this backend. Higher value increases the ver‐
224 bosity and includes the information printed at the lower levels.
225 0 print nothing (default)
226 1 Print error and warning messages (recommended)
227 2 Print high level function tracing information
228 3 Print more detailed protocol tracing information
229 4 Print protocol headers
230 5 Print full protocol contents
231
232 PIXMA_EXPERIMENT
233 Setting to a non-zero value will enable the support for experi‐
234 mental models. You should also set SANE_DEBUG_PIXMA to 11.
235
236 SANE_CONFIG_DIR
237 This environment variable specifies the list of directories that
238 may contain the configuration file. Under UNIX, the directories
239 are separated by a colon (`:'), under OS/2, they are separated
240 by a semi-colon (`;'). If this variable is not set, the config‐
241 uration file is searched in two default directories: first, the
242 current working directory (".") and then in /etc/sane.d. If the
243 value of the environment variable ends with the directory sepa‐
244 rator character, then the default directories are searched after
245 the explicitly specified directories. For example, setting
246 SANE_CONFIG_DIR to "/tmp/config:" would result in directories
247 "tmp/config", ".", and "/etc/sane.d" being searched (in this
248 order).
249
251 sane(7), sane-dll(5), http://home.arcor.de/wittawat/pixma/,
252 http://mp610.blogspot.com/
253
254 In case of trouble with a recent Pixma model, try the latest code for
255 the pixma backend, available in the Sane git repository at:
256 http://git.debian.org/?p=sane/sane-backends.git
257
258 You can also post into the Sane-devel mailing list for support.
259
260
262 Wittawat Yamwong, Nicolas Martin, Dennis Lou, Louis Lagendijk, Rolf
263 Bensch
264
265 We would like to thank all testers and helpers. Without them we could
266 not be able to write subdrivers for models we don't have. See also the
267 project homepage.
268
269
270
271 24 Sep 2013 sane-pixma(5)