Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
sane-sharp - SANE-Backend für Scanner von SHARP
BESCHREIBUNG
Die Bibliothek sane-sharp implementiert ein SANE-(Scanner Access Now Easy) Backend zum Zugriff auf
Sharp-SCSI-Scanner. Dieses Backend sollte als Software im Beta-Stadium betrachtet werden! Im aktuellen
Zustand arbeitet sie mit JX-610- und JX-250-Scannern zusammen. Sie ist für die Verwendung mit den
Scannern der JX-330-Serie vorbereitet, was wir aber nicht testen konnten.
Mit anderen SHARP-Scannern kann es funktionieren oder auch nicht.
Gegenwärtig sollten die folgenden Scanner mit diesem Backend funktionieren:
Anbieter Produktkennung:
----- -----------
Sharp JX-610
Sharp JX-250
Sharp JX-320
Sharp JX-330
Sharp JX-350
Die folgenden Scanner wurden vom Backend erkannt, aber nicht getestet:
Anbieter Produktkennung:
----- -----------
Sharp JX-325
GERÄTENAMEN
Dieses Backend erwartet Gerätenamen der folgenden Form:
Spezialdatei
Die angegebene Spezialdatei ist der Pfadname eines Spezialgeräts, das einem SCSI-Scanner entspricht. Der
Name des Spezialgeräts muss ein generisches SCSI-Gerät oder ein symbolischer Link zu so einem Gerät sein.
Unter Linux könnte ein solcher Gerätename beispielsweise /dev/sga oder /dev/sge sein. Siehe sane-scsi(5)
für Details.
SCAN-OPTIONEN
--mode Scan-Modus. Mögliche Einstellungen sind: Lineart (1 bit schwarz-und-weiß-Scans), Gray (8 bit
Graustufenscans), Lineart Color (zweistufige Farbscans) und Color (8 bit RGB-Scans). Der
Vorgabewert ist Color.
--halftone-pattern
Rastermuster. Nur für die Scanner der JX-330-Serie verfügbar. Mögliche Einstellungen sind: none,
Dither Bayer, Dither Spiral, Dither Dispersed und Error Diffusion. Der Vorgabewert ist none.
--source
Papierformat. Diese Option ist nur verfügbar, falls ein automatischer Dokumenteneinzug oder ein
Transparenz-Adapter installiert ist. Mögliche Einstellungen sind: Flatbed, Automatic Document
Feeder und Transparency Adapter. Falls ein ADF oder ein Transparenz-Adapter installiert ist, ist
deren Verwendung die Vorgabe.
--custom-gamma
Angepasstes Gamma. Diese Option bestimmt, ob eine eingebaute oder eine angepasste Gammatabelle
verwendet wird. Mögliche Einstellungen sind: yes (aktiviert angepasste Gamma-Tabellen) oder no
(aktiviert eine eingebaute Gamma-Tabelle).
--gamma
Gamma. Diese Option ist nur verfügbar, falls Custom Gamma auf no gesetzt ist. Mögliche Werte sind:
1.0 oder 2.2. Der Vorgabewert ist 2.2. (Die JX-250 und JX-350 haben keine eingebaute
Gammakorrektur; für diese Scanner wird eine Gamma-Tabelle vom Backend zum Scanner
heruntergeladen.)
--gamma-table
Gamma-Tabelle. Erlaubte Werte: 0…255. 256 Zahlen müssen definiert werden. Die Vorgabewerte sind 0,
1, 2, … 255 (d.h. Gamma == 1). Diese Tabelle wird nur für Graustufen-Scans verwendet.
--red-gamma-table
Rote Gamma-Tabelle. Erlaubte Werte: 0…255. 256 Zahlen müssen definiert werden. Die Vorgabewerte
sind 0, 1, 2, … 255 (d.h. Gamma == 1).
--green-gamma-table
Grüne Gamma-Tabelle. Erlaubte Werte: 0…255. 256 Zahlen müssen definiert werden. Die Vorgabewerte
sind 0, 1, 2, … 255 (d.h. Gamma == 1).
--blue-gamma-table
Blaue Gamma-Tabelle. Erlaubte Werte: 0…255. 256 Zahlen müssen definiert werden. Die Vorgabewerte
sind 0, 1, 2, … 255 (d.h. Gamma == 1).
--resolution
wählt die Auflösung des gescannten Bildes. Erlaubte Werte: 30…600 (JX-330, JX-350 und JX-610) und
30…400 (JX-250). Der Vorgabewert ist 150.
-l, -t, -x, -y
Scan-Fenster. Obere linke x-Position des Scanbereichs (-l), obere linke y-Position des
Scanbereichs (-t), untere rechte Position des Scanbereichs (-x) und untere rechte Position des
Scanbereichs. Die möglichen Einstellungen hängen vom Scannermodell und, für den JX-250 und den
JX-350, auch vom Einsatz des automatischen Dokumenteneinzugs bzw. des Transparenz-Adapters ab.
Bitte schauen Sie sich die erlaubten Werte in xscanimage(1) oder xsane(1) an. Bei scanimage(1)
geben Sie einen der folgenden Befehle ein, um die erlaubten Parameterwerte für das Scan-Fenster zu
sehen:
scanimage -d sharp --source "Automatic Document Feeder" --help
scanimage -d sharp --source Flatbed --help
scanimage -d sharp --source "Transparency Adapter" --help
--edge emphasis
Randbetonung. Diese Option ist für den JX-250 und den JX-350 nicht verfügbar. Mögliche
Einstellungen: None, Middle, Strong und Blur. Die Vorgabe ist None.
--threshold
setzt den Schwellwert für schwarze und weiße Pixel im Modus Lineart. Mögliche Werte sind 1…255.
Der Vorgabewert ist 128. Diese Option ist nur im Scanmodus lineart verfügbar.
--threshold-red
setzt den Schwellwert für die rote Komponente eines Pixels im Lineart-Farbscan-Modus. Mögliche
Werte sind 1…255. Der Vorgabewert ist 128. Diese Option ist nur im Farb-Scanmodus lineart
verfügbar.
--threshold-green
setzt den Schwellwert für die grüne Komponente eines Pixels im Lineart-Farbscan-Modus. Mögliche
Werte sind 1…255. Der Vorgabewert ist 128. Diese Option ist nur im Farb-Scanmodus lineart
verfügbar.
--threshold-blue
setzt den Schwellwert für die blaue Komponente eines Pixels im Lineart-Farbscan-Modus. Mögliche
Werte sind 1…255. Der Vorgabewert ist 128. Diese Option ist nur im Farb-Scanmodus lineart
verfügbar.
--lightcolor
setzt die Farbe der Lichtquelle. Mögliche Werte sind white, red, green und blue. Der Vorgabewert
ist white. Diese Option ist nur in den Scanmodi lineart color und color verfügbar.
ADF-VERWENDUNG
Falls ein Papierstau auftritt, muss der Wartungsdeckel geöffnet und geschlossen werden, selbst wenn das
verstopfte Papier ohne Öffnen der Wartungsklappe entfernt werden kann. Andernfalls wird der Fehlerzustand
nicht zurückgesetzt.
KONFIGURATION
Der Inhalt der Datei sharp.conf ist eine Liste von Optionen und Gerätenamen, die Sharp-Scannern
entsprechen. Leere Zeilen und Zeilen, die mit einer Raute (#) beginnen, werden ignoriert. Siehe
sane-scsi(5) für Details über Gerätenamen.
Zeilen, die eine Option setzen, beginnen mit dem Schlüsselwort option, gefolgt vom Optionsnamen und
dessen Wert. Derzeit sind drei Optionen definiert: buffers, buffersize und readqueue.
Optionen am Anfang von sharp.conf gelten für alle Geräte; Optionen, die nach Gerätenamen definiert sind,
gelten für dieses Gerät.
Die Optionen buffers und readqueue sind nur von Bedeutung, falls das Backend so kompiliert wurde, dass
jeder Scan einen zweiten, mit Fork gestarteten Prozess auslöst (Schalter USE_FORK in sharp.c). Dieser
Prozess liest die Scandaten aus dem Scanner und schreibt diese Daten in einen Block gemeinsam benutzten
Speicher. Der Elternprozess liest die Daten aus diesem Speicherblock und liefert sie an die Oberfläche
aus. Die Optionen steuern die Größe und die Verwendung dieses gemeinsamen Speicherblocks.
option buffers definiert die Anzahl der verwendeten Puffer. Die kleinste erlaubte Zahl ist 2.
option buffersize definiert die Größes eines Puffers. Da jeder Puffer mit einem einzelnen Lesebefehl, der
an den Scanner gesendet wird, gefüllt wird, wird seine Größe automatisch auf die durch das Betriebssystem
oder durch die SANE-SCSI-Bibliothek für SCSI-Lesebefehle erlaubte Größe begrenzt. Für Scan-Auflösungen
von 300 DPI oder höher wird eine Puffergröße von 128 kB oder 256 kB empfohlen.
option readqueue definiert, wie viele Lesebefehle, die an den Scanner gesandt werden sollen, in die
Warteschlange sollen. Derzeit unterstützt die SANE-SCSI-Bibliothek Warteschlangen für Lese-Befehle nur
unter Linux. Für andere Betriebssysteme sollte option readqueue auf 0 gesetzt werden. Für Linux sollte
option readqueue auf 2 gesetzt werden. Größere Werte als 2 für option readqueue sind in den meisten
Fällen nicht vernünftig. option buffers sollte größer als option readqueue sein.
Leistungsbetrachtungen
Dieser Abschnitt fokusiert sich auf das Problem des Anhaltens des Schlittens des Scanners während eines
Scans. Schlittenstops passieren hauptsächlich bei dem JX-250. Dieser Scanner hat offensichtlich nur einen
kleinen internen Puffer verglichen zu seiner Geschwindigkeit. Das bedeutet, dass das Backend die Daten so
schnell wie möglich vom Scanner lesen muss, um die Schlittenstopps zu vermeiden.
Selbst der JX-250 benötigt nur weniger als 10 Sekunden für einen 400 DPI A4 Graustufenscan, was zu einer
Datenübertragungsrate von mehr als 1,6 MB pro Sekunde führt. Das bedeutet, dass die vom Scanner
erstellten Daten recht schnell verarbeitet werden müssen. Aufgrund des kleinen internen Puffers des
JX-250 muss das Backend Leseanforderungen für den nächsten Datenblock nach dem Lesen eines Datenblock so
früh wie möglich ausgeben, um Schlittenstopps zu vermeiden.
Der Schlitten kann aus folgenden Gründen stehen bleiben:
- zu viel »Verkehr« auf dem SCSI-Bus
- langsame Antworten des Backends an den Scanner
- ein Programm, das die vom Backend erlangten Daten verarbeitet, ist zu langsam
Zu viel »Verkehr« auf dem SCSI-Bus: Dies passiert beispielsweise, falls Festplatten an den gleichen
SCSI-Bus wie der Scanner angeschlossen sind und wenn der Datentransfer von/zu diesen Festplatten einen
beträchtlichen Teil der SCSI-Bandbreite während eines Scans benötigt. Falls dies der Fall ist, sollten
Sie in Betracht ziehen, den Scanner an einen separaten SCSI-Adapter anzuschließen.
Langsame Antworten durch das Backend an den Scanner: Unglücklicherweise haben im Allgemeinen UNIX-artige
Betriebssysteme keine Echtzeitfähigkeiten. Daher gibt es keine Garantie, dass das Backend unter allen
Bedingungen in der Lage ist, mit dem Scanner so schnell wie möglich zu kommunizieren. Um das Problem zu
minimieren, sollte das Backend so kompiliert werden, dass ein separater Leseprozess mit Fork gestartet
wird: Stellen Sie sicher, dass USE_FORK definiert ist, wenn Sie sharp.c kompilieren. Falls weiterhin das
Problem der langsamen Antworten durch das Backend bleibt, könnten Sie versuchen, die Systemlast zu
reduzieren. Selbst obwohl das Backend und der Leseprozess nur einen geringen Anteil der Prozessorzeit
benötigen, können andere laufende Prozesse zu einer Erhöhung der Zeitverzögerung zwischen zwei
Zeitschlitzen, die dem Leseprozess zugeteilt werden, führen. Auf langsameren Systemen kann solch eine
Verzögerung groß genug sein, um einen Schlittenstopp bei dem JX-250 auszulösen. Für Linux wird die
Verwendung des SG-Treibers Version 2.1.36 oder neuer empfohlen, da er im Zusammenspiel mit der
SCSI-Bibliothek von Sane Version 1.0.2 das Einreihen von Befehlen im Kernel unterstützt. Diese
Implementierung, kombiniert mit einer Puffergröße von mindestens 128 kB, sollte die meisten
Schlittenstopps vermeiden.
Langsame Verarbeitung der Scan-Daten: Ein Beispiel für diese Situation ist der Zugriff auf den Scanner
über eine 10-MBit-Ethernet-Verbindung, die definitiv für die Übertragung der Scandaten in der
Geschwindigkeit, in der sie der Scanner erstellt, zu langsam ist. Falls Sie über genug Arbeitsspeicher
verfügen, können Sie option buffers erhöhen, so dass das gesamte Bild in diesen Puffern gespeichert
werden kann.
Um herauszufinden, ob das Backend oder die weitere Verarbeitung der Daten zu langsam ist, setzen Sie die
Umgebungsvariable SANE_DEBUG_SHARP auf 1. Wenn ein Scan abgeschlossen ist, schreibt das Backend die Zeile
»buffer full conditions: nn« auf die Standardfehlerausgabe. Falls nn null ist, werden Schlittenstopps
durch zu langsame Verarbeitung des Backends oder durch zu viel »Verkehr« auf dem SCSI-Bus ausgelöst.
Falls nn größer als null ist, musste das Backend nn mal warten, bis ein Puffer durch die Oberfläche
verarbeitet wurde. (Bitte beachten Sie, dass option buffers größer als option readqueue sein muss, um
nützliche Ausgaben für die »Puffer-Voll-Bedingung« zu erhalten.)
DATEIEN
/etc/sane.d/sharp.conf
Die Backend-Konfigurationsdatei.
/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.a
Die statische Bibliothek, die dieses Backend implementiert.
/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so
Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfügbar, die
dynamisches Laden unterstützen).
UMGEBUNGSVARIABLEN
SANE_DEBUG_SHARP
Falls die Bibliothek mit Debug-Unterstützung kompiliert wurde, steuert diese Umgebungsvariable die
Debug-Stufe für dieses Backend. Beispielsweise bewirkt ein Wert von 128 die Anzeige sämtlicher
Debug-Ausgaben. Kleinere Werte reduzieren die Ausführlichkeit.
BEKANNTE PROBLEME
1. ADF-Modus
Nach verschiedenen Scans aus der automatischen Dokumentenzuführung fährt der Scanner den Schlitten
in die ADF-Ruheposition zurück, bevor ein Scanvorgang beginnt. Wir wissen nicht, ob dies am
Scanner liegt oder ein Fehler im Backend ist. Momentan ist es nötig, den Scanner aus- und wieder
einzuschalten, um dieses ärgerliche Verhalten zu beheben.
2. Höhe des Schwellwertes funktioniert nicht (nur JX-610).
3. Die maximale Auflösung ist auf 600 DPI (JX-610-Unterstützung bis zu 1200 DPI) bzw. 400 DPI (JX-250)
begrenzt.
4. Falls der JX250 mit einem ADF verwendet wurde, kann folgende Situation auftreten: Nach mehreren Scans
und dem Laden eines neues Blatts bewegt der Scanner den Schlitten zu der Leerlaufposition und zurück zur
Position für ADF-Scans. Dies passiert für jeden Scan, im Gegensatz zur Kalibrierung, die nach 10 Scans
erfolgt. (Für die Kalibrierung wird der Schlitten auch zur Leerlaufposition gefahren.) Wir wissen nicht,
ob das Verhalten durch das Backend ausgelöst wird oder ob es ein Fehler in der Firmware des Scanners ist.
5. Die Verwendung der Transparenzeinheit (Film-Scan-Einheit) wird unterstützt, wurde aber nicht getestet.
SIEHE AUCH
sane(7), sane-scsi(5)
AUTOREN
Kazuya Fukuda, Abel Deuring
DANKSAGUNGEN
Das Sharp-Backend basiert auf dem von Helmut Koeberle geschriebenen Canon-Backend.
Teile dieser Handbuchseite sind eine direkte Kopie von sane-mustek(5) von David Mosberger-Tang, Andreas
Czechanowski und Andreas Bolsch.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com>
und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
11. Juli 2008 sane-sharp(5)