E, MG, MP, MX, ImageCLASS, imageRunner and I-SENSYS series
                    and for Canon CanoScan Flatbed/TPU Scanners

       The  sane-pixma  library  implements  a  SANE (Scanner Access Now Easy)
       backend that provides access  to  Canon  PIXMA  multi-function  devices
       (All-in-one  printers).   The backend implements both USB interface and
       Network LAN interface using Canon's BJNP protocol.  Currently, the fol-
       lowing models work with this backend:

              PIXMA MP140, MP150, MP160, MP170, MP180, MP190
              PIXMA MP210, MP220, MP240, MP250, MP260, MP270, MP280
              PIXMA MP360, MP370, MP390
              PIXMA MP450, MP460, MP470, MP480, MP490
              PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560
              PIXMA MP600, MP600R, MP610, MP620, MP630, MP640
              PIXMA MP700, MP710, MP730, PIXMA MP750 (no grayscale)
              PIXMA MP800, MP800R, MP810, MP830
              PIXMA MP960, MP970, MP980, MP990
              PIXMA MX300, MX310, MX330, MX340, MX350, MX360
              PIXMA MX420, MX700, MX7600
              PIXMA MX850, MX860, MX870, MX882, MX885
              ImageCLASS MF3110, MF3240, MF4010, MF4018
              ImageCLASS MF4120, MF4122, MF4140, MF4150
              ImageCLASS MF4270, MF4350d, MF4370dn, MF4380dn
              ImageCLASS MF4410, MF4660, MF4690
              ImageCLASS MF5770, MF6550, D480
              I-SENSYS MF4320d, MF4330d
              CanoScan 8800F, 9000F

       The  following  models are not well tested and/or the scanner sometimes
       hangs and must be switched off and on.

              PIXMA MP760, MP770, MP780, MP790
              PIXMA MX360

       The following models may use the same Pixma protocol  as  those  listed
       above,  but  have  not  yet  been  reported  to work (or not). They are
       declared in the backend so that  they  get  recognized  and  activated.
       Feedback in the sane-devel mailing list welcome.

              PIXMA MG2100, MG3100, MG4100, MG5100, MG5200, MG5300
              PIXMA MG6100, MG6200, MG8100, MG8200
              PIXMA MP375R, MP493, MP495, MP740
              PIXMA MX320, MX410
              ImageCLASS MF5630, MF5650, MF5730, MF5750, MF8030, MF8170c
              imageRunner iR1020, iR1024, iR1025

       The  following  models  may use partly the same Pixma protocol as other
       devices listed above, but may still need some work. They  are  declared
       in  the  backend  as  experimental.  Snoop logs are required to further
       investigate, please contact the sane-devel mailing list.

              PIXMA E500, E600

       The device name for USB devices is  in  the  form  pixma:xxxxyyyy_zzzzz
       where  x,  y  and z are vendor ID, product ID and serial number respec-
       tively.  Example: pixma:04A91709_123456 is a MP150.

       Device names for BJNP devices is in  the  form  pixma:aaaa_bbbbb  where
       aaaa is the scanners model and bbbb is the hostname or ip-adress.

       This  backend, based on cloning original Canon drivers protocols, is in
       a production stage. Designed has been carried out without any  applica-
       ble  manufacturer  documentation, probably never available. However, we
       have tested it as well as we could, but it may not work in every situa-
       tions. You will find an up-to-date status at the project homepage. (See
       below).  Users feedback is essential to help improve features and  per-

       Besides "well-known" options (e.g. resolution, mode etc.) pixma backend
       also provides the following  options  for  button  handling,  i.e.  the
       options might change in the future.
       Button  scan  is disabled on MAC OS X due to darwin libusb not handling
       timeouts in usb interrupt reads.

              This option can be used in combination with scanadf(1) and scan-
              image(1)  in  batch mode, for example when you want to scan many
              photos or multiple-page documents. If it is enabled (i.e. is set
              to  true  or yes), the backend waits before every scan until the
              user presses the "SCAN" button (for  MP150)  or  the  color-scan
              button  (for other models). Just put the first page in the scan-
              ner, press the button, then the next page, press the button  and
              so on. When you finished, press the gray-scan button. (For MP150
              you have to stop the frontend by pressing Ctrl-C for example.)

       button-update button-1 button-2
              These options are interesting for developers.  To  check  button
              status:  (1)  set button-1 and button-2 to zero, (2) set button-
              update (Its type is SANE_TYPE_BUTTON.),  (3)  get  button-1  and
              button-2.   If  the result is not zero, the corresponding button
              was pressed.

              The static library implementing this backend.

              The shared library implementing this backend (present on systems
              that support dynamic loading).

              The   backend   configuration  file  (see  also  description  of
              SANE_CONFIG_DIR below). The files contains an optional  list  of
              scanners.  Normally  only scanners that can not be auto-detected
              because they are on a different subnet shall be listed here.  If
              your  OS  does not allow enumeration of interfaces (i.e. it does

       The  pixma  backend supports network scanners using the so called Canon
       BJNP protocol.  Configuration is  normally  not  required.   The  pixma
       backend  will  auto-detect your scanner if it is within the same subnet
       as your computer if your OS does support this.

       If your scanner can not be auto-detected, you can add it to  the  pixma
       configuration file (see above).

       The  sane  pixma backend communicates with port 8612 on the scanner. So
       you will have to allow outgoing traffic TO port 8612 on the common sub-
       net for scanning.

       Scanner detection is slightly more complicated. The pixma backend sends
       a broadcast on all direct connected subnets it can find (provided  your
       OS  allows  for  enumeration  of all interfaces). The broadcast is sent
       FROM port 8612 TO port 8612 on the broadcast address of each interface.
       The  outgoing  packets  will  be  allowed  by the rule described above.
       Responses from the scanner are sent back to the computer TO port  8612.
       Connection  tracking  however does not see a match as the response does
       not come from the broadcast address but from the scanners own  address.
       You  will therefore have to allow incoming packets TO port 8612 on your

       So in short: open the firewall for all traffic from  your  computer  to
       port 8612 AND to port 8612 to your computer.

       With  the  firewall  rules above there is no need to add the scanner to
       the pixma.conf file, unless the scanner is on a  network  that  is  not
       directly connected to your computer.

              If  the  library  was  compiled with debug support enabled, this
              environment variable controls the debug level for this  backend.
              Higher value increases the verbosity.

              0  print nothing (default)
              1  print error and warning messages (recommended)
              2  print informational messages
              3  print debug-level messages
              11 dump USB/BJNP traffics
              21 full dump USB/BJNP traffic

              Setting  to a non-zero value will enable the support for experi-
              mental models.  You should also set SANE_DEBUG_PIXMA to 11.

              This environment variable specifies the list of directories that
              may contain the configuration file.  Under UNIX, the directories
              are separated by a colon (`:'), under OS/2, they  are  separated
              by a semi-colon (`;').  If this variable is not set, the config-
              uration file is searched in two default directories: first,  the

       In case of trouble with a recent Pixma model, try the latest  code  for
       the pixma backend, available in the Sane git repository at:

       You can also post into the Sane-devel mailing list for support.

       Wittawat  Yamwong,  Nicolas  Martin,  Dennis Lou, Louis Lagendijk, Rolf

       We would like to thank all testers and helpers. Without them  we  could
       not  be able to write subdrivers for models we don't have. See also the
       project homepage.

                                  31 Jul 2012                    sane-pixma(5)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.