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

NAME

6       sane-pixma  -  SANE  backend  for  Canon  Multi-Function  Printers  and
7       CanoScan Scanners
8

DESCRIPTION

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 the USB
14       interface and network interface (using Canon's  BJNP  and  MFNP  proto‐
15       cols).  The  network  interface  supports scanners over IPv4 as well as
16       IPv6 (MFNP over IPv6 is untested).
17
18       Currently, the following models work with this backend:
19
20              PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3100, MG3200
21              PIXMA MG3500, MG3600, MG4200, MG5100, MG5200, MG5300, MG5400
22              PIXMA MG5500, MG5600, MG5700, MG6100, MG6200, MG6300, MG6400
23              PIXMA MG7100, MG7500, MG7700, MG8200
24              PIXMA MP140, MP150, MP160, MP170, MP180, MP190
25              PIXMA MP210, MP220, MP230, MP240, MP250, MP260, MP270, MP280
26              PIXMA MP360, MP370, MP390
27              PIXMA MP450, MP460, MP470, MP480, MP490
28              PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560
29              PIXMA MP600, MP600R, MP610, MP620, MP630, MP640
30              PIXMA MP700, MP710, MP730, PIXMA MP750 (no grayscale)
31              PIXMA MP800, MP800R, MP810, MP830
32              PIXMA MP960, MP970, MP980, MP990
33              PIXMA MX300, MX310, MX330, MX340, MX350, MX360, MX370
34              PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720
35              PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600
36              PIXUS MP10
37              imageCLASS MF3110, MF3240, MF4010, MF4018
38              imageCLASS MF4120, MF4122, MF4140, MF4150
39              imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn
40              imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690
41              imageCLASS MF5730, MF5770, MF6550, MPC200, D420, D480, D530
42              i-SENSYS MF230, MF240, MF3010, MF4320d, MF4330d, MF4500, MF4700
43              i-SENSYS MF4800, MF6100, MF8200C, MF8300
44              imageRUNNER 1020/1024/1025
45              CanoScan 8800F, 9000F, 9000F Mark II
46              MAXIFY MB5000 (ADF is not working)
47
48       The following models are not well tested and/or the  scanner  sometimes
49       hangs and must be switched off and on.
50
51              PIXMA MP760, MP770, MP780, MP790
52
53       The  following  models  may use the same Pixma protocol as those listed
54       above, but have not yet been  reported  to  work  (or  not).  They  are
55       declared  in  the  backend  so  that they get recognized and activated.
56       Feedback in the sane-devel mailing list welcome.
57
58              PIXMA E400, E460, E470, E480, E500, E510, E560, E600, E610
59              PIXMA MG3000, MG4100, MG6500, MG6600, MG6800, MG6900, MG8100
60              PIXMA MP375R, MP493, MP495, MP740
61              PIXMA MX320, MX390, MX430, MX450, MX490, MX710
62              PIXMA G3000
63              PIXMA TS9000, TS800, TS6000, TS5000
64              PIXUS MP5
65              imageCLASS MF810/820, MF5630, MF5650, MF5750, MF8030, MF8170c
66              imageCLASS MPC190
67              imageRUNNER 1133
68              i-SENSYS MF210, MF220, MF5880dn, MF5900, MF6680dn, MF8500C
69              MAXIFY MB2000, MB2300, MB5300
70
71       The backend supports:
72
73              * resolutions of 75, 150, 300, 600, 1200, 2400, 4800,  and  9600
74              DPI (some maybe buggy),
75              *  color  and grayscale mode, as well as lineart on certain mod‐
76              els,
77              * a custom gamma table,
78              * Automatic Document Feeder, Simplex and Duplex.
79              * Transparency Unit, 24 or 48 bits depth.  Infrared  channel  on
80              certain models.
81
82       The  device  name  for  USB devices is in the form pixma:xxxxyyyy_zzzzz
83       where x, y and z are vendor ID, product ID and  serial  number  respec‐
84       tively.
85
86       Example: pixma:04A91709_123456 is a MP150.
87
88       Device  names  for  BJNP/MFNP  devices  is in the form pixma:aaaa_bbbbb
89       where aaaa is the scanners model and bbbb is the hostname or ip-adress.
90
91       Example: pixma:MF4800_192.168.1.45 is a  MF4800  Series  multi-function
92       peripheral.
93
94       This  backend, based on cloning original Canon drivers protocols, is in
95       a production stage. Designed has been carried out without any  applica‐
96       ble  manufacturer  documentation, probably never available. However, we
97       have tested it as well as we could, but it may not work in  all  situa‐
98       tions. You will find an up-to-date status at the project homepage. (See
99       below).  Users feedback is essential to help improve features and  per‐
100       formances.
101

OPTIONS

103       Besides "well-known" options (e.g. resolution, mode etc.) pixma backend
104       also provides the following options, i.e. the options might  change  in
105       the future.
106       The button status can be polled i.e. with 'scanimage -A'.
107       Button  scan  is disabled on MAC OS X due to darwin libusb not handling
108       timeouts in usb interrupt reads, but may work when  using  the  network
109       protocol.
110
111       adf-wait
112              This  option  enables and sets the time in seconds waiting for a
113              document inserted into the Automatic Document Feeder.  The maxi‐
114              mum allowed waiting time is 3600 sec (= 1 hour).
115
116       button-controlled
117              This  option  can  be  used by applications (like scanadf(1) and
118              scanimage(1)) in batch mode, for example when you want  to  scan
119              many  photos  or multiple-page documents. If it is enabled (i.e.
120              is set to true or yes), the  backend  waits  before  every  scan
121              until  the  user  presses  the  "SCAN" button (for MP150) or the
122              color-scan button (for other models). Just put the first page in
123              the  scanner,  press  the  button, then the next page, press the
124              button and so on. When you finished, press the gray-scan button.
125              (For  MP150 you have to stop the frontend by pressing Ctrl-C for
126              example.)
127
128       button-update (deprecated)
129              (write only) In the past this option was required to be  set  to
130              force  reading  of  the button status for button-1 and button-2.
131              The sane-pixma no longer requires this option to be used: if  no
132              fresh  data is available, it will be now requested automatically
133              from the scanner. This option is left for backward compatibility
134              reasons.
135
136       button-1 button-2
137              (read  only)  These options will return the value of the respec‐
138              tive buttons.  value 0 means that the button was not pressed,  1
139              is returned when the button was pressed. Some scanners with more
140              than two buttons send the button number as target.
141
142       original
143              (read only) Returns the value of the type or size of original to
144              be  scanned  if  the scanner provides that data. Known values of
145              type: 1 = document, 2 = foto, 5 = film. Known values of size:  1
146              = A4, 2 = Letter, 8 = 10x15, 9 = 13x18, b = auto.  Not all scan‐
147              ners can provide this data.
148
149       target (read only) Returns the value of the target of the  scan  opera‐
150              tion if the scanner provides that data. The values depend on the
151              scanner type. Known values: 1 = save to disk, 2 = save to pdf, 3
152              =  send to email, 4 = send to application or 1 = JPEG, 2 = TIFF,
153              3 = PDF, 4 = Compact PDF. For some scanners this value is equiv‐
154              alent  to the number of the pressed button. Not all scanners can
155              provide this data.
156
157       scan-resolution
158              (read only) Returns the resolution of the scan operation if  the
159              scanner  provides  that  data. Known values: 1 = 75 dpi, 2 = 150
160              dpi, 3 = 300 dpi, 4 = 600 dpi. Not all scanners can provide this
161              data.
162

FILES

164       /usr/lib64/sane/libsane-pixma.a
165              The static library implementing this backend.
166
167       /usr/lib64/sane/libsane-pixma.so
168              The shared library implementing this backend (present on systems
169              that support dynamic loading).
170
171       /etc/sane.d/pixma.conf
172              The  backend  configuration  file  (see  also   description   of
173              SANE_CONFIG_DIR  below).  The  file contains an optional list of
174              networked scanners. Normally only scanners that cannot be  auto-
175              detected  because they are on a different subnet shall be listed
176              here. If your OS does not allow enumeration of interfaces  (i.e.
177              it does not support the getifaddrs() function) you also may need
178              to add your scanner here as well.
179
180              Scanners shall be listed in the configuraton file as follows:
181
182                     <method>://<host>[:port][/timeout=<value>]
183
184              where method indicates the  protocol  used  (bjnp  is  used  for
185              inkjet  multi-functionals and mfnp is used for laser multi-func‐
186              tionals).
187
188              host is  the  hostname  or  IP  address  of  the  scanner,  e.g.
189              bjnp://10.0.1.4                     for                    IPv4,
190              bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a]  for  a   literal
191              IPv6-address or bjnp://myscanner.mydomain.org for a hostname.
192
193              The  port  number  is  optional  and  in normally implied by the
194              method.  Port 8610 is the standard port for mfnp, 8612 for bjnp.
195
196              A scanner specific timeout value for the network protocol can be
197              set using the bjnp-timeout parameter. The value is in ms.
198
199              Define scanners each on a new line.
200
201              More  globally  applicable  tinmeouts can be set using the bjnp-
202              timeout parameter as folllows:
203
204                     bjnp-timeout=<value>
205
206              A timeout defined using bjnp-timeout will apply to the following
207              scanner  definitions  in  the file. If required the bjnp-timeout
208              setting can be defined multiple times, where  each  settng  will
209              apply  only  to  the  scanners that follow the setting. The last
210              setting is used  for  the  auto  discovered  scanners.   If  not
211              explicitely set,  the default 1000ms setting will apply.
212
213              Setting timeouts should only be required in exceptional cases.
214

USB SUPPORT

216       USB scanners will be auto-detected and require no configuration.
217

NETWORKING SUPPORT

219       The  pixma  backend supports network scanners using the so called Canon
220       BJNP protocol and MFNP protocol. Both IPv4 and IPv6 are supported,  but
221       IPv6  is  as  yet untested with MFNP. Please report your results on the
222       mailing list.
223
224       Configuration is normally not required.  The pixma backend  will  auto-
225       detect your scanner if it is within the same subnet as your computer if
226       your OS does support this.
227
228       If your scanner can not be auto-detected, you can add it to  the  pixma
229       configuration file (see above).
230

FIREWALLING FOR NETWORKED SCANNERS

232       The  sane  pixma  backend  communicates with port 8610 for MFNP or port
233       8612 for BJNP on the scanner. So you will have to allow outgoing  traf‐
234       fic TO port 8610 or 8612 on the common subnet for scanning.
235
236       Scanner detection is slightly more complicated. The pixma backend sends
237       a broadcast on all direct connected subnets it can find (provided  your
238       OS  allows for enumeration of all netowrk interfaces). The broadcast is
239       sent FROM port 8612 TO port 8610 or 8612 on the  broadcast  address  of
240       each  interface.   The  outgoing  packets  will  be allowed by the rule
241       described above.
242
243       Responses from the scanner are sent back to the computer TO port  8612.
244       Connection  tracking  however does not see a match as the response does
245       not come from the broadcast address but from the scanners own  address.
246       For  automatic  detection  of  your scanner, you will therefore have to
247       allow incoming packets TO port 8612 on your computer. This  applies  to
248       both MFNP and BJNP.
249
250       So  in  short:  open the firewall for all traffic from your computer to
251       port 8610 (for MFNP) or 8612 (for BJNP) AND to port 8612 (for both BJNP
252       and MFNP) to your computer.
253
254       With  the  firewall  rules above there is no need to add the scanner to
255       the pixma.conf file, unless the scanner is on a  network  that  is  not
256       directly connected to your computer.
257

ENVIRONMENT

259       SANE_DEBUG_PIXMA
260              If  the  library  was  compiled with debug support enabled, this
261              environment variable controls the debug level for  this  backend
262              itself.  Higher  value  increases the verbosity and includes the
263              information printed at the lower levels.
264              0  print nothing (default)
265              1  print error and warning messages (recommended)
266              2  print informational messages
267              3  print debug-level messages
268              4  print verbose debug-level messages
269              11 dump USB traffic
270              21 full dump USB traffic
271
272       SANE_DEBUG_BJNP
273              If the library was compiled with  debug  support  enabled,  this
274              environment  variable  controls the debug level for the BJNP and
275              MFNP network protocols for this backend. Higher value  increases
276              the  verbosity and includes the information printed at the lower
277              levels.
278              0 print nothing (default)
279              1 Print error and warning messages (recommended)
280              2 Print high level function tracing information
281              3 Print more detailed protocol tracing information
282              4 Print protocol headers
283              5 Print full protocol contents
284
285       PIXMA_EXPERIMENT
286              Setting to a non-zero value will enable the support for  experi‐
287              mental models.  You should also set SANE_DEBUG_PIXMA to 11.
288
289       SANE_CONFIG_DIR
290              This environment variable specifies the list of directories that
291              may contain the configuration file.  Under UNIX, the directories
292              are  separated  by a colon (`:'), under OS/2, they are separated
293              by a semi-colon (`;').  If this variable is not set, the config‐
294              uration  file is searched in two default directories: first, the
295              current working directory (".") and then in /etc/sane.d.  If the
296              value  of the environment variable ends with the directory sepa‐
297              rator character, then the default directories are searched after
298              the  explicitly  specified  directories.   For  example, setting
299              SANE_CONFIG_DIR to "/tmp/config:" would  result  in  directories
300              "tmp/config",  ".",  and  "/etc/sane.d"  being searched (in this
301              order).
302

SEE ALSO

304       sane(7),       sane-dll(5),       http://home.arcor.de/wittawat/pixma/,
305       http://mp610.blogspot.com/
306
307       In  case  of trouble with a recent Pixma model, try the latest code for
308       the pixma backend, available in the Sane git repository at:
309       http://git.debian.org/?p=sane/sane-backends.git
310
311       You can also post into the Sane-devel mailing list for support.
312
313

AUTHORS

315       Wittawat Yamwong, Nicolas Martin, Dennis  Lou,  Louis  Lagendijk,  Rolf
316       Bensch
317
318       We  would  like to thank all testers and helpers. Without them we could
319       not be able to write subdrivers for models we don't have. See also  the
320       project homepage.
321
322
323
324                                  20 May 2017                    sane-pixma(5)
Impressum