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 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

OPTIONS

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

FILES

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

USB SUPPORT

169       USB scanners will be auto-detected and require no configuration.
170

NETWORKING SUPPORT

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

FIREWALLING FOR NETWORKED SCANNERS

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

ENVIRONMENT

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

SEE ALSO

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

AUTHORS

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)
Impressum