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

FreeBSD Manual Pages

  
 
  

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

NAME
       sane-apple - SANE backend for Apple flatbed scanners

DESCRIPTION
       The  sane-apple	library	 implements  a	SANE (Scanner Access Now Easy)
       backend that provides access to Apple flatbed scanners. At present, the
       following scanners are supported	from this backend:

       --------------- ----- ------------------	------
       AppleScanner    4bit  16	Shades of Gray
       OneScanner      8bit  256 Shades	of Gray
       ColorOneScanner 24bit RGB color		3-pass

       If you own a Apple scanner other	than the ones listed above that	 works
       with  this  backend,  please let	us know	by sending the scanner's model
       name, SCSI id, and  firmware  revision  to  sane-devel@alioth-lists.de-
       bian.net.   See	http://www.sane-project.org/mailing-lists.html for de-
       tails on	how to subscribe to sane-devel.

DEVICE NAMES
       This backend expects device names of the	form:

	      special

       where special is	the path-name for the special device that  corresponds
       to a SCSI scanner. For SCSI scanners, the special device	name must be a
       generic SCSI device or a	symlink	to such	a device.  Under Linux,	such a
       device	name   could  be  /dev/sga  or	/dev/sge,  for	example.   See
       sane-scsi(5) for	details.

CONFIGURATION
       The apple.conf file is a	list of	options	and device names  that	corre-
       spond  to  Apple	 scanners.  Empty lines	and lines starting with	a hash
       mark (#)	are ignored.  See sane-scsi(5) on details of what  constitutes
       a valid device name.

       Options	come  in  two flavors: global and positional ones.  Global op-
       tions apply to all devices managed by the backend,  whereas  positional
       options	apply  just  to	the most recently mentioned device.  Note that
       this means that the order in which the options appear matters!

SCSI ADAPTER TIPS
       SCSI scanners are typically delivered with an ISA SCSI adapter.	Unfor-
       tunately, that adapter is not worth much	since it is not	interrupt dri-
       ven.  It	is sometimes possible to get the supplied card	to  work,  but
       without an interrupt line, scanning will	put so much load on the	system
       that it becomes almost unusable for other tasks.

FILES
       /usr/local/etc/sane.d/apple.conf
	      The   backend   configuration  file  (see	 also  description  of
	      SANE_CONFIG_DIR below).

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

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

ENVIRONMENT
       SANE_CONFIG_DIR
	      This environment variable	is a list of  directories  where  SANE
	      looks  for  the  configuration file.  On *NIX systems, directory
	      names are	separated by a colon (`:'), under OS/2 by a semi-colon
	      (`;').  If SANE_CONFIG_DIR is not	set, SANE defaults to  search-
	      ing  the	current	 working  directory  (".")  and	 then /usr/lo-
	      cal/etc/sane.d.  If the value of $SANE_CONFIG_DIR	ends with  the
	      separator	 character, the	default	directories are	searched after
	      the directory list.  For	example,  setting  SANE_CONFIG_DIR  to
	      "/tmp/config:"  would  result  in	directories tmp/config,	., and
	      /usr/local/etc/sane.d being searched (in that order).

       SANE_DEBUG_APPLE
	      Controls the debug level.	 A value of 255	prints all debug  out-
	      put.   Smaller values reduce verbosity.  Requires	a library com-
	      piled with debug support.

CURRENT	STATUS
       The apple backend is now	in version 0.3 (Tue Jul	21 1998). Since	I only
       have the	AppleScanner and not the other models (OneScanner,  ColorOneS-
       canner) I can only develop/test for the AppleScanner effectively.  How-
       ever with this release I	almost completed the GUI part of all scanners.
       Most  of	the functionality is there. At least OneScanner	should scan at
       the AppleScanner's compatible modes  (LineArt,  HalfTone,  Gray16).  My
       personal	belief is that with a slight touch of debugging	the OneScanner
       could  be actually usable. The ColorOneScanner needs more work. AppleS-
       canner is of course almost fully	supported.

MISSING	FUNCTIONALITY
       Currently all three models lack upload/download support.

       AppleScanner
	      Cannot up/download a halftone pattern.

       OneScanner
	      Cannot up/download halftone patterns or calibration vectors.

       ColorOneScanner
	      Cannot up/download halftone patterns, calibration	vectors,  cus-
	      tom Color	Correction Tables (CCT)	and of course custom gamma ta-
	      bles.

       Park/UnPark (OneScanner,	ColorOneScanner)
	      Some capabilities	are missing.

       The above functionalities are missing because I don't have the hardware
       to experiment on.  Another reason is my lack of understanding as	to how
       or  if  the  SANE  API provide means to describe	any array type besides
       gamma.

UNSUPPORTED FEATURES
       The following "features"	will never be  supported,  at  least  while  I
       maintain	the sane-apple backend.

       NoHome (AppleScanner)
	      The  scanner  lamp  stays	 on  and the carriage assembly remains
	      where it stops at	the end	of the scan. After two minutes,	if the
	      scanner does not receive another SCAN command, the lamp goes off
	      and the carriage returns to the home position.

       Compression (AppleScanner)
	      The Scanner can compress data with CCITT Group  III  one	dimen-
	      sional algorithm (fax) and the Skip White	Line algorithm.

       Multiple	Windows	(AppleScanner)
	      AppleScanner  may	 support  multiple windows. It would be	a cool
	      feature and a challenge for me to	code if	it could intermix dif-
	      ferent options for different windows (scan areas). This  way  it
	      could  scan  a document in LineArt mode but the figures in it in
	      Gray and at a different resolution.  Unfortunately this  is  im-
	      possible.

       Scan Direction (OneScanner)
	      It controls the scan direction. (?)

       Status/Reset Button (OneScanner)
	      This  option controls the	status of the button on	the OneScanner
	      model. You can also reset	the button status by software.

BUGS
       SANE backend bugs are divided in	two classes.  We  have	GUI  bugs  and
       scanner specific	bugs.

       We  know	 we  have a GUI	bug when a parameter is	not showing up when it
       should (active) or vice versa. Finding out which	parameters are	active
       across  various Apple modes and models from the documentation is	an in-
       teresting exercise. I may have missed some dependencies.	For example of
       the threshold parameter the Apple Scanners Programming Guide says noth-
       ing. I had to assume it is valid	only in	LineArt	mode.

       Scanner specific	bugs are mostly	due to mandatory round-offs  in	 order
       to scan.	In the documentation in	one place states that the width	of the
       scan  area should be a byte multiple. In	another	place it says that the
       width of	the scan area should be	an even	byte multiple. Go figure...

       Other sources of	bugs are due to	scsi communication, scsi connects  and
       disconnects. However the	classical bugs are still there.	So you may en-
       counter	buffer overruns, null pointers,	memory corruption and SANE API
       violations.

       SIGSEGV on SliceBars
	      When you try to modify the scan area from	the slice bar you have
	      a	nice little cute core dump. I don't know why.  If  you	select
	      the scan area from the preview window or by hand typing the num-
	      bers everything is fine. The SIGSEGV happens deep	in gtk library
	      (gdk). I really cannot debug it.

       Options too much
	      It  is  possible,	 especially  for  the ColorOneScanner, for the
	      backend's	options	panel to extend	beyond your screen. It happens
	      with mine	and I am running my X Server at	1024x768. What	can  I
	      say? Try smaller fonts in	the X server, or virtual screens.

       Weird SCSI behaviour
	      I	am quoting David Myers Here...

	      >> OS: FreeBSD 2.2.6
	      >> CC: egcs-1.02
	      Just  wanted to follow up	on this...  I recently changed my SCSI
	      card from	the Adaptec  2940UW  to	 a  dual-channel  Symbios  786
	      chipset.	 When I	started	up SANE	with your driver, I managed to
	      scan line	art drawings okay, but Gray16 scans led	to a stream of
	      SCSI error messages on the console, ultimately  hanging  with  a
	      message  saying the scanner wasn't releasing the SCSI bus.  This
	      may be that the Symbios is simply	less tolerant of ancient hard-
	      ware, or may be bugs in your driver or in	SANE itself...

DEBUG
       If you encounter	a  GUI	bug  please  set  the  environmental  variable
       SANE_DEBUG_APPLE	 to 255	and rerun the exact sequence of	keystrokes and
       menu selections to reproduce it.	Then send me a report with the log at-
       tached.

       If you have an Apple Macintosh with the AppleScanners driver installed,
       reporting to me which options are grayed	out (inactive) in  what	 modes
       would be	very helpful.

       If  you	want  to  offer	some help but you don't	have a scanner,	or you
       don't have the model you	would like to help with, or you	are a SANE de-
       veloper and you just want to take a look	at how the apple backend looks
       like, goto to apple.h and #define the NEUTRALIZE_BACKEND	macro. You can
       select the scanner model	through	the APPLE_MODEL_SELECT	macro.	Avail-
       able options are	APPLESCANNER, ONESCANNER, and COLORONESCANNER.

       If  you	encounter  a SCSI bus error or trimmed and/or displaced	images
       please set the environment variable SANE_DEBUG_SANEI_SCSI to 255	before
       sending me the report.

TODO
       Non Blocking Support
	      Make  sane-apple	a  non	blocking  backend.  Properly   support
	      sane_set_io_mode() and sane_get_select_fd().

       Scan   Make scanning possible for all models in all supported modes.

       Add other missing functionality.

SEE ALSO
       sane(7),	sane-scsi(5)

AUTHOR
       The  sane-apple	backend	was written not	entirely from scratch by Milon
       Firikis.	It is mostly based on the sane-mustek(5)  backend  from	 David
       Mosberger and Andreas Czechanowski.

				  11 Jul 2008			 sane-apple(5)

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

home | help