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

FreeBSD Manual Pages


home | help
sane(7)			 SANE Scanner Access Now Easy		       sane(7)

       sane - Scanner Access Now Easy: API for accessing scanners

       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

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

       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-

       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
       (	Information about other	frontends  and
       backends	     can     be	    found     on     the     frontend	  page

       The following sections provide short descriptions and links to more in-
       formation  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/lo-
       cal/share/doc/sane-backends/sane.tex' are references to text files that
       were   copied   to   the	  SANE	 documentation	 directory   (/usr/lo-
       cal/share/doc/sane-backends/) 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:

       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:   The	 lists
	 are  also installed on	your system at /usr/local/share/doc/sane-back-

       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:

       SANE IRC	channel
	 The IRC (Internet Relay Chat) channel	#sane  can  be	found  on  the
	 Freenode  network  (	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/share/doc/sane-backends/README and	the  os-depen-
	 dent  README  files  for  information	about compiling	and installing

       SCSI configuration
	 For information  about	 various  systems  and	SCSI  controllers  see

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

	 Command-line frontend.	See scanimage(1).

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

	 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

	 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.

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

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

	 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.

	 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.

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

	 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.

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

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

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

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

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

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

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

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

	 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.

	 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.

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

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

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

	 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.

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

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

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

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

	 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.

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

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

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

	 The niash backend supports the	Agfa Snapscan Touch and	the HP ScanJet
	 3300c,	3400c, and 4300c USB flatbed scanners. See  sane-niash(5)  for

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

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

	 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.

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

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

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

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

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

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

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

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

	 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.

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

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

	 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 and the list of
       projects	in /usr/local/share/doc/sane-backends/PROJECTS.

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

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

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

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

	 Backend for digital cameras supported by the gphoto2 library package.
	 (See  for  more	information and	a list of sup-
	 ported	cameras.)  Gphoto2 supports over 140 different camera  models.
	 However,  please note that more development and testing is needed be-
	 fore all of these cameras will	be supported  by  SANE	backend.   See

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

       Also,	have   a   look	  at   the   backend   information   page   at and the list of
       projects	in /usr/local/share/doc/sane-backends/PROJECTS.

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

	 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(8).

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

	 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).

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

	 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 and the list of
       projects	in /usr/local/share/doc/sane-backends/PROJECTS.

       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  in

       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/share/doc/sane-backends/ (if	latex  is  in-
       stalled	  on	your	system)	   and	  on	the    SANE   website:	      (HTML),		    or (Postscript).

       There   is   some   more	  information	for  programmers  in  /usr/lo-
       cal/share/doc/sane-backends/backend-writing.txt.	 Most of the  internal
       SANE  routines  (sanei)	are documented using doxygen: http://www.sane-  Before  a  new  backend  or	 frontend  project  is
       started,	have a look at /usr/local/share/doc/sane-backends/PROJECTS for
       projects	that are planned or not	yet included into the  SANE  distribu-
       tion	   and	      at	our	   bug-tracking	       system:

       There are some links on how to find out about the protocol of  a	 scan-

       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.

	      The backend configuration	files.

	      The static libraries implementing	the backends.

	      The  shared libraries implementing the backends (present on sys-
	      tems that	support	dynamic	loading).

	      SANE documentation: The standard,	READMEs, text files for	 back-
	      ends etc.

       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 de-
       tails). 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  ad-
       justed correctly. If the	scanner	isn't found at all, the	operating sys-
       tem 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 op-
       erating systems auto-detection may not work. Check the backend's	manual
       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 de-

	      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 in-
       stalled two versions of SANE.  E.g. the version that was	 installed  by
       your distribution in /usr and one you installed from source in /usr/lo-
       cal/.  Make sure	that only one version is installed.  Another  possible
       reason  is,  that  your system's	dynamic	loader can't find the SANE li-
       braries.	For Linux, make	sure that  /etc/  contains  /usr/lo-
       cal/lib	and  does not contain /usr/local/lib/sane.  See	also the docu-
       mentation of the	frontends.

       We appreciate any help we can get. Please have alook at	our  web  page
       about contributing to SANE:

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

       saned(8),  sane-find-scanner(1),	scanimage(1), sane-abaton(5), sane-ag-
       fafocus(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-mat-
       sushita(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-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-u12(5),
       sane-umax1220u(5),    sane-umax(5),    sane-umax_pp(5),	  sane-usb(5),

       David Mosberger-Tang and	many many more (see /usr/local/share/doc/sane-
       backends/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)


Want to link to this manual page? Use this URL:

home | help