Scanner Access Now Easy ― Backends
 
 
 
 
 
 
Go to file
Jochen Eisinger 13bc8892af 2001-04-30 Jochen Eisinger <jochen.eisinger@informatik.uni-freiburg.de>
* doc/sane-mustek_pp.man: Added information about CIS patches
	  by Eddy De Greef
2001-04-30 19:38:22 +00:00
backend l2001-04-29 Chris Pinkham <cpinkham@infi.net> 2001-04-30 02:00:04 +00:00
doc 2001-04-30 Jochen Eisinger <jochen.eisinger@informatik.uni-freiburg.de> 2001-04-30 19:38:22 +00:00
frontend Fixed memory leak 2001-04-29 17:27:03 +00:00
include Make sure net backend release all memory when finished. 2001-04-29 11:11:07 +00:00
japi Move javac and javah to make variables. 2000-09-17 03:02:24 +00:00
lib 2000-12-04 Oliver Rauch <Oliver.Rauch@Wolfsburg.DE> 2000-12-04 20:58:34 +00:00
sanei Don't free memory that's not alloced 2001-04-29 19:42:19 +00:00
testsuite Started on runtime test suite. Currently only tests if PNM test 2001-02-22 09:53:08 +00:00
tools 2000-12-31 Henning Meier-Geinitz <hmg@gmx.de> 2000-12-31 19:35:04 +00:00
AUTHORS 2001-04-19 Henning Meier-Geinitz <henning@meier-geinitz.de> 2001-04-19 21:10:26 +00:00
COPYING Initial revision 1999-08-09 18:06:01 +00:00
ChangeLog Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
LEVEL2 Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
LICENSE Initial revision 1999-08-09 18:06:01 +00:00
Makefile.in New target 'sort-cvsignore' to keep all .cvsignore files sorted. 2001-04-16 17:39:07 +00:00
NEWS Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
PROBLEMS 2001-04-22 Henning Meier-Geinitz <henning@meier-geinitz.de> 2001-04-22 20:01:30 +00:00
PROJECTS 2001-04-29 Henning Meier-Geinitz <henning@meier-geinitz.de> 2001-04-29 10:11:08 +00:00
README Added info about the CVS repository. 2001-04-29 10:15:51 +00:00
README.aix Added mention of the AIX 5.1 version of the passthru driver. 1994-09-07 02:48:51 +00:00
README.hp-ux Merge devel (v1.0.3) into head branch. 2000-08-12 15:11:46 +00:00
README.linux sanei_scsi.c: Fixed a buf in the rror handling for the Linux SG driver v3.x; 2001-04-10 22:38:01 +00:00
README.os2 Merge devel (v1.0.3) into head branch. 2000-08-12 15:11:46 +00:00
README.solaris Initial revision 1999-08-09 18:06:01 +00:00
README.unixware2 2000-11-24 Henning Meier-Geinitz <hmg@gmx.de> 2000-11-24 22:21:32 +00:00
README.unixware7 2000-11-24 Henning Meier-Geinitz <hmg@gmx.de> 2000-11-24 22:21:32 +00:00
TODO Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
acinclude.m4 Try to guess how to set runtime link path, and make it easier to extend. 2001-04-16 17:23:37 +00:00
aclocal.m4 Updated the generated files. 2001-04-16 17:43:24 +00:00
config.guess Upgraded to latest version from <URL:ftp://ftp.gnu.org/pub/gnu/config/>. 2000-09-17 07:33:39 +00:00
config.sub Upgraded to latest version from <URL:ftp://ftp.gnu.org/pub/gnu/config/>. 2000-09-17 07:33:39 +00:00
configure Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
configure.in Wiped old repository. Imported v1.0.1. 1999-08-09 18:06:01 +00:00
configure.os2 Merge devel (v1.0.3) into head branch. 2000-08-12 15:11:46 +00:00
install-sh Merged main branch with current DEVEL_1_9. 2000-03-05 13:57:25 +00:00
ltconfig 2000-11-22 Oliver Rauch <Oliver.Rauch@Wolfsburg.DE> 2000-11-22 23:10:46 +00:00
ltmain.sh Merge devel (v1.0.3) into head branch. 2000-08-12 15:11:46 +00:00
mkinstalldirs Merged main branch with current DEVEL_1_9. 2000-03-05 13:57:25 +00:00
sane-backends.lsm Added keyword gphoto. 1994-11-04 13:13:55 +00:00

README

How to configure, build, and install SANE.

Introduction:
=============
SANE stands for Scanner Access Now Easy.
This package contains the SANE libraries (this means backends and
network scanning parts) and the command line frontend scanimage.
You always find the most recent version of SANE on:

  http://www.mostang.com/sane

The source is available via anonymous CVS, hosted by The Hungry
Programmers. Information on the CVS repository is available from
<URL:http://www.student.uit.no/~pere/linux/sane/cvs-server.html>.  The
following will fetch the latests source:

  cvs -d :pserver:anoncvs@anoncvs.hungry.com:/cvsroot login 
  [password "anoncvs"] 
  cvs -d :pserver:anoncvs@anoncvs.hungry.com:/cvsroot co sane

There are several graphical frontends available for SANE.
XSane is available on http://www.xsane.org
The graphical frontends that have been included into the sane package up to
version sane-1.0.3 (xscanimage and xcam) have been put into an own package
sane-frontends-1.0.x, this package is available on http://www.mostang.com/sane


Quick install:
==============

./configure
make
make install

Prerequisites
=============

In order to build SANE, the following tools and libraries are required:

	- GNU make: version 3.70 or newer

	- ANSI C compiler: GNU C (gcc) is recommended for best performance,
	  but any ANSI-compliant compiler should do

SANE should build on most Unix-like systems. Support for OS/2 is also
available. For more details look at the operating system specific README.*
files. For a detailed support matrix, see:

    http://www.mostang.com/sane/sane-support.html

This table may be out of date. Please send any corrections or additions to
sane-devel@mostang.com together with your platform, os and version.


Configuration
=============

Simply invoke configure in the top-level directory.  Besides the usual GNU
configure options, there are the following SANE specific options:

 --disable-shared
	Don't use shared libraries.  Useful for debugging or when there
	is a problem building shared libraries.  This implicitly turns
	on --disable-dynamic as well.

 --disable-dynamic
	Disable dynamic loading of backends (in the dll backend).
	configure normally turns on dynamic loading when it
	can find the appropriate header files and libraries
	(<dlfcn.h> and -dl).

 --enable-preload
        Preload backends into DLL backend.  This is useful for debugging,
	when dynamic loading is unavailable, or to reduce runtime linking
	overheads.  If dynamic loading or shared libraries are unavailable
	or disabled, this option is turned on automatically.
	
 --enable-scsibuffersize=N 
        Specify the buffer size of the buffer for SCSI commands. The default
	value is 131072 bytes (128 kb). This may be changed at runtime by
	setting	the environment variable SANE_SG_BUFFERSIZE to the desired
	value. The option is Linux-only at this time.
	--enable-scsibuffersize and SANE_SG_BUFFERSIZE have no effect for
	the Mustek, Umax and Sharp backends. For these backends, the buffer
	size is set automatically and/or can be specified in the backend's
	configuration file. Please refer to the backend's man pages for
	details.

In addition to these SANE-specific configuration options, there are
many standard-options.  To get a description of available standard
option, invoke configure with option --help.

If you plan on debugging one of the SANE programs, we recommend to run
configure like this:

   CFLAGS="-g -O -Wall" ./configure --disable-shared

For operating system specific information, look at the README.* files.


Build
=====

To build SANE, simply type "make" in the top-level directory.


Installation and Configuration
==============================

Once the build has finished, install SANE with "make install".  By
default, this will place the SANE libraries in /usr/local/lib/, the
configuration files in /usr/local/etc/sane.d/, and the manual pages in
/usr/local/man/.  The location of these directories can be overridden
with configure options; see "configure --help" for details.

Before running any SANE program, read the PROBLEMS file in this directory.
For information on configuring and trouble-shooting the various SANE
components, please refer to the manual pages and other documentation listed
below:

  Regarding:	           Read:
  -----------------        ------------------------------------------
  Frontends:
    scanimage              scanimage(1)
    saned		   saned(1)

  Backends for scanners:
    Abaton                 sane-abaton(5)
    AGFA Focus             sane-agfafocus(5)
    AGFA SnapScan          sane-snapscan(5)
    Apple                  sane-apple(5)
    Artec                  sane-artec(5)
    Artec AS6E parport     sane-as6e(5)
    Avision                sane-avision(5)
    Bell+Howell CopiscanII sane-bh(5)
    Canon                  sane-canon(5)
    Nikon Coolscan         sane-coolscan(5)
    Epson                  sane-epson(5)
    Fujitsu                sane-fujitsu(5)
    HP                     sane-hp(5)
    Microtek               sane-microtek(5)
    Microtek SCSI-2        sane-microtek2(5)
    Mustek                 sane-mustek(5)
    Mustek parallel port   sane-mustek_pp(5)
    NEC                    sane-nec(5)
    Pacific Image          sane-pie(5)
    Plustek                sane-plustek(5)
    Ricoh                  sane-ricoh(5)
    Sharp                  sane-sharp(5)
    Siemens S9036          sane-s9036(5)
    Siemens ST400,ST800    sane-st400(5)
    Tamarack               sane-tamarack(5)
    UMAX                   sane-umax(5)
    
  Backends for digital cameras:
    Connectix QuickCam     sane-qcam(5)
    Kodak DC20/DC25        sane-dc25(5)
    Kodak dc210            sane-dc210(5)
    Kodak dc240            sane-dc240(5)
    Polaroid               sane-dmc(5)
  
  Miscellaneous backends:
    PNM image reader       sane-pnm(5)
    PINT scanners          sane-pint(5)
    Video for Linux        sane-v4l(5)

  Miscellaneous:
    Dynamic loading        sane-dll(5)
    Networking             sane-net(5) and saned(1)
    SCSI configuration     sane-scsi(5)

For more details on supported scanners and cameras look at the SANE website:
http://www.mostang.com/sane/sane-backends.html.

Concerning frontends (applications): Starting from SANE 1.0.4, only scanimage
is included in the package. Some of the available frontends can be found in
the separate package sane-frontends.  For more information about frontends and
where to get them look at http://www.mostang.com/sane/sane-frontends.html.

Please note that the default configuration uses sane-dll as the top-level
backend.  Hence it is probably a good idea to start with reading sane-dll(5).
The top-level backend is determined by the libsane.* symlinks in
/usr/local/lib/.

For SCSI scanners reading of sane-scsi(5) is recommended.

Please also read the file PROJECTS for projects that are planned or not yet
included into the SANE distribution.

If you encounter any problems with getting your device(s) recognized, try
setting the various environment variables that are available to assist in
debugging such problems.  The environment variables are documented in the
relevant manual pages.  For example, to get the maximum amount of debug
information when testing a Mustek scanner, set environment variables
SANE_DEBUG_DLL, SANE_DEBUG_MUSTEK, and SANE_DEBUG_SANEI_SCSI to 128 and then
invoke scanimage or whatever program you're trying to debug.  For a Mustek
scanner at /dev/scanner, you might want to invoke scanimage as follows:

	scanimage -d mustek:/dev/scanner -h

If this works, you could try to acquire an image with:

	scanimage -d mustek:/dev/scanner >t.pnm

If you are not sure what generic SCSI device your scanner is connected to, try
the command sane-find-scanner.  It is normally sufficient to invoke the
program without any arguments.  Invoking this command should produce output
similar to this:

  $ sane-find-scanner
  sane-find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/scanner
  sane-find-scanner: found "MUSTEK MFC-06000CZ 1.01" at device /dev/sge

Note that sane-find-scanner will find any scanner that is connected to a SCSI
bus.  It will even find scanners that are not supported at all by SANE.

There may be several causes for the following messages from the frontends:
"scanimage: no SANE devices found" or "xscanimage: no devices available.".
 
  * Your scanner is not recognized by any backend. It is not supported.
    You may ask the maintainer of your backend (see AUTHORS) or 
    sane-devel@mostang.com if support is planned.
 
  * SANE can't access the device files (e.g /dev/sga). Check the permissions.

  * Your backend is not listed in dll.conf (or commented out).

The tools directory contains some small programs that may be helpfull. They
are described in tools/README.