Provided by: manpages-de_4.15.0-9_all bug

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, sind 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
              Papierquelle.  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  (-y)  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 Speichers. 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öße 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 fokussiert 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 A4-Graustufenscan in 400
       DPI, 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 Zeitfenstern, 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.

                                          11. Juli 2008                             sane-sharp(5)