sane
sane(e)                                                   sane(e)



NAME
       sane - Scanner Access Now Easy: API for accessing scanners


DESCRIPTION
       SANE is an application programming  interface  (API)  that
       provides  standardized  access to any raster image scanner
       hardware. The standardized interface makes it possible  to
       write  just  one driver for each scanner device instead of
       one driver for each scanner and application.

       While SANE is primarily targeted at  a  UNIX  environment,
       the standard has been carefully designed to make it possi-
       ble to implement the API  on  virtually  any  hardware  or
       operating system.

       This  manual  page  provides  a summary of the information
       available about SANE.


TERMINOLOGY
       An application that uses the SANE interface  is  called  a
       SANE  frontend.   A driver that implements the SANE inter-
       face is called a SANE backend.  A  meta  backend  provides
       some means to manage one or more other backends.


SANE STANDARD AND WRITING BACKENDS
       The  SANE  standard  defines  the  application programming
       interface (API) that is used to communicate between  fron-
       tends    and    backends.    It    can    be    found   at
       /usr/doc/sane-1.0.7/sane.ps (if latex is installed on your
       system)       and      on      the      SANE      website:
       http://www.mostang.com/sane/html/        (HTML),        or
       http://www.mostang.com/sane/sane.ps (Postscript).

       There   is   some  more  information  for  programmers  in
       /usr/doc/sane-1.0.7/backend-writing.txt.   Some   of   the
       internal  SANE routines (sanei) are documented using doxy-
       gen: http://sanei.meier-geinitz.de/ . Before a new backend
       or   frontend   project   is   started,  have  a  look  at
       /usr/doc/sane-1.0.7/PROJECTS for projects that are planned
       or not yet included into the SANE distribution.

       Your    help    is    always    appreciated.    Look    at
       /usr/doc/sane-1.0.7/TODO for things that should  be  done.
       Not only programmers are needed, but also reading and fix-
       ing the documentation and reporting bugs  would  be  nice.
       Further  more,  translations  of  the  backend options are
       needed. Contact the SANE mailing list for details.


SOFTWARE PACKAGES
       The package `sane-backends' contains a  lot  of  backends,
       documentation  (including  the  SANE standard), networking
       support, and the command line frontend  `scanimage'.   The
       frontends `xscanimage', `xcam', and `scanadf' are included
       in the package `sane-frontends'.   Both  packages  can  be
       downloaded        from       the       SANE       homepage
       (http://www.mostang.com/sane/).  Information  about  other
       frontends  and  backends can be found on the frontend page
       (http://www.mostang.com/sane/frontends.html).


GENERAL INFORMATION
       The following  sections  provide  short  descriptions  and
       links  to  more information about several aspects of SANE.
       A name with a number in parenthesis  (e.g.  `sane-dll(l)')
       points  to  a  manual page, in this case `man 5 sane-dll'.
       Entries like `/usr/doc/sane-1.0.7/sane.tex' are references
       to  text  files that were copied to the SANE documentation
       directory   (/usr/doc/sane-1.0.7)   during   installation.
       Everything else is an URL to a resource on the web.


       SANE homepage
         Information  on all aspects of SANE including a tutorial
         and a link to the SANE FAQ can  be  found  on  the  SANE
         homepage: http://www.mostang.com/sane/.

       SANE mailing list
         There  is  a  mailing list for the purpose of discussing
         the SANE standard and its  implementations:  sane-devel.
         Since this is currently the only mailing list devoted to
         SANE, it's perfectly OK to ask questions  that  are  not
         strictly  related  to SANE development. How to subscribe
         and unsubscribe: http://www.mostang.com/sane/mail.html

       Compiling and installing SANE
         Look at /usr/doc/sane-1.0.7/README and the  os-dependent
         README   files   for  information  about  compiling  and
         installing SANE.

       SCSI configuration
         For information about  various  systems  and  SCSI  con-
         trollers see sane-scsi(i).  USB configuration For infor-
         mation about USB configuration see sane-usb(b).


FRONTENDS AND MISCELLANEOUS PROGRAMS
       scanimage
         Command-line frontend. See scanimage(e).

       saned
         SANE network daemon that allows remote clients to access
         image  acquisition  devices available on the local host.
         See saned(d).

       sane-find-scanner
         sane-find-scanner is a command-line tool  to  find  SCSI
         and  some  USB  scanners and determine their Unix device
         files. See sane-find-scanner(r).

       Also, have a look at the sane-frontends package (including
       xscanimage,  xcam,  and scanadf) and the frontend informa-
       tion   page   at    http://www.mostang.com/sane/sane-fron-
       tends.html.


BACKENDS FOR SCANNERS
       abaton
         The  SANE  backend  for Abaton flatbed scanners supports
         the Scan 300/GS (8bit, 256 levels of gray) and the  Scan
         300/S  (black  and  white, untested). See sane-abaton(n)
         for details.

       agfafocus
         This  backend  supports  AGFA  Focus  scanners  and  the
         Siemens  S9036  (untested).   See  sane-agfafocus(s) for
         details.

       apple
         The SANE backend for Apple flatbed scanners supports the
         following  scanners:  AppleScanner,  OneScanner and Col-
         orOneScanner. See sane-apple(e) for details.

       artec
         The SANE Artec  backend  supports  several  Artex/Ultima
         SCSI flatbed scanners as well as the BlackWidow BW4800SP
         and the Plustek 19200S. See sane-artec(c) for details.

       as6e
         This is a SANE backend for using the Artec AS6E parallel
         port interface scanner. See sane-as6e(e) for details.

       avision
         This  backend  supports  Avision AV 630 CS flatbed scan-
         ners. See sane-avision(n) for details.

       bh
         The bh backend provides access to  Bell+Howell  Copiscan
         II series document scanners. See sane-bh(h) for details.

       canon
         The canon backend supports the  CanoScan  300,  CanoScan
         600, and CanoScan 2700F SCSI flatbed scanners. See sane-
         canon(n) for details.

       coolscan
         This is a SANE backend for Nikon Coolscan film-scanners.
         See sane-coolscan(n) for details.

       epson
         The  SANE epson backend provides support for Epson SCSI,
         parallel  port  and  USB  flatbed  scanners.  See  sane-
         epson(n) for details.

       hp
         The  SANE hp backend provides access to HP ScanJet scan-
         ners and  OfficeJet  multi-function  peripherals  (MFPs)
         which  support SCL (Scanner Control Language by HP). See
         sane-hp(p) for details.

       m3096g
         This backend supports the Fujitsu M3096Gm flatbed  scan-
         ner. See sane-fujitsu(u) for details.

       microtek
         The microtek backend provides access to the "second gen-
         eration" Microtek scanners with SCSI-1 command set.  See
         sane-microtek(k) for details.

       microtek2
         The  microtek2  backend provides access to some Microtek
         scanners  with  a  SCSI-2   command   set.   See   sane-
         microtek2(2) for details.

       mustek
         The  SANE  mustek  backend  supports  most  Mustek  SCSI
         flatbed scanners including the Paragon  and  ScanExpress
         series  and the 600 II N (non-SCSI). Some Trust scanners
         are also supported. See sane-mustek(k) for details.

       mustek_pp
         The mustek_pp backend provides access to Mustek parallel
         port   flatbed   scanners.   See  sane-mustek_pp(p)  for
         details.

       mustek_usb
         The mustek_usb backend provides access  to  some  Mustek
         USB   flatbed   scanners.   See  sane-mustek_usb(b)  for
         details.

       nec
         The SANE nec backend supports the NEC  PC-IN500/4C  SCSI
         scanner. See sane-nec(c) for details.

       pie
         The  pie  backend provides access to PIE and Devcom SCSI
         flatbed scanners. See sane-pie(e) for details.

       plustek
         The SANE plustek backend supports Plustek parallel  port
         scanners. See sane-plustek(k) for details.

       ricoh
         The ricoh backend provides access to the following Ricoh
         flatbed scanners: IS50 and IS60. See  sane-ricoh(h)  for
         details.

       s9036
         The  s9036  backend  provides  access  to  Siemens  9036
         flatbed scanners. See sane-s9036(6) for details.

       sharp
         The SANE sharp backend supports Sharp SCSI scanners. See
         sane-sharp(p) for details.

       sm3600
         The  SANE sm3600 backend supports the Microtek ScanMaker
         3600 USB scanner. See sane-sm3600(0) for details.

       snapscan
         The snapscan  backend  supports  AGFA  SnapScan  flatbed
         scanners. See sane-snapscan(n) for details.

       sp15c
         This  backend  supports the FCPA ScanPartner 15C flatbed
         scanner. See sane-fujitsu(u) for details.

       st400
         The sane-st400 backend provides access to Siemens  ST400
         and ST800. See sane-st400(0) for details.

       tamarack
         The  SANE  tamarack  backend  supports Tamarack Artiscan
         flatbed scanners. See sane-tamarack(k) for details.

       umax
         The sane-umax backend provides access to  several  UMAX-
         SCSI-scanners  and some Linotype Hell SCSI-scanners. See
         sane-umax(x) for details.

       umax_pp
         The sane-umax_pp backend provides access to Umax  paral-
         lel  port  flatbed  scanners and the HP 3200C. See sane-
         umax_pp(p) for details.

       umax1200u
         The sane-umax1220u backend supports the UMAX Astra 1220U
         (USB)  flatbed  scanner  (and also the UMAX Astra 2000U,
         sort of). See sane-umax1220u(u) for details.


       Also, have a look  at  the  backend  information  page  at
       http://www.mostang.com/sane/sane-backends.html   and   the
       list of projects in /usr/doc/sane-1.0.7/PROJECTS.


BACKENDS FOR DIGITAL CAMERAS
       sane-dc210
         Backend  for  Kodak  DC210  Digital  Camera.  See  sane-
         dc210(0).

       sane-dc240
         Backend  for  Kodak  DC240  Digital  Camera.  See  sane-
         dc240(0).

       sane-dc25
         Backend for Kodak DC20/DC25 Digital Cameras.  See  sane-
         dc25(5).

       sane-dmc
         Backend  for the Polaroid Digital Microscope Camera. See
         sane-dmc(c).

       sane-gphoto2
         Backend for digital cameras  supported  by  the  gphoto2
         library  package.   (See  http://www.gphoto.org for more
         information and a list of supported cameras.)    Gphoto2
         supports  over  140  different  camera models.  However,
         please note that more development and testing is  needed
         before  all  of  these cameras will be supported by SANE
         backend.  See sane-gphoto2(2).

       sane-qcam
         Backend  for  Connectix  QuickCam  cameras.  See   sane-
         qcam(m).

       Also,  have  a  look  at  the  backend information page at
       http://www.mostang.com/sane/sane-backends.html   and   the
       list of projects in /usr/doc/sane-1.0.7/PROJECTS.


MISCELLANEOUS BACKENDS
       sane-dll
         The sane-dll library implements a SANE backend that pro-
         vides access to an arbitrary number of other SANE  back-
         ends by dynamic loading. See sane-dll(l).

       sane-net
         The  SANE  network daemon saned provides access to scan-
         ners located on different computers in  connection  with
         the net backend. See sane-net(t) and saned(d).

       sane-pnm
         PNM  image  reader  pseudo-backend.  The purpose of this
         backend is primarily to aid in debugging of  SANE  fron-
         tends. See sane-pnm(m).

       sane-pint
         Backend  for  scanners  that  use  the PINT (Pint Is Not
         Twain) device driver.  The PINT driver is being actively
         developed  on  the OpenBSD platform, and has been ported
         to a few other *nix-like operating  systems.  See  sane-
         pint(t),

       sane-v4l
         The sane-v4l library implements a SANE backend that pro-
         vides generic access to video cameras and similar equip-
         ment  using  the  V4L  (Video  for Linux) API. See sane-
         v4l(l).

       Also, have a look  at  the  backend  information  page  at
       http://www.mostang.com/sane/sane-backends.html   and   the
       list of projects in /usr/doc/sane-1.0.7/PROJECTS.


PROBLEMS
       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(l).   The  top-level
       backend   is  determined  by  the  libsane.*  symlinks  in
       /usr/lib/sane.

       For SCSI scanners reading of sane-scsi(i) is  recommended.
       For USB scanners, sane-usb(b) may help.

       If  you encounter any problems with getting your device(e)
       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 SCSI 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  scanim-
       age 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 or USB device your
       scanner is connected to, try the  command  sane-find-scan-
       ner.  Usually, It's sufficient to invoke the program with-
       out 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  /usr/doc/sane-1.0.7/AUTHORS)  or  the SANE mailing
         list (see above) if support is planned.

       * SANE can't access the device files (e.g /dev/sga). Check
         the permissions.

       * Your  backend  is not listed in /etc/sane.d/dll.conf (or
         commented out).

       * There are older installations of SANE on your system. If
         you  installed  the  SANE  libraries  in  /usr/local/lib
         (default) you should  check  if  there  are  older  SANE
         libraries  at /usr/lib. Remove them (rm -r /usr/lib/lib-
         sane* /usr/lib/sane).

       * If you can use SANE with scanimage but  not  with  other
         (graphical)  frontends,  check that /etc/ld.so.conf con-
         tains    /usr/local/lib    and    does    not    contain
         /usr/local/lib/sane.  See  also the documentation of the
         frontends.


REPORTING BUGS
       If you think you found a bug in  a  backend,  contact  the
       author  of  your backend. Usually the email address can be
       found in the /usr/doc/sane-1.0.7/AUTHORS file. If he isn't
       marked  as  `active  maintainer'  you can also contact the
       SANE       mailing       list       sane-devel        (see
       http://www.mostang.com/sane/mail.html  for  details).  You
       must be subscribed to the list, otherwise your mail  won't
       be sent to the subscribers.

       If you want to report bugs concerning compilation, instal-
       lation, porting, and documentation of SANE, you  can  also
       contact  the  author  of this manual page: <henning@meier-
       geinitz.de>.


AUTHOR
       David   Mosberger-Tang   and   many   many    more    (see
       /usr/doc/sane-1.0.7/AUTHORS  for  details).  This man page
       was written by Henning Meier-Geinitz. Quite a lot of  text
       was  taken  from the SANE standard, several man pages, and
       README files.



                           24 Jan 2002                    sane(e)