Provided by: libsane-common_1.0.23-3ubuntu3_amd64 bug


       sane-pixma - SANE backend for Canon PIXMA Multi-Functions Printers
                    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 following 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
              PIXMA MX370, MX430, MX510, MX710, MX890

       The backend supports:

              *  resolutions  of  75,  150,  300, 600, 1200, 2400, 4800, and 9600 DPI (some maybe
              * color and grayscale mode, as well as lineart on certain models,
              * a custom gamma table,
              * Automatic Document Feeder, Simplex and Duplex.
              * Transparency Unit, 24 or 48 bits depth.

       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 respectively.  Example: pixma:04A91709_123456 is a

       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 applicable manufacturer documentation,  probably
       never  available.  However,  we have tested it as well as we could, but it may not work in
       every situations. You will find an up-to-date status at the project homepage. (See below).
       Users feedback is essential to help improve features and performances.


       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 scanimage(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 scanner, 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  not  support  the
              getifaddrs()  function)  you  may  need to add your scanner here as well.  Scanners
              shall be listed as:

              where host is the hostname or IP address of the scanner,  e.g.  bjnp://  or
              bjnp:// Define each scanner on a new line.


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


       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 subnet 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 computer.

       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 experimental 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  configuration  file is searched in two default directories: first, the current
              working directory (".") and then in /etc/sane.d.  If the value of  the  environment
              variable  ends with the directory separator character, then the default directories
              are searched after the explicitly  specified  directories.   For  example,  setting
              SANE_CONFIG_DIR  to  "/tmp/config:"  would result in directories "tmp/config", ".",
              and "/etc/sane.d" being searched (in this order).


       sane(7), sane-dll(5),,

       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 Bensch

       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)