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

FreeBSD Manual Pages

  
 
  

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

NAME
     sane-pixma  -  SANE  backend for Canon Multi-Function Printers and CanoScan
     Scanners

DESCRIPTION
     The sane-pixma library implements a SANE (Scanner Access Now Easy)  backend
     that  provides  access to Canon PIXMA / i-SENSYS / imageCLASS / imageRUNNER
     multi-function  devices  (All-in-one  printers)  and  the	Canon	CanoScan
     Flatbed/TPU  scanners.   The  backend implements both the USB interface and
     network interface (using Canon's BJNP and MFNP protocols). The network  in-
     terface  supports	scanners  over	IPv4  as well as IPv6 (MFNP over IPv6 is
     untested).

     Currently, the following models work with this backend:

	    PIXMA E410, E510, E3600, E4500
	    PIXMA G600, G2000, G2010, G2030, G2070, G2100, G3030, G3070
	    PIXMA G3080, G3090, G4000, G4070, G4080, G4511
	    PIXMA GX1000, GX2000, GX3000, GX4000, GX6000, GX6500, GX7000
	    PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3000, MG3100
	    PIXMA MG3200, MG3500, MG3600, MG4200, MG5100, MG5200, MG5300
	    PIXMA MG5400, MG5500, MG5600, MG5700, MG6100, MG6200, MG6300
	    PIXMA MG6400, MG7100, MG7500, MG7700, MG8200
	    PIXMA MP140, MP150, MP160, MP170, MP180, MP190
	    PIXMA MP210, MP220, MP230, MP240, MP250, MP260, MP270, MP280
	    PIXMA MP360, MP370, MP390
	    PIXMA MP450, MP460, MP470, MP480, MP490, MP495
	    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, MX370
	    PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720
	    PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600
	    PIXMA TC-20M, TC-5200M
	    PIXMA TR4500, TR4600, TR4700
	    PIXMA TS2400, TS2600, TS3100, TS3300, TS3450, TS3451, TS3452
	    PIXMA TS3500, TS3600, TS3700, TS5000, TS5100, TS5150, TS5350i
	    PIXMA TS5400, TS6100, TS6200, TS7530, TS7450i ,TS8000, TS8200
	    PIXMA TS8530, TS8630, TS8800
	    PIXUS MP10
	    imageCLASS MF634Cdw, MF733Cdw
	    imageCLASS MF3110, MF3240, MF4010, MF4018
	    imageCLASS MF4120, MF4122, MF4140, MF4150
	    imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn
	    imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690
	    imageCLASS MF5730, MF5770, MF6550, MPC200
	    imageCLASS D420, D480, D530, D570
	    i-SENSYS MF210, MF230, MF240, MF440, MF620, MF630, MF640
	    i-SENSYS MF645C, MF730, MF731/733, MF741/743
	    i-SENSYS MF3010, MF4320d, MF4330d, MF4500, MF4700, MF4800
	    i-SENSYS MF6100, MF8030, MF8200C, MF8300
	    imageRUNNER 1018/1022/1023, 1020/1024/1025, 1133
	    CanoScan 8800F, 9000F, 9000F Mark II
	    CanoScan LiDE 300, 400
	    MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000, MB5100, MB5400

     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

     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 E400, E460, E470, E480, E500, E560, E600, E610
	    PIXMA E3100, E3300, E3400, E4200
	    PIXMA G2020, G2060, G3020, G3060, G7000, G7080
	    PIXMA MG4100, MG6500, MG6600, MG6800, MG6900, MG8100
	    PIXMA MP375R, MP493, MP740
	    PIXMA MX320, MX390, MX430, MX450, MX490, MX710
	    PIXMA G3000, G3010, G4010, G6000, G6080, G7000, GM4000, GM4080
	    PIXMA TR7500, TR7530, TR7600, TR7800, TR8500, TR8530, TR8580 TR8600
	    PIXMA TR8630, TR9530
	    PIXMA TS3400, TS5100, TS6000, TS6130, TS6180, TS6230, TS6280, TS6300
	    PIXMA  TS6330,  TS6330,  TS6380,  TS6400,  TS6630,	TS6730,  TS7330,
	    TS7400,
	    PIXMA TS7430, TS7600i, TS7700, TS7700A, TS7700i, TS8100, TS8130
	    PIXMA TS8180, TS8230, TS8280, TS8300, TS8330, TS8380, TS8700, TS9000
	    PIXMA TS9100, TS9180, TS9500, TS9580
	    PIXUS MP5, XK50, XK60, XK70, XK80, XK90, XK100, XK110, XK120, XK130
	    PIXUS XK500
	    imageCLASS MF720, MF810/820, MF5630, MF5650, MF5750, MF8170c
	    imageCLASS MPC190, D550
	    i-SENSYS  MF110,  MF220,  MF260,  MF410, MF420, MF510, MF520, MF740,
	    MF750
	    i-SENSYS MF5880dn, MF5900, MF6680dn, MF8500C
	    MAXIFY MB5300

     The following models may use partly the same Pixma protocol  as  other  de-
     vices  listed above, but may still need some work. They are declared in the
     backend as experimental and need  the  environment  variable  PIXMA_EXPERI-
     MENT=1  to get recognized and activated. Snoop logs are required to further
     investigate, please contact the sane-devel mailing list.

	    -- none --

     The backend supports:

	    * resolutions of 75, 150, 300, 600, 1200, 2400, 4800, and  9600  DPI
	    (some maybe buggy),
	    * 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. Infrared channel on cer-
	    tain models.

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

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

     Example: pixma:MF4800_192.168.1.45 is a MF4800  Series  multi-function  pe-
     ripheral.

     This  backend,  based  on cloning original Canon drivers protocols, is in a
     production stage. Design has been carried out without any applicable  manu-
     facturer  documentation,  probably never available. However, we have tested
     it as well as we could, but it may not work in  all  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.

OPTIONS
     Besides "well-known" options (e.g. resolution, mode etc.)	sane-pixma back-
     end also provides the following options, i.e. the options might  change  in
     the future.
     The button status can be polled i.e. with scanimage -A.
     Button scan is disabled on MAC OS X due to darwin libusb not handling time-
     outs in usb interrupt reads, but may work when using the network protocol.

     adf-wait
	    This option enables and sets the time in seconds waiting for a docu-
	    ment  inserted  into the Automatic Document Feeder.  The maximum al-
	    lowed waiting time is 3600 sec (= 1 hour).

     button-controlled
	    This option can be used by applications (like scanadf(1) and scanim-
	    age(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  mod-
	    els). 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 (deprecated)
	    (write only) In the past this option was required to be set to force
	    reading  of  the  button  status  for  button-1  and  button-2.  The
	    sane-pixma backend no longer requires this option to be used: if  no
	    fresh data is available, it will be now requested automatically from
	    the scanner. This option is left for backward compatibility reasons.

     button-1 button-2
	    (read  only)  These  options will return the value of the respective
	    buttons.  Value 0 means that the button was not pressed,  1  is  re-
	    turned  when  the  button was pressed. Some scanners, with more than
	    two buttons, send the button number as target.

     original
	    (read only) Returns the value of the type or size of original to  be
	    scanned if the scanner provides that data. Known values of type: 1 =
	    document,  2  =  photo,  5 = film. Known values of size: 1 = A4, 2 =
	    Letter, 8 = 10x15, 9 = 13x18, b = auto.  Not all scanners  can  pro-
	    vide this data.

     target
	    (read only) Returns the value of the target of the scan operation if
	    the  scanner  provides  that  data. The values depend on the scanner
	    type. Known values: 1 = save to disk, 2 = save to pdf, 3 =	send  to
	    email,  4  = send to application or 1 = JPEG, 2 = TIFF, 3 = PDF, 4 =
	    Compact PDF. For some scanners this value is equivalent to the  num-
	    ber of the pressed button. Not all scanners can provide this data.

     scan-resolution
	    (read  only)  Returns  the	resolution  of the scan operation if the
	    scanner provides that data. Known values: 1 = 75 dpi, 2 = 150 dpi, 3
	    = 300 dpi, 4 = 600 dpi. Not all scanners can provide this data.

     document-type
	    (read only) Returns the type of the scanned document if the  scanner
	    provides  that data. Known values: 1 = Document, 2 = Photo, 3 = Auto
	    scan. Not all scanners can provide this data.

     adf-status
	    (read only) Returns the status of the document feeder if the scanner
	    provides that data. Known values: 1 = ADF empty, 2 = ADF filled. Not
	    all scanners can provide this data.

     adf-orientation
	    (read only) Returns the scan orientation of the medium scanned  from
	    ADF if the scanner provides that data. Known values: 1 = Portrait, 2
	    = Landscape. Not all scanners can provide this data.

FILES
     /usr/local/lib/sane/libsane-pixma.a
	    The static library implementing this backend.

     /usr/local/lib/sane/libsane-pixma.so
	    The  shared  library  implementing	this backend (present on systems
	    that support dynamic loading).

     /usr/local/etc/sane.d/pixma.conf
	    The backend configuration file (see also  description  of  SANE_CON-
	    FIG_DIR below).

	    The  file  contains an optional list of networked scanners using the
	    BJNP or MFNP protools (See below for datails on  networking  support
	    for  scanners).  Normally only scanners that cannot be auto-detected
	    because they are on a different subnet shall be listed here. If  you
	    do	not  use  Linux and your OS does not allow enumeration of inter-
	    faces (i.e. it does not support the getifaddrs() function) you  also
	    may need to add your scanner here as well.

	    Scanners shall be listed in the configuration file as follows:

		   <method>://<host>[:port][/timeout=<value>]

	    method
		   indicates  the protocol used.  bjnp is used for inkjet multi-
		   functionals and mfnp is used for laser multi-functionals).

	    host   is  the  hostname  or  IP  address  of  the	 scanner,   e.g.
		   bjnp://10.0.1.4		     for		   IPv4,
		   bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] for a  literal
		   IPv6-address or bjnp://myscanner.mydomain.org for a hostname.

	    port   is optional and is normally implied by the method.  Port 8610
		   is the standard port for mfnp, 8612 for bjnp.

	    timeout
		   scanner-specific  timeout value for the network protocol. The
		   value is in ms.

	    Define each scanner each on a separate line.

	    More globally-applicable timeouts can be set using the  bjnp-timeout
	    parameter as follows:

		   bjnp-timeout=<value>

	    A  timeout	defined  using	bjnp-timeout will apply to the following
	    scanner definitions in the file. If required, the bjnp-timeout  set-
	    ting  can  be  defined multiple times, where each setting will apply
	    only to the scanners that follow the setting. The  last  setting  is
	    used  for  auto-discovered scanners.  If not explicitly set, the de-
	    fault 1000ms setting will apply.

	    Setting timeouts should only be required in exceptional cases.

     If so desired, networking can be disabled as follows:

	    networking=no
		   If the first non-commented line contains this entry all  net-
		   working will be disabled.  All further statements in the con-
		   figuration file will be ignored.

	    auto_detection=no
		   This  line  will cause auto-detection to be skipped.  Explic-
		   itly defined network scanners will still be probed.

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

NETWORKING SUPPORT
     The sane-pixma backend supports network scanners using the so called  Canon
     BJNP and MFNP protocols.

     Canon  seems to be dropping support for these protocols in recent scanners.
     To verify if your scanner supports one of these protocols, check  the  con-
     tent  of  the _scanner._tcp service entry in mDNS/DNS-SD (using for example
     avahi-discover(1)).  If that does not list port 8610 or 8612  your  scanner
     probably does not support the mfmp or bjnp protols.

     Both  IPv4  and  IPv6 are supported, but IPv6 is as yet untested with MFNP.
     Please report your results on the mailing list.

     Configuration is normally not required.  The sane-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  sane-pixma
     configuration file (see above).

FIREWALLING FOR NETWORKED SCANNERS
     The  sane-pixma  backend  communicates with port 8610 for MFNP or port 8612
     for BJNP on the scanner. So you will have to allow outgoing traffic TO port
     8610 or 8612 on the common subnet for scanning.

     Scanner detection is slightly  more  complicated.	The  sane-pixma  backend
     sends  a  broadcast  on  all direct connected subnets it can find (provided
     your OS allows for enumeration of all network interfaces). The broadcast is
     sent FROM port 8612 TO port 8610 or 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.  For au-
     tomatic detection of your scanner, you will therefore have to allow  incom-
     ing  packets  TO  port 8612 on your computer. This applies to both MFNP and
     BJNP.

     So in short: open the firewall for all traffic from your computer	to  port
     8610  (for  MFNP)	or  8612  (for BJNP) AND to port 8612 (for both BJNP and
     MFNP) 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.

ENVIRONMENT
     SANE_DEBUG_PIXMA
	    If the library was compiled with debug support enabled,  this  envi-
	    ronment  variable  controls the debug level for this backend itself.
	    Higher value increases the verbosity and  includes	the  information
	    printed at the lower levels.
	    0  print nothing (default)
	    1  print error and warning messages (recommended)
	    2  print informational messages
	    3  print debug-level messages
	    4  print verbose debug-level messages
	    11 dump USB traffic
	    21 full dump USB traffic

     SANE_DEBUG_BJNP
	    If	the  library was compiled with debug support enabled, this envi-
	    ronment variable controls the debug level for the BJNP and MFNP net-
	    work protocols for this backend. Higher  value  increases  the  ver-
	    bosity and includes the information printed at the lower levels.
	    0 print nothing (default)
	    1 Print error and warning messages (recommended)
	    2 Print high level function tracing information
	    3 Print more detailed protocol tracing information
	    4 Print protocol headers
	    5 Print full protocol contents

     PIXMA_EXPERIMENT
	    Setting  to  a  non-zero  value will enable experimental support for
	    further models.  You should also set SANE_DEBUG_PIXMA to 11.

     SANE_CONFIG_DIR
	    This environment variable specifies the list of directories that may
	    contain the configuration file.  On *NIX  systems,	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 /usr/local/etc/sane.d.	 If  the
	    value  of the environment variable ends with the directory separator
	    character, then the default directories are searched after	the  ex-
	    plicitly  specified  directories.	For  example,  setting SANE_CON-
	    FIG_DIR to "/tmp/config:" would result in directories tmp/config, .,
	    and /usr/local/etc/sane.d being searched (in this order).

SEE ALSO
     sane(7), sane-dll(5), scanimage(1), scanadf(1),  gamma4scanimage(1),  geti-
     faddrs(3)

     In  case  of trouble with a recent Pixma model, try the latest code for the
     sane-pixma backend, available in the Sane git repository at:
     https://gitlab.com/sane-project/backends.git

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

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

				   15 Aug 2020			   sane-pixma(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sane-pixma&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help