sane-scsi(5) | SANE Scanner Access Now Easy | sane-scsi(5) |
sane-scsi - SCSI-Adapter-Tipps für Scanner
Diese Handbuchseite enthält verschiedene betriebssystemabhängige Tipps und Tricks, wie Sie Scanner mit einer SCSI-Schnittstelle zum Laufen bekommen.
Für Scanner mit einer SCSI-Schnittstelle kann es notwendig sein, die geeignete Backend-Konfigurationsdatei zu bearbeiten, bevor SANE erstmalig verwendet wird. Für die meisten Systeme sollte die Konfigurationsdatei die Namen der generischen SCSI-Geräte aufführen, mit denen der Scanner verbunden ist (z.B. ist unter Linux /dev/sg4 oder /dev/sge ein solches generisches SCSI-Gerät). Es ist üblich, einen Symlink von /dev/scanner auf das generische SCSI-Gerät zu erstellen, mit dem der Scanner verbunden ist. In diesem Fall führt die Konfigurationsdatei einfach die Zeile /dev/scanner auf. Für eine detaillierte Beschreibung der Backend-Konfigurationsdateien schauen Sie bitte in die Handbuchseite des relevanten Backends (z.B. sane-epson(5) für Epson-Scanner, sane-hp(5) für HP-Scanner usw.).
Bei einigen Betriebssystemen (z.B. Linux und OS/2) gibt es eine alternative Möglichkeit, Scanner-Geräte festzulegen. Diese alternative Art ermöglicht es, Scanner über den SCSI-Lieferanten und die Modellbezeichnungs-Zeichenkette und/oder über die SCSI-Geräte-Adresse (bestehend aus der Bus-Nummer, der Kanalnummer, der Kennung und der logischen Einheitennummer) zu identifizieren. Die Syntax für die Festlegung eines Scanners auf diese Art ist wie folgt:
wobei LIEFERANT die Zeichenkette mit dem SCSI-Lieferanten, MODELL ist die SCSI-Modellbezeichnungs-Zeichenkette, TYP ist die SCSI-Gerätetypzeichenkette, BUS ist die SCSI-Bus-Nummer (genannt »host« in /proc/scsi/scsi), KANAL ist die SCSI-Kanalnummer, KENNUNG ist die SCSI-Kennung und LUN ist die logische Einheitennummer des Scanner-Geräts. Die ersten zwei Felder sind Zeichenketten, die in doppelten englischen Anführungszeichen eingeschlossen werden müssen, falls sie Leerraumzeichen enthalten. Die verbleibenden vier Felder sind nicht-negative Ganzzahlen. Die korrekten Werte für diese Felder können mit betriebssystemspezifischen Werkzeugen ermittelt werden, z.B. für Linux durch Prüfen der Ausgabe des Befehls cat /proc/scsi/scsi. Um die Konfiguration zu erleichtern, kann der Wert eines Feldes durch ein Sternsymbol (»*«) ersetzt werden. Ein Stern hat den Effekt, dass für dieses bestimmte Feld jeder Wert erlaubt ist. Dies kann dazu führen, dass eine einzelne SCSI-Zeile auf mehrere Geräte passt. Wenn dies passiert, wird nacheinander jedes passende Gerät durch das Backend geprüft und registriert, falls das Backend glaubt, dass dies ein kompatibles Gerät ist. Die Zeile
würde beispielsweise einen Mustek-SCSI-Scanner mit dem folgenden /proc/scsi/scsi-Eintrag anhängen:
Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: MUSTEK Model: MFS-06000CX Rev: 4.04 Type: Scanner ANSI SCSI revision: 0
Normalerweise reicht es aus, nur die Zeichenketten für den Lieferanten und das Modell oder sogar nur für den Lieferanten zu verwenden. Das folgende Beispiel
hätte den Effekt, das alle SCSI-Geräte in dem System, deren Lieferantenzeichenkette MUSTEK lautet, geprüft und durch das Backend registriert würden.
Falls der Rest einer SCSI-Zeichenkette nur aus Sternchen besteht, können die Sternchen entfallen. Beispielweise ist die folgende Zeile äquivalent zu der vorher festgelegten:
Auf einigen Plattformen (z.B. OpenStep) nehmen die SANE-Gerätenamen eine besondere Form an. Dies ist nachfolgend in dem relevanten Plattform-spezifischen Abschnitt beschrieben.
Beim Einsatz von SCSI-Scannern stellen Sie sicher, dass die Zugriffsberechtigungen für das generische SCSI-Gerät geeignet gesetzt sind. Wir empfehlen, eine Gruppe »scanner« zu /etc/group hinzuzufügen, die alle Benutzer enthält, die Zugriff auf den Scanner haben sollen. Die Berechtigungen für das Gerät sollten dann so gesetzt werden, dass sie der Gruppe Lese- und Schreibzugriff erlauben. Falls der Scanner beispielsweise das generische SCSI-Gerät /dev/sg0 ist, dann würden die folgenden zwei Befehle die Berechtigungen korrekt setzen:
Wenn Ihr System das Gerätedateisystem (devfs) verwendet, müssen Sie /etc/devfs/perms bearbeiten. Dort müssen Sie nach der Zeile
suchen, und eine neue Zeile (z.B. zur Änderung der Berechtigung von sg4) hinzufügen:
Die automatische Konfiguration mittels der Zeilen »scsi *« in den Konfigurationsdateien funktioniert nur, falls der Benutzer, der die Oberfläche ausführt, Lese-/Schreibzugriff auf /dev/xpt0 hat. Sie können stattdessen auch einen Link /dev/scanner auf das geeignete Gerät /dev/uk setzen.
Als erstes stellen Sie bitte sicher, dass die generische SCSI-Unterstützung im Kernel aktiviert ist. In make xconfig taucht dies unter »SCSI support->SCSI generic support« auf.
Um Scanzeiten zu minimieren, wird nachdrücklich empfohlen, einen großen Puffer für den generischen SCSI-Treiber zu verwenden. Seit SG-Treiber Version 2.0 kann die Puffergröße zur Laufzeit verändert werden und es gibt keine Größenbeschränkung. Diese Treiberversion ist seit Version 2.2.7 Teil des Linux-Kernels. Falls der neuere SG-Treiber verfügbar ist, erbitten einige Backends (z.B. sane-umax(5), sane-mustek(5), sane-sharp(5)) automatisch größere Puffergrößen. Falls ein Backend nicht automatisch einen größeren SCSI-Puffer anfordert, setzen Sie die Umgebungsvariable SANE_SG_BUFFERSIZE auf die gewünschte Puffergröße in Byte. Es wird nicht empfohlen, mehr als 1 Megabyte zu verwenden, da für größere Werte die Wahrscheinlichkeit zunimmt, dass der SG-Treiber den/die notwendigen Puffer nicht reservieren kann. Für ISA-Karten kann selbst 1 MB ein zu großer Wert sein. Für eine detaillierte Beschreibung von Speicherproblemen des SG-Treibers lesen Sie http://www.torque.net/sg.
Für Linux-Kernel vor Version 2.2.7 ist die Puffergröße nur 32 kB. Das funktioniert, aber viele günstigere Geräte scannen dadurch nur noch mit ungefähr einem Viertel der Geschwindigkeit wie bei der Verwendung von 127 kB. Linux definiert die Größe dieses Puffers durch das Makro SG_BIG_BUFF in der Header-Datei /usr/include/scsi/sg.h. Wenn das System nicht extrem speicherarm ist, wird empfohlen, diesen Wert auf den maximal gültigen Wert von 128*1024-512=130560 byte zu erhöhen. Nach der Änderung dieses Werts ist es notwendig, sowohl den Kernel (oder das generische SCSI-Modul) als auch die SCSI-Backends neu zu kompilieren. Beachten Sie, dass dies nur mit älteren Linux-Kerneln notwendig ist.
Ein häufiges Problem bei SCSI-Scannern besteht darin, was Sie machen müssen, wenn Sie Ihr System gestartet haben, während der Scanner ausgeschaltet war. In diesem Fall wird der Scanner nicht vom Kernel erkannt und SANE ist nicht in der Lage, darauf zuzugreifen. Glücklicherweise stellt Linux einen einfachen Mechanismus bereit, um bei Bedarf nach SCSI-Geräten zu suchen. Nehmen wir an, Ihr Scanner hängt an SCSI-Bus 2 und der Scanner hat die SCSI-Kennung 5. Wenn das System hochgefahren ist und der Scanner eingeschaltet ist, können Sie folgenden Befehl eingeben:
Dann wird der Kernel Ihren Scanner untersuchen und erkennen (dies muss als Root erfolgen). Es ist auch möglich, ein SCSI-Gerät dynamisch mit dem Befehl »remove-single-device« zu entfernen. Für Details schauen Sie bitte in das SCSI-2.4-HOWTO.
Scanner funktionieren bekanntermaßen mit den nachfolgend aufgeführten SCSI-Adaptern unter Linux. Die Liste ist nicht vollständig, normalerweise sollte jeder unter Linux unterstützte SCSI-Adapter funktionieren.
Unter Solaris, OpenStep und NeXTStep bezieht sich der generische SCSI-Gerätename auf einen SCSI-Bus, nicht ein individuelles Gerät. Beispielsweise bezieht sich /dev/sg0 auf den ersten SCSI-Bus. Um SANE mitzuteilen, welches Gerät verwendet werden soll, hängen Sie das Zeichen »a«+Zielkennung an den besonderen Gerätenamen an. Das SCSI-Gerät, das am ersten SCSI-Controller mit der Zielgerätekennung 0 hängt, würde beispielsweise /dev/sg0a genannt werden und das Gerät mit der Zielgerätekennung 1 auf dem gleichen Bus würde /dev/sg0b genannt werden und so weiter.
sane(7), sane-find-scanner(1), sane-"backendname"(5), sane-usb(5)
David Mosberger
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.
14. Juli 2008 |