Scanner Access Now Easy, kurz SANE, ist ein freies Application Programming Interface (API) für den Zugriff auf bildgebende Geräte wie Scanner, Digitale Kameras, Videokameras und andere über verschiedene Schnittstellen (USB, SCSI etc.) Es ist die Alternative zu TWAIN als Programmierschnittstelle.
Im Gegensatz zu TWAIN sind bei SANE die Funktionalitäten von Frontend und Backend strikt getrennt.
Aufgabe der Backends ist die Kommunikation mit dem jeweiligen Bilderfassungsgerät über eine der zahlreichen unterstützten Schnittstellen (USB, Firewire, SCSI, Parallele Schnittstelle oder Serielle Schnittstelle).
Die Frontends stellen den zum Benutzer gerichteten Teil des Arbeitsablaufes dar und sind normalerweise in ein Anwendungsprogramm integriert.
Durch die standardisierte Schnittstelle können alle Frontends mit allen Backends ohne Probleme verwendet werden, die verfügbaren Optionen werden lediglich durch die tatsächlichen Fähigkeiten der Bildquelle (Auflösung, Farbtiefe, mit oder ohne Einzelblatteinzug, Diawechsler usw.) beschränkt.
Das SANE-Paket enthält bereits ein fertiges Frontend, das Programm 'scanimage', mit dem sich in einem Skript automatisch Bilder einlesen lassen ohne dafür eine grafische Benutzeroberfläche zu benötigen. [Quelle: Wikipedia]
Es werden die Ausgabeformate:
an der Konsole unterstützt.
Für das Ausgabeformat jpg und png ist das 'netpbm' Paket erforderlich.
Zusätzliche Pakete die extra installiert werden müssen.
Um die Scannertasten(button) benutzen zu können. Es kann aber immer nur eines davon aktiv geschaltet werden.
Sehr Hilfreich auch für die Konfiguration der USB-Devices durch udev.
Eine Erweiterung für Epson Modelle.
SANE kann auch als Benutzer, ohne Administratorrechte, auf der Konsole ausgeführt werden.
Das Menü im Setup-Programm ist für den Administrator wie folgt aufgebaut:
4. | Service administration |
x. | SANE Scanner Access |
1. | Sane server configuration |
1. | View documentation | |||
2. | Edit configuration | |||
3. | Show status | |||
4. | Stop service | |||
5. | Start service | |||
6. | Scanner database | |||
7. | Find scanners | |||
8. | Test scanner | |||
9. | List all activated backends | |||
10. | Scan image | |||
11. | Sane backend configuration | |||
12. | Sane scanbuttond configuration |
2. | List all activated backends | |||
3. | Scan image |
Das Menü im Setup-Programm ist für den Benutzer, mit Benutzerrechten, wie folgt aufgebaut:
4. | Service administration |
x. | SANE Scanner Access |
1. | List all activated backends | |||
2. | Scan image |
Das Menü ist für den Benutzer 'saned' mit Benutzerrechten, wie folgt aufgebaut:
1. | List all activated backends | ||
2. | Scan image |
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden.
Nachdem der Editor beendet wurde, wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, so werden über ein Skript die Anpassungen umgehend wirksam gemacht.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will, findet sie
unter
/etc/config.d/sane
Gültige Werte: yes, no
Standardeinstellung: START_SANE='no'
Gültige Werte: Zahl
Standardeinstellung: SANE_NETACCESS_N='1'
Standardeinstellung: SANE_NETACCESS_x_NET='192.168.0.0/24'
Gültige Werte: Zahl
Standardeinstellung: SANE_BACKEND_N='2'
Gültige Werte: Ein Treiber aus der Auswahlliste
abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_lide70 canon_pp cardscan coolscan coolscan2 coolscan3 dc25 dc210 dc240 dell1600n_net dmc epjitsu epson epson2 epsonds fujitsu genesys gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx kvs40xx leo lexmark ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb mustek_usb2 nec net niash pie pieusb pixma plustek plustek_pp qcam ricoh ricoh2 rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax_pp umax1220u v4l xerox_mfp p5
Welches Backend für den Scanner das richtige ist, erfahrt ihr hier: SANE Backends
Eine Kurzfassung ist unter dem Menupunkt 'Scanner database' abgelegt.
Standardeinstellung: SANE_BACKEND_x_NAME='abaton'
Als default wird der Benutzer 'saned' eingerichtet. Um mit dem Benutzer 'saned' arbeiten zu können muss dafür ein Passwort angelegt werden.
Als root: passwd saned
dann laesst sich der Benutzer 'saned' über ssh starten
ssh saned@eis
Der Benutzer 'saned' hat als default '/public/scans' als Ablageort
Andere Benutzer auf dem eisfair-Server können ebenfalls, in ihrem Home Verzeichnis, scannen. Der default Ablageort ist dann /home/$user/scans
Damit das alles klappt werden die Benutzer, bei der Konfiguration, der Gruppe 'lp' hinzugefügt.
Gültige Werte: Zahl
Standardeinstellung: SANE_SCAN_USER_N='0'
Gültige Werte: Benutzername
Standardeinstellung: SANE_SCAN_USER_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SANE_SCAN_USER_x_ACTIVE='no'
'scanbd' ist ein Optionales Paket und muss extra installiert werden.
'scandb' benutzt die backends von SANE. Alle Scanner die von SANE unterstüzt werden, werden auch durch 'scanbd' unterstüzt.
Gültige Werte: yes, no
Standardeinstellung: SANE_START_SCANBD='no'
Default: /public/scans
Gültige Werte: Absoluter Pfad
Standardeinstellung: SANE_SCANBD_SCAN_FOLDER='/public/scans'
Die Konfiguration und die Skripte liegen in '/etc/scanbd' und müssen an die Gegebenheiten angepasst werden. Dieser Vorgang lässt sich nicht über die gewohnte Konfigurationsdatei abbilden.
Alle Skripte sind auch als Vorlage unter '/usr/share/scanbd' abgelegt und können von da wieder kopiert werden.
Es ist schwierig den Vorgang im einzelnen zu beschreiben, da es auch je nach Scanner Modell Unterschiede mit den Tasten gibt. Bitte dazu die Informationen im Web nachlesen.
Ob die Tasten am Scanner erkannt werden sollten, kann im Terminal mit dem Aufruf von 'scanimage -A' überprüft werden. Die erkannten Tasten ('Sensors') werden am Ende der Ausgabe aufgeführt.
Um nähere Informationen darüber zu erlangen, welche Tasten 'scanbd' erkennt, kann zunächst im Terminal ein Aufruf mit dem Befehl
export SANE_CONFIG_DIR=/etc/scanbd/sane.d/
scanbd -f -d7
erfolgen. Dazu muss der SANE-Daemon ausgeschaltet sein (am einfachsten geht das über das Menu - Stop service und es darf keine weitere scanbd Instanz laufen wenn der Dienst vorher gestartet wurde), sonst erkennt scanbd keine Scanner. Mit dem Befehl läuft scanbd im Vordergrund im höchsten 'debugging' -Level, im Terminal erscheinen zunächst die Angaben zum Gerät sowie Ergebnisse die Standard-Filter-Abfragen, die in der scandb.conf vorgesehen sind.
Die vorstehenden Angaben sind dem Ubuntu Wicki entnommen, wo auch weiteres erklärt wird.
Die Filter in der scanbd.conf müssen den Tasten entsprechend zugeordnet werden.
'scanbuttond' ist ein Optionales Paket und muss extra installiert werden
'scanbuttond' benutzt seine eigenen backends. Die unterstützten Scanner sind im Anschluss gelistet.
Gültige Werte: yes, no
Standardeinstellung: SANE_START_SCANBUTTOND='no'
Gültige Werte: Zahl
Standardeinstellung: SANE_SCANBUTTOND_BUTTON_N='3'
Standardeinstellung: SANE_SCANBUTTOND_BUTTON_x_EXEC='/etc/scanbuttond/button1.sh'
Supported scanners by Scanbuttond
Supported by the epson backend (via libusb):
* Epson Expression 1600 (expected to work)
* Epson Expression 1680 (expected to work)
* Epson Perfection 610 (expected to work)
* Epson Perfection 636U (expected to work)
* Epson Perfection 640 (expected to work)
* Epson Perfection 1200U (expected to work)
* Epson Perfection 1240 (working, tested)
* Epson Perfection 1640 (expected to work)
* Epson Perfection 1650 (working, tested)
* Epson Perfection 1660 (working, tested)
* Epson Perfection 2400 (working, tested)
* Epson Perfection 2450 (expected to work)
* Epson Perfection 3200 (expected to work)
* Epson Stylus CX3200 (working, tested)
* Epson Stylus Scan 2500 (working, tested)
Supported by the fujitsu backend (via libusb):
* Fujitsu ScanSnap S1500
* Fujitsu fi-5110EOX
* Fujitsu fi-5220C
* Fujitsu fi-6130
* Fujitsu fi-6130Z
Supported by the genesys backend (via libusb):
* Canon CanoScan LiDE 60
* Canon CanoScan LiDE 35
* Xerox Travel Scanner 100
Supported by the gt68xx backend (via libusb):
* Genius Colorpage Vivid4 (working, experimental)
Supported by the hp3500 backend (via libusb):
* HP ScanJet 3500C (expected to work)
* HP ScanJet 3530C (expected to work)
* HP ScanJet 3570C (expected to work)
Supported by the hp3900 backend (via libusb):
* HP ScanJet 3800 (working, tested)
* HP ScanJet 3970 (working, tested)
* HP ScanJet 4070 (working, tested)
* HP ScanJet 4370 (working, tested)
* HP ScanJet G2710 (working, tested)
* HP ScanJet G3010 (working, tested)
* HP ScanJet G3110 (working, tested)
* Umax Astra 4900/4950 (expected to work)
* BenQ 5550T
Supported by the hp5590 backend (via libusb):
* HP ScanJet 4500
* HP Scanjet 4570 (expected to work)
* HP Scanjet 5550 (expected to work)
* HP Scanjet 5550c
* HP Scanjet 5590 (expected to work)
* HP Scanjet 7650 (expected to work)
Supported by the mustek backend (via libusb):
* Mustek BearPaw 2448TA (experimental)
Supported by the niash backend (via libusb):
* Agfa Snapscan Touch (expected to work)
* HP Scanjet 3300c (expected to work)
* HP Scanjet 3400c (expected to work)
* HP Scanjet 4300c (expected to work)
Supported by the plustek backend (via libusb):
* Canon CanoScan N1220U (expected to work)
* Canon CanoScan D660U (expected to work)
* Canon CanoScan N650U (expected to work)
* Canon CanoScan LiDE 20 (experimental)
* Canon CanoScan LiDE 25 (experimental)
* Canon CanoScan LiDE 30 (experimental)
* Epson Perfection 1250
* Epson Perfection 1260 (working, tested)
* Hewlett-Packard ScanJet 2200c (experimental)
* Genius (KYE) ColorPage-HR6 V2 (experimental)
Supported by the plustek_umax backend (via libusb):
* UMAX Astra 3400/3450 (experimental)
Supported by the snapscan backend (via libusb):
* Epson Perfection 2480 (expected to work)
* Epson Perfection 2580 (expected to work)
* Epson Perfection 1670 (working, tested)
* Epson Perfection 3490 (working, tested)
* Epson Perfection 3590 (working, tested)
* Epson Perfection 1270 (working, tested)
* Fujitsu ScanSnap S1500
Supported by the gt68xx backend (via libusb):
* Genius Colorpage Vivid4 (working, experimental)
* Mustek Bearpaw 1200CS (working, experimental) (needs ßcanimage -nto load firmware)
Supported by the gt68xx_plustek backend (via libusb):
* Plustek OpticSlim 2400 (expected to work)
* Plustek OpticSlim 2400+ (working, tested)
Note: the mustek, niash, plustek, plustek_umax, gt68xx and snapscan backends were implemented using information gathered by ßniffingthe communication between the Windows driver and the scanner, because there is no technical documentation available for these devices! This means that there may be some weird issues (e.g. button press events reported twice).
=======================================================================
Weitere Infos und Fehlerbehebung
Wenn der Scanner zwar gefunden wird aber nicht funktioniert, einfach auf der Konsole folgende Befehle ausführen:
saneeis # sane-find-scanner
saneeis # export SANE_DEBUG_DLL=12
saneeis # export SANE_DEBUG_[backend]=12
saneeis # scanimage -L
Dies aktiviert die Debugausgaben von sane und kann helfen den Fehler
einzugrenzen.
Bitte anstatt [backend] den Namen des verwendeten Backends angeben.
Probleme mit dem Scan image Menüpunkt
Es kann sein das das Scannen fehlschlaegt, da scanimage immer meldet das der Scanner beschäftigt sei oder ähnliches.
In diesem Fall kann es helfen, wenn man das Modul 'ehci_hcd' entlädt
bzw. neulädt.
D.h. auf der Konsole:
saneeis # modprobe -r ehci_hcd
bzw.
saneeis # modprobe -r ehci_hcd
saneeis # modprobe ehci_hcd
Das Scanfrontend lässt sich auf der Konsole dann auch einfachheitshalber aufrufen mit dem Befehl:
/var/install/bin/sane_ScanImage
Weiterführende Informationen und Tipps zur Fehlerbehebung
http://www.sane-project.org/sane-frontends.html
http://www.sane-project.org/docs.html
http://tldp.org/HOWTO/Scanner-HOWTO/index.html
infos zu scandb
https://wiki.ubuntuusers.de/scanbd/
https://wiki.archlinux.org/index.php/Scanner_Button_Daemon
https://bbs.archlinux.de/viewtopic.php?id=20954