sane.7
sane(7) SANE Scanner Access Now Easy sane(7)
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.
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 inter
face is called a SANE backend. A meta backend provides
some means to manage one or more other backends.
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-pro
ject.org/). Information about other frontends and back
ends 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/doc/sane-1.0.15/sane.tex' are references to text
files that were copied to the SANE documentation directory
(/usr/doc/sane-1.0.15/) during installation. Every
thing else is a URL to a resource on the web.
your system at /usr/doc/sane-1.0.15/.
SANE mailing list
There is a mailing list for the purpose of discussing
the SANE standard 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/mailing-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 problems, 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/doc/sane-1.0.15/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(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 acquisition devices available on the local host.
See saned(8).
sane-find-scanner
Command-line tool to find SCSI and USB scanners and
determine their Unix device files. See sane-find-scan
ner(1).
Also, have a look at the sane-frontends package (including
xscanimage, xcam, and scanadf) and the frontend informa
tion page at http://www.sane-project.org/sane-fron
tends.html.
The SANE backend for Apple flatbed scanners supports the
following scanners: AppleScanner, OneScanner and Col
orOneScanner. 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 interface 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 Mitsubishi and
Minolta film-scanners. See sane-avision(5) for details.
bh
The bh backend provides access to Bell+Howell Copiscan
II series document 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 scanners. 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.source
forge.net for details.
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 scanners which support SCL (Scanner Control Lan
guage 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 gen
eration" 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 and 600 II EP (non-SCSI). Some
Trust scanners are also supported. See sane-mustek(5)
for details.
niash
The niash backend supports the Agfa Snapscan Touch and
the HP ScanJet 3300c, 3400c, and 4300c USB flatbed scan
ners. See sane-niash(5) for details.
pie
The pie backend provides access to Pacific Image Elec
tronics (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
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 paral
lel 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/doc/sane-1.0.15/PRO
JECTS.
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 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(5).
qcam
Backend for Connectix QuickCam cameras. See
net
The SANE network daemon saned provides access to scan
ners located on different computers in connection with
the net backend. See sane-net(5) and saned(8).
pnm
PNM image reader pseudo-backend. The purpose of this
backend is primarily to aid in debugging of SANE fron
tends. 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 systems. See
sane-pint(5).
test
The SANE test backend is for testing frontends and the
SANE installation. It provides test pictures and vari
ous test options. See sane-test(5).
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(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/doc/sane-1.0.15/PRO
JECTS.
CHANGING THE TOP-LEVEL BACKEND
By default, all SANE backends (drivers) are loaded dynami
cally by the sane-dll meta backend. If you have any ques
tions 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/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
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 scanner: 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
/etc/sane.d/*.conf
The backend configuration files.
/usr/lib/sane/libsane-*.a
The static libraries implementing the backends.
/usr/lib/sane/libsane-*.so
The shared libraries implementing the backends
(present on systems that support dynamic loading).
/usr/doc/sane-1.0.15/*
SANE documentation: The standard, READMEs, text
files for backends etc.
PROBLEMS
If your device isn't found but you know that it is sup
ported, make sure that it is detected by your operating
system. For SCSI and USB scanners, use the sane-find-scan
ner tool (see sane-find-scanner(1) for details). It prints
one line for each scanner it has detected and some com
ments (#). 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 scan
ner (or other device) is not connected over the SCSI bus
or USB, read the backend'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 backend's name is mentioned in
/etc/sane.d/dll.conf. Some backends 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
manual page for details.
If your scanner is still not found, try setting the vari
ous environment variables that are available to assist in
debugging. The environment variables are documented in
the relevant manual pages. For example, to get the maxi
mum 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 han
dling. If you can't find out what's going on by checking
the messages carefully, contact 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: scanimage >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 debug
ging 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, con
tact 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 pos
sible 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 con
tain /usr/local/lib/sane. See also the documentation of
the frontends.
backend's manpage. For general discussion about SANE,
please use the SANE mailing list sane-devel (see
http://www.sane-project.org/mailing-lists.html for
details).
SEE ALSO
saned(8), sane-find-scanner(1), scanimage(1), sane-aba
ton(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-niash(5), sane-pie(5), sane-pint(5), sane-plustek(5),
sane-plustek_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-snap
scan(5), sane-sp15c(5), sane-st400(5), sane-tamarack(5),
sane-teco1(5), sane-teco2(5), sane-teco3(5), sane-test(5),
sane-u12(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/doc/sane-1.0.15/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.15 03 Aug 2004 sane(7)
Man(1) output converted with
man2html