1sane-pixma(5) SANE Scanner Access Now Easy sane-pixma(5)
2
3
4
6 sane-pixma - SANE backend for Canon PIXMA Multi-Functions Printers
7 MP, MX, ImageCLASS and I-SENSYS series
8
10 The sane-pixma library implements a SANE (Scanner Access Now Easy)
11 backend that provides access to Canon PIXMA multi-function devices
12 (All-in-one printers). The backend implements both USB interface and
13 Network LAN interface using Canon's BJNP protocol. Currently, the fol‐
14 lowing models work with this backend:
15
16 PIXMA MP140, MP150, MP160, MP170, MP180, MP190
17 PIXMA MP210, MP220, MP240, MP250, MP260, MP270
18 PIXMA MP360, MP370, MP390
19 PIXMA MP450, MP460, MP470, MP480, MP490
20 PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560
21 PIXMA MP600, MP600R, MP610, MP620, MP630, MP640, MP710
22 PIXMA MP800, MP800R, MP810, MP830, MP960, MP970, MP980, MP990
23 PIXMA MX300, MX310, MX330, MX340, MX350
24 PIXMA MX700, MX850, MX860, MX870, MX7600
25 PIXMA MP700, MP730, PIXMA MP750 (no grayscale)
26 ImageCLASS MF3110, MF3240, MF4010, MF4018, MF4120, MF4122
27 ImageCLASS MF4140, MF4150, MF4270, MF4350d, MF4370dn, MF4380dn
28 ImageCLASS MF4660, MF4690, MF5770, MF6550, D480
29 I-SENSYS MF4320d, MF4330d
30 CanoScan 8800F
31
32 The following models are not well tested and/or the scanner sometimes
33 hangs and must be switched off and on.
34
35 PIXMA PIXMA MP760, PIXMA MP780
36
37 The following models may use the same Pixma protocol as those listed
38 above, but have not yet been reported to work (or not). They are
39 declared in the backend so that they get recognized and activated.
40 Feedback in the Sane-dev mailing list welcome.
41
42 PIXMA MP375R, MP740
43 PIXMA MX320
44 ImageCLASS MF5630, MF5650, MF5730, MF5750, MF8170c
45
46 The backend supports:
47
48 * resolutions of 75, 150, 300, 600, 1200, 2400, and 4800 DPI
49 (some maybe buggy),
50 * color and grayscale mode, as well as lineart on certain mod‐
51 els,
52 * a custom gamma table,
53 * Automatic Document Feeder, Simplex and Duplex.
54 * Transparency Unit, 24 or 48 bits depth.
55
56 The device name for USB devices is in the form pixma:xxxxyyyy_zzzzz
57 where x, y and z are vendor ID, product ID and serial number respec‐
58 tively. Example: pixma:04A91709_123456 is a MP150.
59
60 Device names for BJNP devices is in the form pixma:aaaa_bbbbb where
61 aaaa is the scanners model and bbbb is the hostname or ip-adress.
62
63 This backend, based on cloning original Canon drivers protocols, is in
64 a production stage. Designed has been carried out without any applica‐
65 ble manufacturer documentation, probably never available. However, we
66 have tested it as well as we could, but it may not work in every situa‐
67 tions. You will find an up-to-date status at the project homepage. (See
68 below). Users feedback is essential to help improve features and per‐
69 formances.
70
72 Besides "well-known" options (e.g. resolution, mode etc.) pixma backend
73 also provides the following options for button handling, i.e. the
74 options might change in the future.
75 Button scan is disabled on MAC OS X due to darwin libusb not handling
76 timeouts in usb interrupt reads.
77
78 button-controlled
79 This option can be used in combination with scanadf(1) and scan‐
80 image(1) in batch mode, for example when you want to scan many
81 photos or multiple-page documents. If it is enabled (i.e. is set
82 to true or yes), the backend waits before every scan until the
83 user presses the "SCAN" button (for MP150) or the color-scan
84 button (for other models). Just put the first page in the scan‐
85 ner, press the button, then the next page, press the button and
86 so on. When you finished, press the gray-scan button. (For MP150
87 you have to stop the frontend by pressing Ctrl-C for example.)
88
89 button-update button-1 button-2
90 These options are interesting for developers. To check button
91 status: (1) set button-1 and button-2 to zero, (2) set button-
92 update (Its type is SANE_TYPE_BUTTON.), (3) get button-1 and
93 button-2. If the result is not zero, the corresponding button
94 was pressed.
95
97 /usr/lib64/sane/libsane-pixma.a
98 The static library implementing this backend.
99
100 /usr/lib64/sane/libsane-pixma.so
101 The shared library implementing this backend (present on systems
102 that support dynamic loading).
103
104 /etc/sane.d/pixma.conf
105 The backend configuration file (see also description of
106 SANE_CONFIG_DIR below). The files contains an optional list of
107 scanners. Normally only scanners that can not be auto-detected
108 because they are on a different subnet shall be listed here. If
109 your OS does not allow enumeration of interfaces (i.e. it does
110 not support the getifaddrs() function) you may need to add your
111 scanner here as well. Scanners shall be listed as:
112
113 bjnp://<host>
114 where host is the hostname or IP address of the scanner, e.g.
115 bjnp://10.0.1.4 or bjnp://myscanner.mydomain.org. Define each
116 scanner on a new line.
117
119 USB scanners will be auto-detected and require no configuration.
120
122 The pixma backend supports network scanners using the so called Canon
123 BJNP protocol. Configuration is normally not required. The pixma
124 backend will auto-detect your scanner if it is within the same subnet
125 as your computer if your OS does support this.
126
127 If your scanner can not be auto-detected, you can add it to the pixma
128 configuration file (see above).
129
131 The sane pixma backend communicates with port 8612 on the scanner. So
132 you will have to allow outgoing traffic TO port 8612 on the common sub‐
133 net for scanning.
134
135 Scanner detection is slightly more complicated. The pixma backend sends
136 a broadcast on all direct connected subnets it can find (provided your
137 OS allows for enumeration of all interfaces). The broadcast is sent
138 FROM port 8612 TO port 8612 on the broadcast address of each interface.
139 The outgoing packets will be allowed by the rule described above.
140 Responses from the scanner are sent back to the computer TO port 8612.
141 Connection tracking however does not see a match as the response does
142 not come from the broadcast address but from the scanners own address.
143 You will therefore have to allow incoming packets TO port 8612 on your
144 computer.
145
146 So in short: open the firewall for all traffic from your computer to
147 port 8612 AND to port 8612 to your computer.
148
149 With the firewall rules above there is no need to add the scanner to
150 the pixma.conf file, unless the scanner is on a network that is not
151 directly connected to your computer.
152
154 SANE_DEBUG_PIXMA
155 If the library was compiled with debug support enabled, this
156 environment variable controls the debug level for this backend.
157 Higher value increases the verbosity.
158
159 0 print nothing (default)
160 1 print error and warning messages (recommended)
161 2 print informational messages
162 3 print debug-level messages
163 11 dump USB/BJNP traffics
164 21 full dump USB/BJNP traffic
165
166 PIXMA_EXPERIMENT
167 Setting to a non-zero value will enable the support for experi‐
168 mental models. You should also set SANE_DEBUG_PIXMA to 11.
169
170 SANE_CONFIG_DIR
171 This environment variable specifies the list of directories that
172 may contain the configuration file. Under UNIX, the directories
173 are separated by a colon (`:'), under OS/2, they are separated
174 by a semi-colon (`;'). If this variable is not set, the config‐
175 uration file is searched in two default directories: first, the
176 current working directory (".") and then in /etc/sane.d. If the
177 value of the environment variable ends with the directory sepa‐
178 rator character, then the default directories are searched after
179 the explicitly specified directories. For example, setting
180 SANE_CONFIG_DIR to "/tmp/config:" would result in directories
181 "tmp/config", ".", and "/etc/sane.d" being searched (in this
182 order).
183
185 sane(7), sane-dll(5), http://home.arcor.de/wittawat/pixma/,
186 http://mp610.blogspot.com/
187
188 In case of trouble with a recent Pixma model, try the latest code for
189 the pixma backend, available in the Sane git repository at:
190 http://git.debian.org/?p=sane/sane-backends.git
191
192 You can also post into the Sane-devel mailing list for support.
193
194
196 Wittawat Yamwong, Nicolas Martin, Dennis Lou, Louis Lagendijk
197
198 We would like to thank all testers and helpers. Without them we could
199 not be able to write subdrivers for models we don't have. See also the
200 project homepage.
201
202
203
204 8 Jan 2010 sane-pixma(5)