Scroll to navigation

sane-apple(5) SANE Scanner Access Now Easy sane-apple(5)

BEZEICHNUNG

sane-apple - SANE-Backend für Apple-Flachbettscanner

BESCHREIBUNG

Die Bibliothek sane-apple implementiert ein SANE-(Scanner Access Now Easy) Backend zum Zugriff auf die Flachbettscanner von Apple. Gegenwärtig unterstützt dieses Backend die folgenden Scanner:

--------------- ----- ------------------ ------
AppleScanner    4bit  16 Graustufen
OneScanner      8bit  256 Graustufen
ColorOneScanner 24bit RGB-Farbraum       3 Durchläufe

Falls Sie einen anderen als die genannten Apple-Scanner besitzen, der mit diesem Backend funktioniert, senden Sie uns die Modellbezeichnung des Scanners, die SCSI-Kennung und die Firmware-Revision an sane-devel@alioth-lists.debian.net. Siehe http://www.sane-project.org/mailing-lists.html für Details zum Abonnement von Sane-devel.

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. Für SCSI-Scanner muss der Name des Spezialgeräts 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.

KONFIGURATION

Die Datei apple.conf ist eine Liste von Optionen und Gerätenamen, die Apple-Scannern entsprechen. Leere Zeilen und Zeilen, die mit einer Raute (#) beginnen, werden ignoriert. Siehe sane-scsi(5) für Details dazu, woraus ein gültiger Gerätename besteht.

Optionen gibt es in zwei Varianten: globale und positionsabhängige. Globale Optionen gelten für alle von diesem Backend verwalteten Geräte, während positionsabhängige Optionen nur für das zuletzt erwähnte Gerät gelten. Beachten Sie, dass dies bedeutet, dass die Reihenfolge der Optionen relevant ist!

TIPPS FÜR SCSI-ADAPTER

SCSI-Scanner werden typischerweise mit einem ISA-SCSI-Adapter ausgeliefert. Unglücklicherweise ist der Adapter nicht viel wert, da er nicht Interrupt-getrieben ist. Manchmal gelingt es, die bereitgestellte Karte zum Laufen zu bekommen, aber ohne eine Interrupt-Leitung wird das Scannen so viel Last auf dem System erzeugen, dass es für andere Aufgaben fast unbenutzbar wird.

DATEIEN

/etc/sane.d/apple.conf
Die Backend-Konfigurationsdatei (siehe auch die nachfolgende Beschreibung von SANE_CONFIG_DIR).
/usr/lib/x86_64-linux-gnu/sane/libsane-apple.a
Die statische Bibliothek, die dieses Backend implementiert.
/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so
Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfügbar, die dynamisches Laden unterstützen).

UMGEBUNGSVARIABLEN

Diese Umgebungsvariable ist eine Liste von Verzeichnissen, die SANE auf Konfigurationsdateien überprüft. Auf *NIX-Systemen werden Verzeichnisnamen durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls SANE_CONFIG_DIR nicht gesetzt ist, sucht SANE standardmäßig im aktuellen Arbeitsverzeichnis (.) und dann in /etc/sane.d. Falls der Wert von $SANE_CONFIG_DIR mit dem Trennzeichen endet, werden die Standardverzeichnisse nach der Verzeichnisliste durchsucht. Wenn Sie beispielsweise SANE_CONFIG_DIR auf »/tmp/config:« setzen, wird in den Verzeichnissen »tmp/config«, ».« und »/etc/sane.d« gesucht (in dieser Reihenfolge).
Steuert die Debug-Stufe. Ein Wert von 255 gibt sämtliche Debug-Ausgabe aus. Kleinere Werte reduzieren die Ausführlichkeit. Benötigt, dass eine Bibliothek mit Debug-Unterstützung kompiliert wurde.

AKTUELLER STATUS

Das Apple-Backend befindet sich jetzt in Version 0.3 (Dienstag, 21. Juli 1998). Da ich nur den AppleScanner und nicht die anderen Modelle habe (OneScanner, ColorOneScanner), kann ich im Wesentlichen nur für den AppleScanner entwickeln/testen. Allerdings habe ich mit dieser Veröffentlichung den GUI-Anteil für alle Scanner fast fertiggestellt. Der größte Teil der Funktionalität ist da. Zumindest OneScanner sollte in den Kompatibilitätsmodi des AppleScanner (LineArt, HalfTone, Gray16) scannen. Ich persönlich glaube, dass mit ein bisschen mehr Debugging der OneScanner tatsächlich nutzbar wäre. Der ColorOneScanner benötigt mehr Arbeit. AppleScanner wird natürlich fast vollständig unterstützt.

FEHLENDE FUNKTIONALITÄT

Gegenwärtig fehlt allen drei Modellen die Unterstützung für Upload/Download.

Druckraster können nicht hoch- oder runtergeladen werden.
Druckraster oder Kalibrierungsvektoren können nicht hoch- oder runtergeladen werden.
Druckraster, Kalibrierungsvektoren, angepasste Farbkorrekturtabellen (CCT) und natürlich Gamma-Tabellen können nicht hoch- oder runtergeladen werden.
Einige Funktionalitäten fehlen.

Die obigen Funktionalitäten fehlen, da ich die Hardware zum Ausprobieren nicht habe. Ein anderer Grund ist, dass ich nicht verstehe, wie oder ob das SANE-API eine Möglichkeit für einen Feldtyp jenseits von Gamma beschreibt.

NICHT UNTERSTÜTZTE FUNKTIONALITÄTEN

Die nachfolgenden »Funktionalitäten« werden niemals unterstützt, zumindestens so lange ich das Backend sane-apple betreue.

Die Lampe des Scanners bleibt an und der Schlitten bleibt dort, wo er am Ende des Scans aufhört. Falls nach zwei Minuten der Scanner keinen weiteren Scan-Befehl erhält, wird die Lampe abgeschaltet und der Schlitten kehrt zur Startposition zurück.
Der Scanner kann Daten mit dem eindimensionalen (Fax-)Algorithmus CCITT Group III sowie dem »Leerzeilen-Überspring«-Algorithmus komprimieren.
AppleScanner können mehrere Fenster unterstützen. Es wäre eine tolle Funktionalität und eine Herausforderung für mich, das zu programmieren, falls ich verschiedene Optionen für verschiedene Fenster (Scan-Bereiche) vermischen könnte. Auf diese Weise könnte ich ein Dokument im Modus LineArt scannen, aber die Abbildungen darin in Grau und einer anderen Auflösung. Leider ist dies unmöglich.
Sie steuert die Scanrichtung. (?)
Diese Option steuert den Status des Knopfs auf dem OneScanner-Modell. Sie können den Status des Knopfes auch über Software zurücksetzen.

FEHLER

SANE-Backend-Fehler sind in zwei Klassen eingeteilt. Es gibt GUI-Fehler und Scanner-spezifische Fehler.

Es handelt sich um einen GUI-Fehler, wenn ein Parameter nicht angezeigt wird, wenn er es sollte (aktiv ist) oder umgedreht. Herauszufinden, welche Parameter über die verschiedenen Apple-Modi und Modelle hinweg aktiv sind, ist eine interessante Aufgabe, wenn nur die Dokumentation ftp://ftpdev.info.apple.com/devworld/Technical_Documentation/Peripherals_Documentation/ vorliegt. Ich könnte Abhängigkeiten übersehen haben. Für den Schwellwertparameter sagt beispielsweise die Programmieranleitung von Apple gar nichts aus. Ich musste annehmen, dass er nur im Modus LineArt gültig ist.

Scanner-spezifische Fehler entstehen hauptsächlich aufgrund zwingender Rundungen, um zu scannen. An einer Stelle in der Dokumentation steht, dass die Breite des Scanbereichs ein Vielfaches eines Bytes sein soll. An einer anderen Stelle steht, dass die Breite des Scanbereichs ein geradzahliges Vielfaches eines Bytes sein soll. Und jetzt reimen Sie sich das zusammen …

Andere Fehlerquellen stammen aus der SCSI-Kommunikation, SCSI-Verbindungen und -Trennungen. Allerdings sind die klassischen Fehler immer noch da. Daher könnten Sie auf Pufferüberläufe, Null-Zeiger, Speicherverfälschung und Verletzungen der SANE-API treffen.

Wenn Sie versuchen, den Scanbereich mit dem Schiebebalken zu verändern, tritt ein netter kleiner Speicherauszugsfehler auf. Ich habe keine Ahnung, warum. Falls Sie den Scanbereich aus dem Vorschaufenster oder händisch durch Eingabe der Zahlen auswählen, ist alles in Ordnung. Der SIGSEGV passiert tief in der GTK-Bibliothek (gdk). Ich kann dort wirklich nicht nach Fehlern suchen.
Es ist insbesondere für den ColorOneScanner möglich, dass das Steuerfeld sich über den Bildschirm hinaus ausdehnt. Das passiert bei mir und ich betreibe meinen X-Server mit 1024x768. Was soll ich sagen? Versuchen Sie kleinere Schriftarten auf dem X-Server oder virtuelle Bildschirme.
Ich zitiere hier David Myers …

>> OS: FreeBSD 2.2.6
>> CC: egcs-1.02
Hier möchte ich ergänzen… Ich habe kürzlich meine SCSI-Karte von der Adaptec 2940UW auf einen zweikanaligen Symbios-786-Chipsatz geändert. Als ich SANE mit Ihrem Treiber gestartet habe, konnte ich Lineart-Zeichnungen korrekt scannen, aber Gray16-Scans führten zu einem Strom an SCSI-Fehlermeldungen auf der Konsole und schließlich hing der Treiber mit der Meldung, dass der Scanner den SCSI-Bus nicht freigab. Dies kann daran liegen, dass der Symbios einfach weniger tolerant für uralte Hardware ist oder vielleicht an Fehlern in Ihrem Treiber oder in SANE selbst …

DEBUGGING

Falls Sie einen Fehler in der Oberfläche bemerken, setzen Sie bitte die Umgebungsvariable SANE_DEBUG_APPLE auf 255 und führen den genauen Ablauf der Tastenanschläge und Menüauswahlen aus, um diesen zu reproduzieren. Dann schicken Sie mir auf Englisch einen Bericht, dem Sie das Protokoll anhängen.

Falls Sie einen Apple Macintosh mit installierten AppleScanner-Treibern haben, wäre es für mich sehr hilfreich, wenn Sie mir berichten könnten, welche Optionen in welchen Modi ausgegraut (inaktiv) sind.

Falls Sie mir helfen möchten, aber keinen Scanner haben oder Sie nicht das Modell haben, bei dem Sie helfen möchten oder Sie ein SANE-Entwickler sind und einfach nur schauen möchten, wie das Apple-Backend ausschaut, öffen Sie apple.h und markieren Sie das Makro NEUTRALIZE_BACKEND mit »#define«. Sie können das Scanner-Modell über das Makro APPLE_MODEL_SELECT wählen. Verfügbare Optionen sind APPLESCANNER, ONESCANNER und COLORONESCANNER.

Falls Sie einen SCSI-Busfehler oder abgeschnittene und/oder versetzte Abbildungen bemerken, setzen Sie bitte die Umgebungsvariable SANE_DEBUG_SANEI_SCSI auf 255, bevor Sie mir den Bericht senden.

OFFENE PUNKTE

sane-apple in ein nicht blockierendes Backend verwandeln. Korrekte Unterstützung für sane_set_io_mode() und sane_get_select_fd().
Scannen für alle möglichen Modelle in allen möglichen Modi ermöglichen.

Andere fehlende Funktionalität hinzufügen.

SIEHE AUCH

sane(7), sane-scsi(5)

AUTOR

Das Backend sane-apple wurde von Milon Firikis, aber nicht komplett von Grund auf, geschrieben. Es basiert größtenteils auf dem Backend sane-mustek(5) von David Mosberger und Andreas Czechanowski.

Ü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