SDB:Scanner einrichten ab SUSE Linux 10.0

aus openSUSE, der freien Wissensdatenbank


Inhaltsverzeichnis

Anliegen

Sie möchten Ihren Scanner einrichten.

Grundlegende Informationen finden Sie in den Handbüchern zu SUSE Linux 10.0.

Ausführliche Informationen finden sich im Artikel SDB:Scanner einrichten ab SUSE LINUX 9.2

Im folgenden finden Sie hauptsächlich Informationen zu Unterschieden und Besonderheiten im Vergleich zu früheren SUSE Linux Versionen.

Speziell wenn Sie von SUSE LINUX 9.2 auf SUSE Linux 10.0 updaten, beachten Sie auch die Änderungen zu SUSE LINUX 9.3: SDB:Scanner einrichten ab SUSE LINUX 9.3

Änderung bzgl. der Zugriffsberechtigung für USB Scanner via resmgr

Bei SUSE LINUX 9.2 und 9.3 erlaubt der resmg den Zugriff für alle USB Geräte außer Tastaturen und Mäusen für lokal angemeldete Benutzer, siehe SDB:Scanner einrichten ab SUSE LINUX 9.2 Eine Zugriffskontolle mit "Blacklist"-Semantik (der Zugriff ist erlaubt, außer in explizit aufgelisteten verbotenen F&au ml;llen) ist grundsätzlich unsicherer als eine Zugriffskontrolle mit "Whitelist"-Semantik (der Zugriff ist verboten, außer in explizit aufgelisteten erlaubten Fällen).

Ab SUSE Linux 10.0 erfolgt die Zugriffskontrolle mit "Whitelist"-Semantik. Das bedeutet, dass es eine Liste der USB Scanner geben muss, für die der Zugriff explizit erlaubt ist.

So eine Liste wird von der YaST Scannerkonfiguration automatisch für den resmgr eingerichtet:

/etc/resmgr.conf.d/50-scanner.conf

Das Format der Einträge ist beispielsweise

add usb:vendor=0x1a2b,product=0x3c4d scanner

wobei "1a2b" und "3c4d" durch die tatsächlichen USB Gerätekennungen für Hersteller und Produkt zu ersetzten sind, wie sie von dem Kommando

/usr/sbin/lsusb

in der Form "ID 1a2b:3c4d" angezeigt werden.

Die YaST Scannerkonfiguration kann nur die USB Gerätekennungen automatisch in /etc/resmgr.conf.d/50-scanner.conf eintragen, für die ein USB Scanner von dem Kommando

sane-find-scanner

erkannt wurde und wenn die Ausgabe des Kommandos die USB Gerätekennungen in der Form "vendor=0x1a2b...product=0x3c4d" enthält. Von YaST erkannte USB Scanner werden mit der Ausgabe des Kommandos angezeigt. Wenn die USB Gerätekennungen in obiger Form fehlen, ist der Eintrag in /etc/resmgr.conf.d/50-scanner.conf manuell zu machen.

Damit der Zugriff nur für die tatsächlich angeschlossenen Scanner freigegeben wird, legt die YaST Scannerkonfiguration bei jedem Lauf /etc/resmgr.conf.d/50-scanner.conf komplett neu an. Für eine manuelle Konfiguration sollte daher ein anderer Dateiname, etwa /etc/resmgr.conf.d/51-scanner.conf verwendet werden.

Wenn ein USB Scanner von YaST nicht erkannt wurde, sollte zuerst die Hardwareerkennung in der YaST Scannerkonfiguration ggf. mehrfach erneut gestartet werden (via [Andere] -> [Erkennung neu starten]). Zumeist funktioniert es dann. Wenn ein USB Scanner von YaST endgültig nicht erkannt werden kann, ist der Scanner nicht unterstützt (vergl. die Modellliste in YaST via [Hinzufügen]) oder ein grundsätzliches USB Problem ist die Ursache, siehe [[SDB:Scanner einrichten ab SUSE LINUX 9.2]

Eine Ausnahme sind HP all-in-one USB Geräte: Diese werden nicht von "sane-find-scanner" erkannt, aber sie benötigen auch keinen Eintrag in /etc/resmgr.conf.d/50-scanner.conf, denn hier erfolgt der Zugriff durch einen speziellen Dienst (entweder "hplip" oder "ptal"), siehe SDB:Scanner einrichten ab SUSE LINUX 9.3

Konflikt beim Zugriff auf Epson all-in-one USB-Geräte:

Epson all-in-one Geräte erscheinen am USB als ein Gerät mit verschiedenen Schnittstellen ("Interfaces") etwa wie folgt (vergl. die Ausgabe von "sane-find-scanner -v -v"):

  • "interface 0" ist die Scanner-Einheit (USB scanner)
  • "interface 1" ist die Drucker-Einheit (USB printer)
  • optional ist "interface 2" ein Speicherkartenleser (USB mass storage)

Das Kernelmodul "usblp" wird automatisch geladen, um auf die Drucker-Einheit zugreifen zu können. Bei einem Speicherkartenleser wird das Kernelmodul "usb-storage" automatisch geladen, um darauf zugreifen zu können.

Das führt zu einem Konflikt, sobald SANE versucht, auf die Scanner-Einheit zuzugreifen und es kommt zu einem "EBUSY" Fehler (d.h. "das Gerät ist schon belegt") wodurch der Zugriff auf die Scanner-Einheit fehlschlägt. Z.B. beim Kommando "scanimage -L" gibt es folgende Meldungen in /var/log/messages:

usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
usbfs: interface 2 claimed by usb-storage while 'scanimage' sets config #1

Das Scannen funktioniert, wenn die Kernelmodule, die die anderen Interfaces belegen, entladen werden (hier z.B. "rmmod usblp" und "rmmod usb-storage"),aber dann funktioniert weder das Drucken auf irgendeinem USB-Drucker noch der Zugriff auf irgendein USB-Speichermedium.

Als provisorische Lösung wurde die SANE Software so geändert, dass der "EBUSY" Fehler einfach ignoriert wird. Die gleiche provisorische Lösung wurde auch für die Iscan Software angewendet.

Auf diese Weise scheint das Scannen zumindest halbwegs zu funktionieren. Bei Tests mit einem Epson Stylus Photo RX420 funktionierte das Scannen aber nur einige Male bis es zu anderen Fehlern kam, z.B. "Resource temporarily unavailable" oder "I/O error". Nach Entladen von "usblp" und "usb-storage" ("rmmod usblp ; rmmod usb-storage") und Neu-Laden ("modprobe usblp ; modprobe usb-storage") funktioniert das Scannen wieder einige Male.

Um die provisorische Lösung in SANE und in Iscan zu testen, gibt es spezielle Pakete für SUSE Linux 10.0 für 32-bit Pentium-kompatible (i586) und für AMD 64-bit (x86_64) Computer:

ftp://ftp.suse.com/pub/people/jsmeix/unsupported/sane/10.0/RPMS/
sane-1.0.15-20.1.i586.ignore-EBUSY-from-USB.rpm
sane-1.0.15-20.1.x86_64.ignore-EBUSY-from-USB.rpm
ftp://ftp.suse.com/pub/people/jsmeix/unsupported/iscan/10.0/RPMS/
iscan-1.15.0.2-4.1.i586.ignore-EBUSY-from-USB.rpm
iscan-free-1.15.0.2-3.i586.ignore-EBUSY-from-USB.rpm
iscan-free-1.15.0.2-3.x86_64.ignore-EBUSY-from-USB.rpm

Oft ist ftp.suse.com überlastet, so dass ein "Mirror" Server verwendet werden muss (aber wegen der Überlastung kann es sein, dass die Pakete nur verzögert auf dem Mirror zur Verfügung stehen).

Lesen Sie das README in den .../RPMS/ Verzeichnissen.

Die Meldungen in /var/log/messges werden sich nicht ändern, denn SANE bzw. Iscan ignorieren den Fehler nur.

Dennoch, wenn das Ignorieren des Fehlers jetzt in den meisten Fällen hilft und wenn es keine schwerwiegenden Probleme verursacht (z.B. einen plötzlichen Systemstillstand wegen einer Verklemmung oder eines Absturzes im Kernel), werden wir die Pakete auch als empfohlenes Update via YOU bereitstellen.

Feedback bitte an unten stehende E-Mail Adresse.

Den zugehörigen Bug-Report (nur Englisch) finden Sie hier:

https://bugzilla.novell.com/show_bug.cgi?id=127524

Neue "sane" Paketversion zum Testen:

Zum Testen gibt es eine neuere Version des Paketes "sane" für SUSE Linux 10.0 unter "ftp://ftp.suse.com/pub/people/jsmeix/unsupported/sane/10.0/RPMS/". Beachten Sie das "unsupported" und lesen Sie das README in dem Verzeichnis. Feedback bitte an untenstehende E-Mail Adresse.

Freie "Image Scan" Treibersoftware zum Testen:

Die "Image Scan" Treibersoftware von Epson im Paket "iscan" enthält auch proprietäre Software. Die daraus resultierenden Probleme sind in SDB:Scanner einrichten ab SUSE LINUX 9.3 beschrieben.

Zum Testen gibt es eine veränderte freie Version als Paket "iscan-free" für SUSE Linux 10.0 für 32-Bit Pentium kompatible (i586) und für AMD 64-Bit (x86_64) Rechner unter "ftp://ftp.suse.com/pub/people/jsmeix/unsupported/iscan/10.0/RPMS/". Beachten Sie das "unsupported" und lesen Sie das README in dem Verzeichnis.

Die freie Version enthält nur das "epkowa" Backend. Jegliche proprietäre Software wurde entfernt. Dadurch können wir es nun auch passend für 64-Bit Systeme wie jede andere normale freie Software compilieren.

Die freie Version kann nicht für solche Scanner funktionieren, die die proprietäre Software benötigen. Derzeit benötigen folgende Modelle die proprietäre Software: GT-7200 / Perfection 1250, GT-7300 / Perfection 1260, GT-9400 / Perfection 3170, GT-F500 / Perfection 2480, GT-F550 / Perfection 2580, GT-F520 / Perfection 3490, GT-F570 / Perfection 3590, GT-F600 / Perfection 4180. Ob mit oder ohne "PHOTO" im Namen spielt keine Rolle.

Auch das Frontend /usr/bin/iscan musste entfernt werden, denn das ist zu stark mit der proprietären Software verbunden, als dass es sich ordentlich davon trennen ließe. Das sollte aber kaum Probleme verursachen, denn bei der freien Version läuft der epkowa Treiber auf jeder Architektur als native Software. Also auf 32-bit Systemen als 32-Bit Software und auf 64-Bit Systemen als 64-Bit Software. Deswegen kann bei der freien Version ein Scanner, der mit dem Treiber epkowa eingerichtet wurde, auch auf AMD 64-Bit Systemen über die normalen Frontends (scanimage, xscanimage, xsane, kooka) angesprochen werden.

Beachten Sie, dass iscan-free nicht von der YaST Scannerkonfiguration unterstützt wird. Die YaST Scannerkonfiguration kennt nur das Paket iscan. Die Pakete iscan und iscan-free können nicht gemeinsam installiert sein. Daher muss die Scannerkonfiguration für iscan-free manuell erfolgen, siehe SDB:Scanner einrichten ab SUSE LINUX 9.2

Wenn Ihnen die freie Version gefällt, lassen Sie es Epson unter "Epson Avasys (http://www.avasys.jp/english/linux_e/index.html)" wissen. Nur durch hinreichend viele Kundenrückmeldungen kann der Hersteller erkennen, dass der Bedarf an einer freien Image Scan Version tatsächlich gross genug ist, dass sich für den Hersteller die Entwicklung einer eigenen freien Version lohnt.

Feedback speziell zum SUSE Paket bitte an unten stehende E-Mail Adresse.