complete PDF
Complete EPUB
One page


2_what_is_sane PDF

(pdf) (epub) (1 page)
1 Intro
2 What is Sane?
3 Buying a scanner
4 How do I install
5 It doesn't work
6 Scanner specifics
7 . SCSI problems
8 Paralel port scanners
9 USB Problems
10 Network-scanning
11 I can make a scan! Great, what's next?

2. What is Sane?

2.1. Intro

SANE stand for Scanner Access Now Easy. SANE is an API (Application Programming Interface) designed to provide access to scanners and other image retrieval hardware. See http://www.sane-project.org/intro.html for more details.

SANE also provides a standard for interaction of applications. The definition of the standard can be found at http://www.sane-project.org/html/ or in the SANE package as doc/sane.tex. If you have Tex installed `make ps' will give you a postscript-version.

2.2. What is a SANE frontend ?

A SANE frontend is an application program that uses one or more SANE backends to access a scanner or camera. See http://www.sane-project.org/sane-frontends.html for a list of currently available frontends.

2.3. What is a SANE backend ?

A SANE backend is a driver that handles requests coming from a frontend and translates them to low level requests before sending them to a scanner. The backend is also responsible for retrieving the scanned image from the scanner, and converting it to the correct format so that the frontend can handle it. Some backends support more than one scanner. To have your favorite scanner supported, you need to have a backend for this scanner. See http://www.sane-project.org/sane-backends.html for a list of backends (and supported scanners).

2.4. Is my-favorite-scanner supported by SANE ?

First of all, see http://www.sane-project.org/sane-supported-devices.html for a list of supported scanners. Note that some scanners are supported by a different backend than the one expected. (Manufacturer is not always the same as seller).

If you cannot find your scanner in one of the lists, try the search engine. http://www.sane-project.org/cgi-bin/driver.pl The search engine will also list unsupported scanners, scanners that are supported only with an external backend etc.

If your scanner is not in this list but comes from a manufacturer that build already supported scanners of the same type (SCSI, PARALLEL, USB, ...), try it anyway. If you have some success with this, please report it to sane-devel@lists.alioth.debian.org ! (Read the manpage for the specific backend for help on how to enable extra debug output). Your scanner may be partially supported. (Only black/white, only 300 dpi, only 24 bits, ...).

WARNING : Testing a backend with an unsupported scanner may cause physical damages to the scanner. Read the documentation for more info, and if you want to try, keep one hand on the on/off switch :).

2.5. Why is my-favorite-scanner NOT supported by SANE ?

Probably because the manufacturer is NOT willing to give the programming specifications for this scanner. Some manufacturers are really thinking that their dirty and CPU greedy protocols have to stay secret... may be to avoid other starting laughing at their work! (not my words, just quoting..)

Other reasons may include: Nobody else has this scanner. Nobody wants to write a driver until now.

2.6. My scanner is "TWAIN Compatible". Why isn't SANE "TWAIN compatible" ?

This doesn't mean anything ! A scanner is NOT TWAIN compatible. The Windows driver provided with the scanner is probably TWAIN compatible, so that TWAIN compatible Windows applications can use them. The only way to have a scanner become TWAIN compatible under other OS would be to have a driver for this scanner that speaks TWAIN with the applications. But, there is no TWAIN compatible application outside the Windows and Mac world. SANE developers have chosen to use the SANE API instead of TWAIN for scanner access. See http://www.sane-project.org/intro.html for a word about this. You can read a TWAIN FAQ, if you want, at http://www.twain.org/faq.htm

There was a discussion between the TWAIN Working Group and some SANE-people. For more information, see: http://www.twain.org/docs/twain_20_unix.htm (Note the date) Technical issues ( needed/wanted changes for the TWAIN interface) may be resolved in the V2.0 specs of SANE

There are some more SANE-TWAIN interfaces for Windows and other platforms: http://www.sane-project.org/sane-frontends.html

2.7. Is there support from scanner-vendors?

Vendors react differently to SANE. Some vendors cooperate with SANE developpers by giving the specifications of their scannersi, some with a non-disclosure agreement. Examples are UMAX for their SCSI-scanners, Epson.

HP is working on SANE-drivers for their scanners.

Mustek is quite helpfull concerning their USB scanners.

Brother-users may find http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html usefull.

Note that this list of vendors is not complete. If you know about vendors that are helpfull, drop a mail.

Some other vendors actively ignore anything that is not Windows thus limiting the sales of their scanners.

2.8. The backend for my-favorite-scanner is available, but for a different type.Can I use a USB<->PARALLEL / SCSI<->PARALLEL convertor ?

Nobody has reported any success with this. Even if the hardware look the same, the protocol used to exchange data between your computer and the scanner DOES look different.

2.9. Is there any plan to add SANE support for my-favorite-unsupported-scanner ?

Depending on the available documentation, there might be someone already working on a given scanner. See the status in or http://www.sane-project.org/lists/sane-backends-external.html Watch the sane-devel mailing list.

2.10. Can I connect more than one scanner to a single system? Can I use them both at the same time?

Yes.

On SCSI systems you can connect multple scanners to the same SCSI bus (up to 7 on an normal SCSI bus) and you can use more than one SCSI bus for the scanners.

The USB scanner driver in Linux 2.4.* supports upto 16 devices. In 2.5.* you should be able to use upto 256 scanners with devfs, but nobody has yet tested that. If you use libusb instead of the scanner driver, the number of scanners is only limited by the restrictions of the USB.

SANE is limited to 100 simultaneous USB scanners currently. If this isn't enough, you can increase this value in source code.

Most backends support more than a single scanner; you should verify this. If you want to connect more than one scanner of the same type, ask the mailinglist.

Experiences vary: more than one USB scanner seems to work without problems. More than one scanner on the same SCSI bus slows down the scanning if used simultaneously.

2.11. How can I help ?

In several ways :

You can start bothering the manufacturers for the specs. One more letter is never a loss of time! You can start writing a backend. To avoid duplicate job, ask on the sane-devel mailing list before you start. You can test and report any success / troubles with the backends / frontends, new operating systems. You could keep a log of installations and send it to me ( ljm @ xs4all . nl) Read the documentation (READMEs, man pages, this FAQ etc.) and check for mistakes (including spelling and bad grammar or wording), ask questions if something is unclear and add new documentation.

2.12. How can I access a SANE backend from Windows throught the network ?

The most usable TWAIN source seems to be: http://sanetwain.ozuzo.net/

Also, you can use sanecgi which wraps the text based frontend (scanimage) into a cgi perl script. For a running demo, try http://www.boutell.com/sanecgi/

Oliver Rauch made a Windows-version of Xsane. http://www.xsane.org

2.13. How can I access a scanner connected to a Windows box from a SANE frontend throught the network ?

TWAIN is not designed to allow such intelligent behavior.

However, SANE backends also run on Windows. So in should be possible to start a saned on windows and connect to it via another system running a SANE frontend. (Give me a mail if you've done this; also please take notes if you are trying to do this).

2.14. Mailing-list, IRC

There is a sane developers mailinglist. The sane-people are very nice and will help with almost anything. Keep in mind though, that they're not paid to do this. So be sure to read the documentation. And do not polute the mailinglist with diminuitive statements, even if you have been trying all day (or night).

If you ask a question, be as specific as possible. If your question is related to a specific backend, mention the backend in the subject. If your question might be scanner or backend related, mention the brand and type un the title. If it's an install-problem, put "install" or "compile" in the title. Always mention the versions that you use: versions of the backend, frontend, kernel or OS-level. The output of

scanimage --version should give most of the information. For more information: see http://www.sane-project.org/mailing-lists.html

YOU CANNOT POST TO THE MAILINGLIST IF YOU HAVE NOT SUBSCRIBED TO IT!! (well, you can, but you'll be giving the list administrators a lot of extra work, so it's better to subscribe).

Do not just "reply" to messages in the list. Sane-devel does NOT set the Reply-To: header back to the mailing list. That means, when responding to an email with the "reply" button (or key), you will send to the author of the email only, not to the list. As usually the list should get the responses, so please use "list-reply", "group-reply" or "Reply all" whatever your email client provides.

If you use procmail and process list mail separately, you can easily add a reply-to header yourself. Then all mail clients will behave as you expect without the need to change how the list itself works.

:0 * ^List-Id:.*sane-devel.www.mostang.com | formail -a "Reply-To: sane-devel@www.lists.alioth.debian.org" \ | rcvstore +Lists/SANE Jochen Eisinger has a search-engine over the mailinglist. http://lists.alioth.debian.org/mailman/listinfo/sane-devel Go to the bottom of the page, enter your email address and press "Edit Options". Enter your password and press "unsubscribe". The link is mentioned twice in every single sane-devel mail (header and signature). An explanation on how to unsubscribe is also sent to everyone who subscribes and in the monthly reminders.

There's a #sane irc channel at irc.freenode.org. You might get some information there. Best time is afternoon, evening (CET) and weekends.

2.15. What are all these "Formulardaten" sent to this list from kundenserver.de?

These are the result of the form that is used to report unsupported scanners. The form can be found at http://www.meier-geinitz.de/tinc?key=rDoQ7lrj&formname;=adddev If you are not maintaning backends or otherwise directly involved in the SANE project, don't bother with these. If you want to know anyway, read http://lists.alioth.debian.org/pipermail/sane-devel/2007-February/018647.html

2.16. Is there a quick step-by-step procedure or a How-To?

For Linux users: http://tldp.org/HOWTO/Scanner-HOWTO/index.html

If you want to set-up a SCSI-scanner with GIMP from scratch, follow http://www.xs4all.nl/~ljm/SANE/howto.html (A bit dated, but the basic steps are there.)

If you have an Epson perfection 1670 scanner have a look at http://www.commercialventvac.com/~jeffs/epson1670andFedora.html

2.17. This all sounds scary! Do I have any other options?

It's not as bad as it looks; just follow the steps in installation

If you're running Linux, your distribution might have a binary package available. If you stick to scanners that are supported this might save most of the effort. I found that nowadays most distributions work out-of-the-box if your scanner is supported.

There is also a commercial-grade scanner program available called VueScan. It's made by Hamrick Software. Available for Linux and Windows. Some prefer it for scanning slides and negatives, especially large amounts. http://www.hamrick.com

Finally, you could stick to your Windows and the software that is supplied with your scanner. The Gimp is also available for Windows.