Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
sane-pixma(5)		 SANE Scanner Access Now Easy		 sane-pixma(5)

       sane-pixma - SANE backend for Canon PIXMA Multi-Functions Printers
		    MP,	MX, ImageCLASS and I-SENSYS series

       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
	      PIXMA MP450, MP460, MP470, MP480,	MP490
	      PIXMA MP500, MP510, MP520, MP530,	MP540, MP550, MP560
	      PIXMA MP600, MP600R, MP610, MP620, MP630,	MP640, MP710
	      PIXMA MP800, MP800R, MP810, MP830, MP960,	MP970, MP980, MP990
	      PIXMA MX300, MX310, MX330, MX700,	MX850, MX860, MX7600
	      MultiPASS	MP700, MP730, PIXMA MP750 (no grayscale)
	      ImageCLASS MF3110, MF3240, MF4010, MF4018, MF4120, MF4122
	      ImageCLASS MF4140, MF4150, MF4270, MF4350d, MF4370dn, MF4380dn
	      ImageCLASS MF4660, MF4690, MF5770, D480
	      I-SENSYS MF4320d,	MF4330d
	      CanoScan 8800F

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

	      SmartBase	MP360, MP370, MP390
	      MultiPASS	PIXMA MP760, PIXMA MP780

       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 de-
       clared in the backend so	that they get recognized and activated.	 Feed-
       back in the Sane-dev mailing list welcome.

	      PIXMA MP740
	      PIXMA MX320
	      ImageCLASS MF5630, MF5650, MF5730, MF5750, MF8170c

       The backend supports:

	      *	 resolutions  of  75,  150, 300, 600, 1200, 2400, and 4800 DPI
	      (some maybe buggy),
	      *	color and grayscale mode,
	      *	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 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  op-
       tions 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
	      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 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.  Re-
       sponses 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 di-
       rectly connected	to your	computer.

	      If the library was compiled with debug support enabled, this en-
	      vironment	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
	      current	working	  directory   (".")   and   then  in  /usr/lo-
	      cal/etc/sane.d.  If the value of the environment	variable  ends
	      with  the	directory separator character, then the	default	direc-
	      tories are searched after	the explicitly specified  directories.
	      For example, setting SANE_CONFIG_DIR to "/tmp/config:" would re-
	      sult   in	  directories	"tmp/config",	".",   and   "/usr/lo-
	      cal/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

       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.

				  8 Jan	2010			 sane-pixma(5)


Want to link to this manual page? Use this URL:

home | help