sane-apple(5) SANE Scanner Access Now Easy sane-apple(5) BEZEICHNUNG sane-apple - SANE-Backend fur Apple-Flachbettscanner BESCHREIBUNG Die Bibliothek sane-apple implementiert ein SANE-(Scanner Access Now Easy) Backend zum Zugriff auf die Flachbettscanner von Apple. Gegenwartig unterstutzt dieses Backend die folgenden Scanner: --------------- ----- ------------------ ------ AppleScanner 4bit 16 Graustufen OneScanner 8bit 256 Graustufen ColorOneScanner 24bit RGB-Farbraum 3 Durchlaufe 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 fur Details zum Abonnement von Sane-devel. GERATENAMEN Dieses Backend erwartet Geratenamen der folgenden Form: Spezialdatei Die angegebene Spezialdatei ist der Pfadname eines Spezialgerats, das einem SCSI-Scanner entspricht. Fur SCSI-Scanner muss der Name des Spezialgerats ein generisches SCSI-Gerat oder ein symbolischer Link zu so einem Gerat sein. Unter Linux konnte ein solcher Geratename beispielsweise /dev/sga oder /dev/sge sein. Siehe sane-scsi(5) fur Details. KONFIGURATION Die Datei apple.conf ist eine Liste von Optionen und Geratenamen, die Apple-Scannern entsprechen. Leere Zeilen und Zeilen, die mit einer Raute (#) beginnen, werden ignoriert. Siehe sane-scsi(5) fur Details dazu, woraus ein gultiger Geratename besteht. Optionen gibt es in zwei Varianten: globale und positionsabhangige. Globale Optionen gelten fur alle von diesem Backend verwalteten Gerate, wahrend positionsabhangige Optionen nur fur das zuletzt erwahnte Gerat gelten. Beachten Sie, dass dies bedeutet, dass die Reihenfolge der Optionen relevant ist! TIPPS FUR SCSI-ADAPTER SCSI-Scanner werden typischerweise mit einem ISA-SCSI-Adapter ausgeliefert. Unglucklicherweise 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 fur 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/sane/libsane-apple.a Die statische Bibliothek, die dieses Backend implementiert. /usr/lib/sane/libsane-apple.so Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfugbar, die dynamisches Laden unterstutzen). UMGEBUNGSVARIABLEN SANE_CONFIG_DIR Diese Umgebungsvariable ist eine Liste von Verzeichnissen, die SANE auf Konfigurationsdateien uberpruft. Auf *NIX-Systemen werden Verzeichnisnamen durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls SANE_CONFIG_DIR nicht gesetzt ist, sucht SANE standardmassig 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). SANE_DEBUG_APPLE Steuert die Debug-Stufe. Ein Wert von 255 gibt samtliche Debug-Ausgabe aus. Kleinere Werte reduzieren die Ausfuhrlichkeit. Benotigt, dass eine Bibliothek mit Debug-Unterstutzung 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 fur den AppleScanner entwickeln/testen. Allerdings habe ich mit dieser Veroffentlichung den GUI-Anteil fur alle Scanner fast fertiggestellt. Der grosste Teil der Funktionalitat ist da. Zumindest OneScanner sollte in den Kompatibilitatsmodi des AppleScanner (LineArt, HalfTone, Gray16) scannen. Ich personlich glaube, dass mit ein bisschen mehr Debugging der OneScanner tatsachlich nutzbar ware. Der ColorOneScanner benotigt mehr Arbeit. AppleScanner wird naturlich fast vollstandig unterstutzt. FEHLENDE FUNKTIONALITAT Gegenwartig fehlt allen drei Modellen die Unterstutzung fur Upload/Download. AppleScanner Druckraster konnen nicht hoch- oder runtergeladen werden. OneScanner Druckraster oder Kalibrierungsvektoren konnen nicht hoch- oder runtergeladen werden. ColorOneScanner Druckraster, Kalibrierungsvektoren, angepasste Farbkorrekturtabellen (CCT) und naturlich Gamma-Tabellen konnen nicht hoch- oder runtergeladen werden. Park/UnPark (OneScanner, ColorOneScanner) Einige Funktionalitaten fehlen. Die obigen Funktionalitaten fehlen, da ich die Hardware zum Ausprobieren nicht habe. Ein anderer Grund ist, dass ich nicht verstehe, wie oder ob das SANE-API eine Moglichkeit fur einen Feldtyp jenseits von Gamma beschreibt. NICHT UNTERSTUTZTE FUNKTIONALITATEN Die nachfolgenden >>Funktionalitaten<< werden niemals unterstutzt, zumindestens so lange ich das Backend sane-apple betreue. NichtNachhause (AppleScanner) Die Lampe des Scanners bleibt an und der Schlitten bleibt dort, wo er am Ende des Scans aufhort. Falls nach zwei Minuten der Scanner keinen weiteren Scan-Befehl erhalt, wird die Lampe abgeschaltet und der Schlitten kehrt zur Startposition zuruck. Komprimierung (AppleScanner) Der Scanner kann Daten mit dem eindimensionalen (Fax-)Algorithmus CCITT Group III sowie dem >>Leerzeilen-Uberspring<<-Algorithmus komprimieren. Mehrere Fenster (AppleScanner) AppleScanner konnen mehrere Fenster unterstutzen. Es ware eine tolle Funktionalitat und eine Herausforderung fur mich, das zu programmieren, falls ich verschiedene Optionen fur verschiedene Fenster (Scan-Bereiche) vermischen konnte. Auf diese Weise konnte ich ein Dokument im Modus LineArt scannen, aber die Abbildungen darin in Grau und einer anderen Auflosung. Leider ist dies unmoglich. Scanrichtung (OneScanner) Sie steuert die Scanrichtung. (?) Status-/Zurucksetz-Knopf (OneScanner) Diese Option steuert den Status des Knopfs auf dem OneScanner-Modell. Sie konnen den Status des Knopfes auch uber Software zurucksetzen. 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 uber die verschiedenen Apple-Modi und Modelle hinweg aktiv sind, ist eine interessante Aufgabe, wenn nur die Dokumentation vorliegt. Ich konnte Abhangigkeiten ubersehen haben. Fur den Schwellwertparameter sagt beispielsweise die Programmieranleitung von Apple gar nichts aus. Ich musste annehmen, dass er nur im Modus LineArt gultig ist. Scanner-spezifische Fehler entstehen hauptsachlich 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 konnten Sie auf Pufferuberlaufe, Null-Zeiger, Speicherverfalschung und Verletzungen der SANE-API treffen. SIGSEGV auf SliceBars Wenn Sie versuchen, den Scanbereich mit dem Schiebebalken zu verandern, tritt ein netter kleiner Speicherauszugsfehler auf. Ich habe keine Ahnung, warum. Falls Sie den Scanbereich aus dem Vorschaufenster oder handisch durch Eingabe der Zahlen auswahlen, ist alles in Ordnung. Der SIGSEGV passiert tief in der GTK-Bibliothek (gdk). Ich kann dort wirklich nicht nach Fehlern suchen. Zu viele Optionen Es ist insbesondere fur den ColorOneScanner moglich, dass das Steuerfeld sich uber 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. Seltsames SCSI-Verhalten Ich zitiere hier David Myers >> OS: FreeBSD 2.2.6 >> CC: egcs-1.02 Hier mochte ich erganzen Ich habe kurzlich meine SCSI-Karte von der Adaptec 2940UW auf einen zweikanaligen Symbios-786-Chipsatz geandert. Als ich SANE mit Ihrem Treiber gestartet habe, konnte ich Lineart-Zeichnungen korrekt scannen, aber Gray16-Scans fuhrten zu einem Strom an SCSI-Fehlermeldungen auf der Konsole und schliesslich hing der Treiber mit der Meldung, dass der Scanner den SCSI-Bus nicht freigab. Dies kann daran liegen, dass der Symbios einfach weniger tolerant fur uralte Hardware ist oder vielleicht an Fehlern in Ihrem Treiber oder in SANE selbst DEBUGGING Falls Sie einen Fehler in der Oberflache bemerken, setzen Sie bitte die Umgebungsvariable SANE_DEBUG_APPLE auf 255 und fuhren den genauen Ablauf der Tastenanschlage und Menuauswahlen aus, um diesen zu reproduzieren. Dann schicken Sie mir auf Englisch einen Bericht, dem Sie das Protokoll anhangen. Falls Sie einen Apple Macintosh mit installierten AppleScanner-Treibern haben, ware es fur mich sehr hilfreich, wenn Sie mir berichten konnten, welche Optionen in welchen Modi ausgegraut (inaktiv) sind. Falls Sie mir helfen mochten, aber keinen Scanner haben oder Sie nicht das Modell haben, bei dem Sie helfen mochten oder Sie ein SANE-Entwickler sind und einfach nur schauen mochten, wie das Apple-Backend ausschaut, offen Sie apple.h und markieren Sie das Makro NEUTRALIZE_BACKEND mit >>#define<<. Sie konnen das Scanner-Modell uber das Makro APPLE_MODEL_SELECT wahlen. Verfugbare 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 Unterstutzung fur nicht blockierendes Backend sane-apple in ein nicht blockierendes Backend verwandeln. Korrekte Unterstutzung fur sane_set_io_mode() und sane_get_select_fd(). Scannen Scannen fur alle moglichen Modelle in allen moglichen Modi ermoglichen. Andere fehlende Funktionalitat hinzufugen. 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 grosstenteils auf dem Backend sane-mustek(5) von David Mosberger und Andreas Czechanowski. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . 11. Juli 2008 sane-apple(5)