Tutoriel Linux

Scanner nicht erkannt unter Ubuntu? Zuerst SANE diagnostizieren

Débutant7 min de lecture

Sie schließen den Scanner an, öffnen den Dokumentenscanner und das Gerät wird nicht angezeigt. Bevor Sie einen zufällig gefundenen Treiber installieren, müssen Sie den Fehler lokal beschreiben: Erkennt Ubuntu das Gerät, erkennt SANE es oder erhält die Anwendung einfach nicht die Liste der Scanner?

Das folgende Diagnoseschema verfolgt diese Schichten in der Reihenfolge. Jeder Befehl dient dazu, die nächste auszuwählen, sowohl mit einem USB-Scanner als auch mit einem Netzwerkmodell unter Ubuntu 22.04 oder 24.04.

Offener USB-Scanner und Kabel, die vor einem Linux-Terminal während einer SANE-Diagnose unter Ubuntu überprüft werden
Die Diagnose beginnt mit der Trennung von USB-Erkennung, SANE und der Anwendung.

Trennung von Hardwareproblemen und SANE-Problemen

Beginnen Sie mit einem USB-Scanner. Der Befehl lsusb fragt direkt den USB-Bus ab. Er ermöglicht es zu überprüfen, ob das System ein Gerät auf Hardware-Ebene sieht. Wenn Sie die Geräte und USB-Ports genauer lokalisieren müssen, können Sie auch unseren Leitfaden zur Auflistung der USB-Ports unter Linux konsultieren.

lsusb

Eine Zeile mit dem Hersteller oder Modell des Scanners zeigt, dass die USB-Verbindung vom Kernel erkannt wird. Wenn sich nichts ändert, wenn Sie das Gerät anschließen, testen Sie einen anderen Port, entfernen Sie einen eventuell vorhandenen USB-Hub und überprüfen Sie das Kabel. Zu diesem Zeitpunkt sind Dokumentenscanner und SANE noch nicht betroffen.

Überprüfen Sie dann die Erkennung durch das SANE-Tool:

sane-find-scanner

sane-find-scanner sucht nach SCSI- und USB-Scannern sowie deren Gerätedateien. Eine Erkennung hier bestätigt, dass das Gerät auf Hardware-Ebene zugänglich ist. Sie garantiert jedoch nicht die Verfügbarkeit eines kompatiblen SANE-Backends. Die Ubuntu-Dokumentation zu sane-find-scanner stellt fest, dass ein Gerät auch ohne nutzbares Backend gefunden werden kann.

Die dritte Überprüfung fragt die SANE-Schicht ab, die von den Anwendungen verwendet werden soll:

scanimage -L
Ergebnis Interpretation Weiteres Vorgehen
lsusb sieht nichts Das Problem liegt vor SANE: Kabel, Port, Stromversorgung oder USB-Gerät. Die Verbindung korrigieren und die Befehle erneut ausführen.
lsusb und sane-find-scanner erkennen das Gerät, doch scanimage -L bleibt leer Die Hardware gibt eine Rückmeldung, aber SANE hat wahrscheinlich nicht das passende Backend, oder der Zugriff auf das Gerät ist blockiert. Diagnose des Backends und der Berechtigungen durchführen.
scanimage -L zeigt einen Scanner an SANE bietet ein nutzbares Gerät für Anwendungen an. Das Backend mit scanimage -T testen, dann Dokumentenscanner öffnen.

Für einen Netzwerk-Scanner bringt lsusb nichts. Der Scanner muss eingeschaltet sein, mit dem gleichen lokalen Netzwerk wie der Computer verbunden sein und ohne Isolation zwischen den Wi-Fi-Clients zugänglich sein.

Installieren und Überprüfen der Ubuntu-Tools

Bei einer Minimalinstallation können die Diagnosetools oder die Anwendung fehlen. Installieren Sie die Ubuntu-Pakete, die für diese Schicht vorgesehen sind:

sudo apt update
sudo apt install sane-utils simple-scan

sane-utils stellt insbesondere scanimage und sane-find-scanner bereit. simple-scan installiert den Dokumentenscanner. Die Installation dieser Pakete stellt keinen universellen Treiber für alle Scanner bereit. Sie bereitet das Diagnosetool vor, aber die Kompatibilität hängt dann vom SANE-Backend und dem verwendeten Modell ab.

Überprüfen Sie die Versionen der in den aktiven Repositories angebotenen Pakete:

apt policy sane-utils simple-scan

Die Ausgabe zeigt unter anderem die Versionen Installed und Candidate. Eine Kandidaten-Version ohne installierte Version bedeutet, dass das Paket verfügbar, aber nicht vorhanden ist. Ein leerer Kandidat deutet eher auf ein Problem mit den Repositories oder der APT-Konfiguration hin. In diesem Fall überprüfen Sie die Ubuntu-Quellen, bevor Sie nach einem Drittanbieter-Paket suchen.

Wenn sane-utils installiert ist, führen Sie scanimage -L erneut aus. Wenn das Gerät angezeigt wird, ist die Softwarebasis vorhanden. Sie können sich dann auf den Dokumentenscanner konzentrieren, anstatt das System unnötig zu verändern.

Wenn sane-find-scanner das Gerät sieht, aber scanimage nicht

Dieser Unterschied zeigt an, dass die USB-Erkennung funktioniert, aber SANE den Scanner noch nicht verwenden kann. Beginnen Sie mit dem direkten Test des Backends:

scanimage -T

scanimage -T führt einen Test des SANE-Backends durch. Wenn der Test erfolgreich ist, reagiert die SANE-Schicht korrekt. Wenn scanimage -L trotzdem leer bleibt, kann die vom Backend zurückgegebene Liste unvollständig sein, insbesondere für Netzwerkgeräte. Die Man-Seite von scanimage beschreibt den Unterschied zwischen der Liste der Geräte und dem Test des Backends.

Sie können die Meldungen des SANE-Bibliothekladers vorübergehend erhöhen:

SANE_DEBUG_DLL=3 scanimage -L

Der Befehl zeigt dann zusätzliche Informationen zum Laden der Backends an. Suchen Sie nach einem Fehler einer fehlenden Bibliothek, einer unerreichbaren Konfigurationsdatei oder eines ignorierten Backends. Dieses Protokollierungsniveau dient der punktuellen Diagnose. Es behebt nichts und sollte nicht dauerhaft in Ihrer Sitzung definiert sein.

Wenn das Protokoll ein fehlendes Backend zeigt, identifizieren Sie zuerst das genaue Modell und dessen Kompatibilität mit SANE. Einige Hersteller stellen ein offizielles Paket zur Verfügung, aber überprüfen Sie vor der Installation dessen Herkunft, Ubuntu-Version und Architektur. Fügen Sie niemals ein unbekanntes Repository hinzu, nur weil ein Suchergebnis eine DEB-Datei anbietet.

Wenn das Backend geladen ist, das Gerät aber weiterhin fehlt, überprüfen Sie die Berechtigungen. Ein von lsusb sichtbares Gerät kann für Ihre Benutzersitzung unbrauchbar bleiben.

USB-Berechtigungen ordnungsgemäß korrigieren

Überprüfen Sie die USB-Gerätedateien, ohne deren Berechtigungen zu ändern:

ls -l /dev/bus/usb/*/*

Die angezeigten Einträge entsprechen den Geräten des Busses. Der Eigentümer, die Gruppe und die Berechtigungsbits zeigen, ob Ihre Sitzung darauf zugreifen kann. Ein Berechtigungsfehler in scanimage oder im SANE-Protokoll bestätigt diese Vermutung, aber das Fehlen des Scanners in der Liste reicht allein nicht aus.

Trennen Sie den Scanner, warten Sie einige Sekunden und schließen Sie ihn dann direkt an den Computer wieder an. Führen Sie anschließend Folgendes erneut aus:

lsusb
sane-find-scanner
scanimage -L

Diese erneute Verbindung zwingt zur Neuerstellung der Datei in /dev/bus/usb und ermöglicht es, die auf das Gerät angewandte udev-Regel zu überprüfen. Wenn der Zugriff nur nach einer erneuten Verbindung oder nur in einer bestimmten Sitzung funktioniert, überprüfen Sie Ihre Identität und die Gruppen, die tatsächlich mit der Sitzung verbunden sind:

id
groups

Eine Änderung der Gruppe wird erst nach einer neuen Anmeldung wirksam, aber einen Benutzer blind zu einer Gruppe namens scanner hinzuzufügen, ist keine zuverlässige Methode. Diese Gruppe könnte nicht existieren, von der Geräteregels nicht verwendet werden oder nicht mit dem Backend übereinstimmen. Geben Sie niemals globale Rechte mit chmod 666 auf ein USB-Gerät.

Um weiter zu gehen, vergleichen Sie die von Ubuntu oder dem Hersteller bereitgestellten udev-Regeln mit den tatsächlich vorhandenen Berechtigungen. Die Grundsätze für die Kontrolle von Linux-Berechtigungen gelten hier: Korrigieren Sie die gezielte Regel, dann melden Sie sich erneut an und testen Sie den Zugriff mit Ihrem normalen Benutzer.

Netzwerkscanner: SANE, AirScan und mDNS-Erkennung

Ein Netzwerk-Scanner kann funktionieren, ohne in lsusb angezeigt zu werden. Ubuntu muss einen eSCL/AirScan- oder WSD-Dienst im lokalen Netzwerk entdecken. Installieren Sie das AirScan-Backend und den Avahi-Dienst:

sudo apt update
sudo apt install sane-airscan avahi-daemon

Überprüfen Sie, ob der mDNS-Erkennungsdienst aktiv ist:

systemctl is-active avahi-daemon

Die erwartete Antwort ist active. Eine Antwort inactive, failed oder das Fehlen des Dienstes weist auf einen zu korrigierenden Schritt hin, bevor Sie die Netzwerkerkennung testen.

Fragen Sie dann nach den erkennbaren AirScan-Geräten:

airscan-discover

Der Befehl kann die gefundenen Dienste mit ihrem Typ und ihrer Adresse anzeigen. Eine leere Liste beweist nicht, dass der Scanner inkompatibel ist. Sie kann auf ein Gastnetzwerk, eine Wi-Fi-Isolation, eine Firewall, inaktives Avahi oder einen Scanner, der sich in einem anderen VLAN befindet, hinweisen.

Überprüfen Sie das von Ubuntu verwendete Netzwerkprofil und stellen Sie sicher, dass der Computer nicht mit einem Gastnetzwerk verbunden ist:

nmcli connection show --active
nmcli device status

Unser Leitfaden zur Änderung eines Netzwerkprofils mit nmcli hilft, die aktive Verbindung zu überprüfen. Der Scanner und der Arbeitsplatz müssen in der Lage sein, über dasselbe LAN zu kommunizieren. Die mDNS-Erkennung verwendet Netzwerkankündigungen, die nicht immer VLANs oder bestimmte Access-Point-Konfigurationen durchdringen.

Nach dieser Überprüfung führen Sie erneut aus:

scanimage -L

Wenn der Netzwerk-Scanner angezeigt wird, hat SANE das Backend und den Entdeckungsdienst gefunden. Das Projekt sane-airscan unterstützt eSCL/AirScan- und WSD-Netzwerkscanner mit automatischer Erkennung oder manueller Konfiguration. Wenn die automatische Erkennung fehlschlägt, während die IP-Adresse des Scanners bekannt ist, konsultieren Sie dessen Dokumentation zur manuellen Backend-Konfiguration, ohne einen Gerätenamen oder eine URL zu erfinden.

Validierung in Dokumentenscanner

Wenn scanimage -L den Scanner auflistet, starten Sie die Anwendung:

simple-scan

Die im Dokumentenscanner sichtbare Liste sollte mit dem vom SANE bereitgestellten Gerät übereinstimmen. Starten Sie einen einfachen Scan und überprüfen Sie, ob die Vorschau geladen wird, das Dokument lesbar ist und die Speicherung im gewählten Format funktioniert.

  • USB nicht in lsusb sichtbar: Überprüfen Sie zuerst das Kabel, den Port oder die Stromversorgung.
  • USB sichtbar, aber nicht in scanimage -L aufgeführt: Überprüfen Sie das Backend, die SANE-Protokolle und die Berechtigungen.
  • Netzwerkscanner nicht in airscan-discover aufgeführt: Überprüfen Sie Avahi, dasselbe LAN und die Wi-Fi-Isolation.
  • Scanner aufgelistet, aber Anwendung fehlerhaft: Testen Sie scanimage -T, und führen Sie dann den Dokumentenscanner in Ihrer Benutzersitzung erneut aus.

Die Validierung ist abgeschlossen, wenn scanimage -L den Scanner auflistet und simple-scan einen vollständigen Scan ohne Administratorrechte durchführt. Führen Sie dann einen letzten Scan mit dem tatsächlich verwendeten Dokument durch und überprüfen Sie die gespeicherte Datei.