#

# sane.7

    sane(7)                  SANE Scanner Access Now Easy                  sane(7)

## NAME

           sane - Scanner Access Now Easy: API for accessing scanners

## DESCRIPTION

           SANE  is an application programming interface (API) that provides stan-
           dardized 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 possible to implement the API on
           virtually any hardware or operating system.

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

           If  you  have  trouble getting your scanner detected, read the PROBLEMS
           section.

## TERMINOLOGY

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

## 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.sane-project.org/).  Information about other frontends  and
           backends      can     be     found     on     the     frontend     page
           (http://www.sane-project.org/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(5)') points to a manual page. In this case
           `man    5    sane-dll'    will   display   the   page.   Entries   like
           `/usr/local/doc/sane-1.0.12-cvs/sane.tex' are references to text  files
           that    were    copied    to    the    SANE   documentation   directory
           (/usr/local/doc/sane-1.0.12-cvs/) during installation. Everything  else
           is a 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.sane-project.org/.

           SANE device lists
             The  SANE  device  lists contain information about the status of SANE
             support for a specific device. If your scanner is  not  listed  there
             (either supported or unsupported), please contact us. See section HOW
             CAN YOU HELP SANE for details. There are lists for specific  releases
             of  SANE,  for  the  current development version and a search engine:
             http://www.sane-project.org/sane-supported-devices.html.   The  lists
             are also installed on your system at /usr/local/doc/sane-1.0.12-cvs/.

           SANE mailing list
             There is a mailing list for the purpose of discussing the SANE  stan-
             dard and its implementations: sane-devel.  Despite its name, the list
             is not only intended for developers, but also for users.  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.sane-project.org/mail-
             ing-lists.html.

           SANE IRC channel
             The IRC (Internet Relay Chat) channel  #sane  can  be  found  on  the
             Freenode  network  (irc.freenode.net). It's for discussing SANE prob-
             lems, talking about development and general  SANE  related  chatting.
             Before asking for help, please read the other documentation mentioned
             in this manual page.

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

           SCSI configuration
             For  information  about  various  systems  and  SCSI  controllers see
             sane-scsi(5).

           USB configuration
             For information about USB configuration see sane-usb(5).

## FRONTENDS AND MISCELLANEOUS PROGRAMS

           scanimage
             Command-line frontend. See scanimage(1).

           saned
             SANE network daemon that allows remote clients to access image acqui-
             sition devices available on the local host. See saned(1).

           sane-find-scanner
             Command-line  tool  to find SCSI and USB scanners and determine their
             Unix device files. See sane-find-scanner(1).

           Also, have a look at the sane-frontends package (including  xscanimage,
           xcam,   and   scanadf)   and   the   frontend   information   page   at
           http://www.sane-project.org/sane-frontends.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(5) for details.

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

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

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

           artec_eplus48u
             The SANE artec_eplus48u backend supports the scanner Artec E+ 48U and
             re-badged models like Tevion MD 9693, Medion MD 9693, Medion MD  9705
             and Trust Easy Webscan 19200. See sane-artec_eplus48u(5) for details.

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

           avision
             This  backend  supports several Avision based scanners. This includes
             the original Avision scanners (like AV 630, AV 620, ...) as  well  as
             the  HP  ScanJet 53xx and 74xx series, Fujitsu ScanPartner, some Mit-
             subishi and Minolta film-scanners.  See sane-avision(5) for  details.

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

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

           canon630u
             The canon630u backend supports the CanoScan 630u and 636u  USB  scan-
             ners.  See sane-canon630u(5) for details.

           canon_pp
             The  canon_pp backend supports the CanoScan FB330P, FB630P, N340P and
             N640P parallel port scanners.  See sane-canon_pp(5) for details.

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

           coolscan2
             This  is  a  SANE  backend  for  Nikon  Coolscan  film-scanners.  See
             sane-coolscan2(5) or http://coolscan2.sourceforge.net for details.

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

           fujitsu
             The fujitsu backend provides support for Fujitsu 3091, 3093, 3096 and
             fi-4340 SCSI scanners. See sane-fujitsu(5) for details.

           gt68xx
             The gt68xx  backend  provides  support  for  scanners  based  on  the
             Grandtech  GT-6801  and  GT-6816 chips like the Artec Ultima 2000 and
             several Mustek BearPaw  CU  and  TA  models.  Some  Genius,  Lexmark,
             Medion, Packard Bell, Plustek, and Trust scanners are also supported.
             See sane-gt68xx(5) for details.

           hp
             The SANE hp backend provides access to Hewlett-Packard ScanJet  scan-
             ners  which  support  SCL  (Scanner  Control  Language  by  HP).  See
             sane-hp(5) for details.

           hpsj5s
             The SANE backend for the  Hewlett-Packard  ScanJet  5S  scanner.  See
             sane-hpsj5s(5) for details.

           hp5400
             The  SANE  backend  for the Hewlett-Packard ScanJet 54XXC series. See
             sane-hp5400(5) for details.

           ibm
             The  SANE  backend  for  some  IBM  and  Ricoh  SCSI  scanners.   See
             sane-ibm(5) for details.

           leo
             This  backend  supports the Leo S3 and the Across FS-1130, which is a
             re-badged LEO FS-1130 scanner. See sane-leo(5) for details.

           ma1509
             The ma1509 backend supports the  Mustek  BearPaw  1200F  USB  flatbed
             scanner. See sane-ma1509(5) for details.

           matsushita
             This  backend  supports  some Panasonic KVSS high speed scanners. See
             sane-matsushita(5) for details.

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

           microtek2
             The microtek2 backend provides access to some Microtek scanners  with
             a SCSI-2 command set. See sane-microtek2(5) 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(5) for
             details.

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

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

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

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

           plustek
             The SANE plustek backend supports USB flatbed scanners that  use  the
             National  Semiconductor  LM983[1/2/3]-chipset  aka  Merlin.  Scanners
             using this LM983x chips include some models from Plustek, KYE/Genius,
             Hewlett-Packard,  Mustek, Umax, Epson, and Canon. See sane-plustek(5)
             for details.

           plustek_pp
             The SANE plustek_pp backend supports Plustek  parallel  port  flatbed
             scanners.  Scanners using the Plustek ASIC P96001, P96003, P98001 and
             P98003 include some models  from  Plustek,  KYE/Genius,  Primax.  See
             sane-plustek_pp(5) for details.

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

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

           sceptre
             The  sceptre  backend  provides  access  to the Sceptre S1200 flatbed
             scanner. See sane-sceptre(5)
              for details.

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

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

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

           sp15c
             This  backend supports the Fujitsu FCPA ScanPartner 15C flatbed scan-
             ner. See sane-sp15c(5) for details.

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

           tamarack
             The  SANE  tamarack  backend supports Tamarack Artiscan flatbed scan-
             ners. See sane-tamarack(5) for details.

           teco1 teco2 teco3
             The SANE teco1, teco2 and teco3 backends support some TECO  scanners,
             usually sold under the Relisys, Trust, Primax, Piotech, Dextra names.
             See sane-teco1(5), sane-teco2(5) and sane-teco3(5) for details.

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

           umax_pp
             The  sane-umax_pp  backend  provides  access  to  Umax  parallel port
             flatbed scanners and the HP 3200C. See sane-umax_pp(5) 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(5) for details.

           Also,   have   a   look   at   the   backend   information   page    at
           http://www.sane-project.org/sane-supported-devices.html and the list of
           projects in /usr/local/doc/sane-1.0.12-cvs/PROJECTS.

## BACKENDS FOR DIGITAL CAMERAS

           dc210
             Backend for Kodak DC210 Digital Camera. See sane-dc210(5).

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

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

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

           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 mod-
             els.  However, please note  that  more  development  and  testing  is
             needed before all of these cameras will be supported by SANE backend.
             See sane-gphoto2(5).

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

           Also,   have   a   look   at   the   backend   information   page    at
           http://www.sane-project.org/sane-supported-devices.html and the list of
           projects in /usr/local/doc/sane-1.0.12-cvs/PROJECTS.

## MISCELLANEOUS BACKENDS

           dll
             The sane-dll library implements a SANE backend that  provides  access
             to an arbitrary number of other SANE backends by dynamic loading. See
             sane-dll(5).

           net
             The SANE network daemon saned provides access to scanners located  on
             different   computers   in  connection  with  the  net  backend.  See
             sane-net(5) and saned(1).

           pnm
             PNM image reader pseudo-backend. The purpose of this backend is  pri-
             marily to aid in debugging of SANE frontends. See sane-pnm(5).

           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 sys-
             tems. See sane-pint(5).

           test
             The SANE test backend is for testing frontends and the SANE installa-
             tion.   It  provides  test  pictures  and  various  test options. See
             sane-test(5).

           v4l
             The sane-v4l library implements a SANE backend that provides  generic
             access  to  video  cameras and similar equipment using the V4L (Video
             for Linux) API. See sane-v4l(5).

           Also,   have   a   look   at   the   backend   information   page    at
           http://www.sane-project.org/sane-supported-devices.html and the list of
           projects in /usr/local/doc/sane-1.0.12-cvs/PROJECTS.

## CHANGING THE TOP-LEVEL BACKEND

           By default, all SANE backends (drivers) are loaded dynamically  by  the
           sane-dll  meta  backend.  If  you  have any questions about the dynamic
           loading, read sane-dll(5).  SANE frontend can also be linked  to  other
           backends  directly  by  copying  or  linking a backend to libsane.so in
           /usr/local/lib/sane.

## DEVELOPER'S DOCUMENTATION

           It's not hard to write a SANE backend. It can take some time,  however.
           You  should  have  basic  knowledge  of  C  and enough patience to work
           through the documentation and find out how your scanner works. Appended
           is  a list of some documents that help to write backends and frontends.

           The SANE standard defines the application programming  interface  (API)
           that  is  used to communicate between frontends and backends. It can be
           found at /usr/local/doc/sane-1.0.12-cvs/sane.ps (if latex is  installed
           on      your      system)      and     on     the     SANE     website:
           http://www.sane-project.org/html/              (HTML),               or
           http://www.sane-project.org/sane.ps (Postscript).

           There     is    some    more    information    for    programmers    in
           /usr/local/doc/sane-1.0.12-cvs/backend-writing.txt.  Most of the inter-
           nal    SANE    routines   (sanei)   are   documented   using   doxygen:
           http://sanei.meier-geinitz.de/.   Before  a  new  backend  or  frontend
           project        is       started,       have       a       look       at
           /usr/local/doc/sane-1.0.12-cvs/PROJECTS for projects that  are  planned
           or  not yet included into the SANE distribution and at our bug-tracking
           system: http://www.http://www.sane-project.org/bugs.html.

           There are some links on how to find out about the protocol of  a  scan-
           ner: http://www.meier-geinitz.de/sane/misc/develop.html.

           If  you  start writing a backend or frontend or any other part of SANE,
           please contact the sane-devel mailing list for coordination so the same
           work isn't done twice.

## FILES

           /usr/local/etc/sane.d/*.conf
                  The backend configuration files.

           /usr/local/lib/sane/libsane-*.a
                  The static libraries implementing the backends.

           /usr/local/lib/sane/libsane-*.so
                  The  shared libraries implementing the backends (present on sys-
                  tems that support dynamic loading).

           /usr/local/doc/sane-1.0.12-cvs/*
                  SANE documentation: The standard, READMEs, text files for  back-
                  ends etc.

## PROBLEMS

           If your device isn't found but you know that it is supported, make sure
           that it is detected by your operating system. For SCSI  and  USB  scan-
           ners,  use  the  sane-find-scanner  tool  (see sane-find-scanner(1) for
           details). It prints one line for each scanner it has detected and  some
           comments  (#). If sane-find-scanner finds your scanner only as root but
           not as normal user, the  permissions  for  the  device  files  are  not
           adjusted  correctly.  If  the scanner isn't found at all, the operating
           system hasn't detected it and may need some help. Depending on the type
           of your scanner, read sane-usb(5) or sane-scsi(5).  If your scanner (or
           other device) is not connected over the SCSI bus or USB, read the back-
           end's manual page for details on how to set it up.

           Now  your  scanner is detected by the operating system but not by SANE?
           Try scanimage -L.  If the scanner is not found, check  that  the  back-
           end's  name is mentioned in /usr/local/etc/sane.d/dll.conf.  Some back-
           ends are commented out by default. Remove the  comment  sign  for  your
           backend  in this case. Also some backends aren't compiled at all if one
           of their prerequisites are  missing.  Examples  include  dc210,  dc240,
           canon_pp, hpsj5s, gphoto2, pint, qcam, v4l, net, sm3600, snapscan, pnm.
           If you need one of these backends and they aren't available,  read  the
           build  instructions  in the README file and the individual manual pages
           of the backends.

           Another reason for not being detected by scanimage -L may be a  missing
           or  wrong configuration in the backend's configuration file. While SANE
           tries to automatically find most scanners, some  can't  be  setup  cor-
           rectly  without  the  intervention  of  the administrator. Also on some
           operating systems auto-detection may not work. Check the backend's man-
           ual page for details.

           If your scanner is still not found, try setting the various environment
           variables that are available to assist in debugging.   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  -L  .   The
           debug messages for the dll backend tell if the mustek backend was found
           and loaded at all. The mustek messages explain what the mustek  backend
           is  doing while the SCSI debugging shows the low level handling. If you
           can't find out what's going on by checking the messages carefully, con-
           tact the sane-devel mailing list for help (see REPORTING BUGS below).

           Now that your scanner is found by scanimage -L, try to do a scan: scan-
           image >image.pnm.  This command starts a scan for the  default  scanner
           with  default settings. All the available options are listed by running
           scanimage --help.  If scanning aborts with an error  message,  turn  on
           debugging  as  mentioned above. Maybe the configuration file needs some
           tuning, e.g. to setup the path to a firmware that  is  needed  by  some
           scanners.  See the backend's manual page for details. If you can't find
           out what's wrong, contact sane-devel.

           To check that the SANE libraries are installed correctly  you  can  use
           the  test  backend,  even  if  you  don't  have a scanner or other SANE
           device:

                  scanimage -d test -T

           You should get a list of PASSed tests. You can do the  same  with  your
           backend by changing "test" to your backend's name.

           So  now  scanning  with  scanimage works and you want to use one of the
           graphical frontends like xsane, xscanimage, or  quiteinsane  but  those
           frontends  don't  detect  your  scanner?  One  reason  may  be that you
           installed two versions of SANE.  E.g. the version that was installed by
           your  distribution  in  /usr  and  one  you  installed  from  source in
           /usr/local/.  Make sure that only one  version  is  installed.  Another
           possible  reason  is,  that your system's dynamic loader can't find the
           SANE libraries. For Linux,  make  sure  that  /etc/ld.so.conf  contains
           /usr/local/lib  and does not contain /usr/local/lib/sane.  See also the
           documentation of the frontends.

## HOW CAN YOU HELP SANE

           We appreciate any help we can get. Please have alook at  our  web  page
           about contributing to SANE: http://www.sane-project.org/contrib.html

## CONTACT

           For  reporting  bugs  or  requesting  new features, please use our bug-
           tracking system: http://www.sane-project.org/bugs.html.  You  can  also
           contact  the author of your backend directly. Usually the email address
           can be found in the /usr/local/doc/sane-1.0.12-cvs/AUTHORS file or  the
           backend's  manpage.  For  general discussion about SANE, please use the
           SANE mailing  list  sane-devel  (see  http://www.sane-project.org/mail-
           ing-lists.html for details).

## SEE ALSO

           saned(1),     sane-find-scanner(1),    scanimage(1),    sane-abaton(5),
           sane-agfafocus(5),            sane-apple(5),             sane-artec(5),
           sane-artec_eplus48u(5),   sane-as6e(5),   sane-avision(5),  sane-bh(5),
           sane-canon(5), sane-canon630u(5), sane-canon_pp(5),  sane-coolscan2(5),
           sane-coolscan(5),     sane-dc210(5),    sane-dc240(5),    sane-dc25(5),
           sane-dll(5),     sane-dmc(5),      sane-epson(5),      sane-fujitsu(5),
           sane-gphoto2(5),     sane-gt68xx(5),     sane-hp(5),    sane-hpsj5s(5),
           sane-hp5400(5)      sane-ibm(5),      sane-leo(5),      sane-ma1509(5),
           sane-matsushita(5),         sane-microtek2(5),        sane-microtek(5),
           sane-mustek(5),  sane-mustek_pp(5),  sane-mustek_usb(5),   sane-nec(5),
           sane-net(5),  sane-pie(5),  sane-pint(5),  sane-plustek(5),  sane-plus-
           tek_pp(5),  sane-pnm(5),  sane-qcam(5),  sane-ricoh(5),  sane-s9036(5),
           sane-sceptre(5),     sane-scsi(5),    sane-sharp(5),    sane-sm3600(5),
           sane-snapscan(5),   sane-sp15c(5),   sane-st400(5),   sane-tamarack(5),
           sane-teco1(5),      sane-teco2(5),     sane-teco3(5),     sane-test(5),
           sane-umax1220u(5),    sane-umax(5),    sane-umax_pp(5),    sane-usb(5),
           sane-v4l(5)

## AUTHOR

           David      Mosberger-Tang      and      many     many     more     (see
           /usr/local/doc/sane-1.0.12-cvs/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.

    sane-backends 1.0.12-cvs         24 Sept 2003                          sane(7)