Scanner/Brother

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein einzelnes Paket installieren

  3. Root-Rechte

  4. Einen Editor öffnen

  5. Ein Terminal öffnen

  6. Archive entpacken

Inhaltsverzeichnis
  1. Vorbereitung
  2. Installation
  3. Konfiguration
    1. Variante 55-libsane.rules bzw 60-libsane...
    2. Alternativ für 64-bit
  4. Anschalten und Scannen
  5. Scanner über Netzwerk nutzen
    1. Hostname / IP-Adresse des Scanners herau...
  6. Problembehandlung
    1. Scanner Treiber ab Bionic Beaver 18.04 (...
    2. Scanner Treiber ab Bionic Beaver 18.04 (...
    3. Probleme beim Scannen am USB-3.0-Port
    4. Scannen über Netzwerk ab Ubuntu 17.04 (6...
  7. Links

Wiki/Icons/scanner.png Im Gegensatz zu einigen Brother-Druckertreibern werden die Scannertreiber generell nicht über die offiziellen Paketquellen zur Verfügung gestellt. Für USB-Scanner reicht die Installation des Treibers aus, für das Scannen über das Netzwerk sind einige zusätzliche Schritte notwendig. Außerdem gibt es noch das optionale Scankey-Tool für die "Scanner"-Taste am Gerät.

Im wesentlichen basiert diese Anleitung auf der Originalfassung 🇬🇧 des Herstellers.

Hinweis:

Brother bietet auch ein fertiges Installationsskript für die gemeinsame Installation von Drucker- und Scannertreiber an. Die Einrichtung des Scanners wird automatisch nach der Installation der Druckertreiber vorgenommen. Dazu muss man einfach der Anleitung des Artikels Drucker/Brother (Abschnitt „Automatische-Installation“) folgen. Gibt es trotzdem noch Probleme oder ist eine weitere Konfiguration vonnöten, dann ist man auf dieser Seite hier richtig.

Vorbereitung

Die Pakete

Paketliste zum Kopieren:

sudo apt-get install sane-utils 

Oder mit apturl installieren, Link: apt://sane-utils

werden zum Betrieb vorausgesetzt und werden, falls nicht schon geschehen, installiert [1].

Installation

Von Brother werden DEB-Pakete ⮷ angeboten. Die unterstützten Ubuntuversionen und Architekturen werden aufgelistet. Nachdem man sie für die korrekte Ubuntuversion und Architektur geladen hat, müssen DEB-Pakete noch installiert werden.

Hinweis!

Fremdpakete können das System gefährden.

Es gibt für Brother-Geräte vier verschiedene Scanner-Treiber : brscan für ältere, brscan2 und brscan3 für neuere Geräte und seit Anfang 2011 brscan4 für die neuesten Geräte.

Bei der Suche nach Gerät und Download wird automatisch der richtige Treiber heruntergeladen. Falls zusätzlich manuelle Schritte ausgeführt werden, sollte man sich aber merken, welche Version man heruntergeladen hat.

Konfiguration

Der Benutzer muss Mitglied in den Gruppen scanner und saned sein. Damit der Scanner auch für Benutzer mit Standardrechten nutzbar ist, müssen noch die Zugriffsrechte per udev angepasst werden. Je nach Ubuntu-Version und Gerät müssen einer oder mehrere der folgenden Schritte ausgeführt werden.

Hinweis:

Ist das Gerät angeschaltet und angeschlossen, ist es nach den (unten genannten) Änderungen ggf. aus- und wieder einzuschalten.

Brother stellt eine Datei mit den benötigten Änderungen bereit. Diese kann man auf der Download-Seite von Brother herunterladen. brother-udev-rule-type1 🇬🇧

Variante 55-libsane.rules bzw 60-libsane.rules

Bei einigen Modellen wie zumindest dem DCP-115C, MFC-260C und dem DCP-7010 müssen zusätzlich die Rechte der Geräte angepasst werden.

Hinweis:

Dies ist nicht erforderlich, wenn eine Ubuntu Version >= 10.10 verwendet wird und das oben angegebene Paket von Brother installiert ist.

In der Datei /lib/udev/rules.d/55-libsane.rules (In Version 16.04 heißt die Datei /lib/udev/rules.d/60-libsane.rules und in Version 18.04 /lib/udev/rules.d/60-libsane1.rules!) wird die Zeile

# Brother scanners
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="00ab", MODE="0660", GROUP="scanner", ENV{libsane_matched}="yes"

hinzugefügt, wobei die beiden IDs 04f9 und 00ab durch die entsprechenden Werte des Ergebnisses des Befehls lsusb für den eigenen Scanner ausgegebenen zu ersetzen sind. Siehe dazu auch den Abschnitt Rechteproblem im Artikel Scanner. Nach dem Abspeichern müssen die neuen Einstellungen mit Root-Rechten übernommen werden:

sudo service udev restart 

Alle Benutzer, die den Scanner verwenden sollen, müssen Mitglied der Gruppe scanner sein (siehe Benutzer und Gruppen).

Alternativ für 64-bit

Alternativ zum Kopieren kann eine Datei /etc/ld.so.conf.d/brother.conf angelegt werden mit folgendem Inhalt:

/usr/lib64
/usr/lib64/sane

Das Aktivieren der Bibliotheken erfolgt mit:

sudo ldconfig 

Weiterhin muss gegebenenfalls noch zusätzlich die Datei /etc/sane.d/brother.conf angelegt werden. Diese hat den folgenden Inhalt. Dabei die <product ID> durch die des verwendeten Scanner ersetzen. Herausfinden kann man diese mit wiederum mit lsusb

# Brother USB
# For libusb support for unknown scanners use the following command
# usb <vendor ID> <product ID>
usb 04f9 01e9

Bei USB-Scannern muss noch der Treiber brother2 in die Datei /etc/sane.d/dll.conf eingetragen werden. Dazu wird, wenn das noch nicht automatisch beim Installieren erfolgt ist, ein Setup-Programm des installierten Pakets ausgeführt, beispielsweise:

sudo /usr/local/Brother/sane/setupSaneScan2 -i 

Dadurch wird in diesem Beispiel brother2 am Ende der Datei /etc/sane.d/dll.conf eingetragen.

Anschalten und Scannen

Jetzt kann man den Scanner anschalten und mit einem beliebigen Scan-Programm testen. Als grafisches Frontend empfehlen sich z.B. Simple Scan, XSane, Skanlite oder gscan2pdf. Bitte für den ersten Test das jeweilige Programm mit Root-Rechten [3] (z.B. mit gksudo) starten, sonst kann der Scanner nicht gefunden werden. Beispiele: Ubuntu bis einschließlich 17.10

gksudo simple-scan

kdesudo simple-scan

Bei allen Ubuntu Versionen

sudo -H simple-scan    

Scanner über Netzwerk nutzen

Je nachdem, welches brscan* Paket installiert wurde, muss folgender Befehl im Terminal [4] ausgeführt werden:

brsaneconfig -a name=FRIENDLY-NAME model=MODEL-NAME nodename=HOSTNAME 

oder

brsaneconfig2 -a name=FRIENDLY-NAME model=MODEL-NAME nodename=HOSTNAME 

oder

brsaneconfig3 -a name=FRIENDLY-NAME model=MODEL-NAME nodename=HOSTNAME 

bzw.

brsaneconfig4 -a name=FRIENDLY-NAME model=MODEL-NAME nodename=HOSTNAME 

Alternativ kann der Scanner auch über seine IP-Adresse statt über seinen Hostnamen angesprochen werden:

brsaneconfig3 -a name=FRIENDLY-NAME model=MODEL-NAME ip=xxx.xxx.xxx.xxx  

Das funktioniert aber nur zuverlässig, wenn der Scanner eine statische IP-Adresse hat. In den meisten Fällen (DSL-Router mit eingebautem DHCP-Server) ist das nicht der Fall und wird deshalb nicht empfohlen.

Hinweis: Endet die IP auf einen zweistelligen Wert (z.B. xxx.xxx.xxx.23), kann die Eingabe von xxx.xxx.xxx.023 zu einer fehlerhaft gespeicherten IP führen. Ob die Eingabe richtig übernommen wurde, kann mit folgender Eingabe geprüft werden:

brscan-skey -l 

Für MODEL-NAME den exakten Namen laut brscan* Paket verwenden. Die unterstützten Modelle werden durch Eingabe des folgenden Befehls angezeigt:

brsaneconfig3 -q 

Ein fehlerhaft angelegter Scanner kann mittels folgendem Befehl entfernt werden:

brsaneconfig3 -r FRIENDLY-NAME 

Hostname / IP-Adresse des Scanners herausfinden

Um den eindeutigen Hostnamen oder die IP-Adresse des Scanners herauszufinden, gibt es drei Möglichkeiten:

Hinweis:

Teilweise wird der Hostnamen nicht in der Form ausgegeben, in der brsaneconfig ihn erwartet. In der Regel muss ein .local ergänzt werden. Zum Beispiel BRN_C42F85BRN_C42F85.local. Die zweite Methode liefert den Hostnamen in genau der Form, die brsaneconfig erwartet.

  1. Am Gerät selbst

  2. mit nmap und tracepath

  3. über das grafische Werkzeug "BRADmin Light"

Am Gerät selbst

Hierzu geht man ins Menü des Druckers (Knopf "Menü" am Drucker), wählt "LAN" aus, und geht anschließend zum Punkt "TCP/IP". Hier kann man nun alle Netzwerk-relevanten Einstellungen tätigen/ablesen (IP-Adresse, Subnet, Knotenname,...). "Knotenname" ist der Hostname des Druckers.

Mit nmap und tracepath

Die IP-Adresse des Scanners kann in der Regel mit nmap herausgefunden werden. Haben die Geräte im Netzwerk beispielsweise Adressen der Form 192.168.150.xxx, liefert

nmap 192.168.150.* 

eine Übersicht der Geräte im Netzwerk. Multifunktionsgeräte sind leicht am Dienst 'printer' erkennbar. Die IP-Adresse ist dann als erste Zahlenkolonne im entsprechenden Block abzulesen, z.B. 192.168.150.50. Der Hostname kann dann mit Hilfe der IP-Adresse ermittelt werden. Er beginnt mit BRN:

tracepath 192.168.150.50 

BRADmin Light

Von Brother gibt es ein praktisches grafisches Werkzeug mit dem Namen "BRAdmin Light". Zur Ausführung dieses Programms wird Java benötigt. Ob und welche Java-Version man installiert hat, kann man über den Befehl

java -version 

herausfinden. Das Programm steht auf dieser Download-Seite 🇬🇧 zum Download zu Verfügung. Auf der Webseite muss man "BRAdmin Light" auswählen und herunterladen. Hat man die Datei qdsel120brl.tar.gz heruntergeladen, muss man den enthaltenen Ordner an einen beliebigen Ort entpacken [6].

Hinweis!

Fremdsoftware kann das System gefährden.

Anschließend öffnet man den neu erstellten Ordner und startet das Programm:

java -jar "BRAdmin Light.jar" 

Es kann wichtig sein, dass die Datei mit Oracle Java statt OpenJDK geöffnet wird. Es werden alle erkannten Geräte angezeigt, mit entsprechender IP-Adresse und "Knotennamen" (=H ostnamen).

./Brother/Scanner/BRAdmin_Light

Nun muss für das entsprechende Modell der richtige Hostname bzw. die richtige IP-Adresse eingetragen werden. Beim Modell MFC-5460CN (siehe Abbildung) mit der IP-Adresse 192.168.150.50 und dem Hostnamen BRN_C42F85 wäre das:

brsaneconfig2 -a name=SCANNER1 model=MFC-5460CN nodename=BRN_C42F85.local

bzw.

brsaneconfig2 -a name=SCANNER1 model=MFC-5460CN ip=192.168.150.50

Problembehandlung

Scanner Treiber ab Bionic Beaver 18.04 (64 Bit)

Die Treiber für den Scanner werden durch die brscan* Pakete in den falschen Ordner abgelegt. Diese Ordner (/usr/lib64/sane sowie /usr/lib64) werden aber von den Programmen nicht verwendet. Deshalb kommt es zu Fehlermeldungen und es werden keine Scanner gefunden. Das Problem lässt sich durch einfaches setzen symbolischer Links auf die richtigen Ordner lösen.

sudo ln -sf /usr/lib64/sane/libsane-brother* /usr/lib/x86_64-linux-gnu/sane
sudo ln -sf /usr/lib64/libbrcolm* /usr/lib/x86_64-linux-gnu        ## nicht mehr Erforderlich ab brscan3
sudo ln -sf /usr/lib64/libbrscandec* /usr/lib/x86_64-linux-gnu     ## nicht mehr Erforderlich ab brscan4

Scanner Treiber ab Bionic Beaver 18.04 (32 Bit)

sudo ln -sf /usr/lib/sane/libsane-brother* /usr/lib/i386-linux-gnu/sane
sudo ln -sf /usr/lib/libbrcolm* /usr/lib/i386-linux-gnu        ## nicht mehr Erforderlich ab brscan3
sudo ln -sf /usr/lib/libbrscandec* /usr/lib/i386-linux-gnu     ## nicht mehr Erforderlich ab brscan4

Probleme beim Scannen am USB-3.0-Port

Hinweis: Bei den oben verlinkten Treibern von 2017 oder später sollte dieses Problem nicht mehr auftreten.

Unter bestimmten Bedingungen wird der Scanvorgang nicht gestartet, wenn ein älteres Brother-Modell an einem USB-3.0-Port angeschlossen ist. Dieses Kompatibilitätsproblem zwischen dem USB-2.0-Gerät und dem USB-3.0-System kann durch die Hardware/Firmware des Scanners, die EFI/BIOS-Firmware, den USB-Chipsatz oder den Linux-Kerneltreiber 'xhci_hcd' verursacht sein. Das Scan-Programm gibt in diesem Fall die Fehlermeldung "Invalid Argument" aus.

Falls am Computer ein USB-2.0-Port vorhanden ist, kann man den Scanner dort anschließen. Bei einigen hat bei aktiviertem IOMMU im EFI mit anschließender Bootoption "iommu=soft" geholfen. Gegebenenfalls lässt sich USB 3.0 auch in den EFI/BIOS-Einstellungen deaktivieren. Damit wird das schnellere USB 3.0 jedoch systemweit für alle Ports abgeschaltet.

Als Alternative zum Deaktivieren von USB3/XHCI im UEFI-Bootmenü, kann man bei Intel-Kontrollern versuchen im laufenden Betrieb USB3 zu deaktivieren

lspci -nn | grep USB  | cut -d '[' -f3 | cut -d ']' -f1 | xargs -I@ sudo setpci -H1 -d @ d0.l=0

Dies leitet die USB-Anschlüsse auf den USB2/EHCI-Kontroller um - bis zu einem Neustart.

Scannen über Netzwerk ab Ubuntu 17.04 (64-bit)

Problem ab Ubuntu 17.04 (64-bit) ist, dass sane die Dateien /usr/lib/x86_64-linux-gnu/sane/ sucht, diese aber im Verzeichnis /usr/lib/sane/ als libsane-brother4* (4 durch jeweilige brscan-Version ersetzen) installiert werden. Die Dateien müssen daher verlinkt oder kopiert werden. Die hier beschriebene Fehlerbehebung sollte unabhängig von der vorher für ältere Systeme beschriebenen Methoden funktionieren. Zunächst installiert man das Paket libusb-0.1-4 (in den meisten Fällen ist es aber bereits installiert).

sudo apt-get install libusb-0.1-4 

Falls das Verzeichnis /usr/lib/sane/ nicht existiert, muss es angelegt werden:

sudo mkdir /usr/lib/sane 

Danach sollte man das Brother-Installskript nochmals ausführen, damit es die Dateien auch wirklich installiert. Anschließend kann man die Dateien verlinken:

sudo ln -s /usr/lib64/sane/libsane-brother4.so.1 /usr/lib/x86_64-linux-gnu/sane/libsane-brother4.so.1 

Unter Umständen muss danach (noch einmal) der Scanner konfiguriert werden mit Hilfe des automatischen installer-scripts von brother oder per manueller Eingabe des Befehls

brsaneconfig4 -a name=FRIENDLY-NAME model=MODEL-NAME nodename=HOSTNAME  

Auch das Hinzufügen des Users zur Gruppe scanner muss eventuell auch manuell nachgeholt werden

sudo adduser BENUTZERNAME scanner  

Rechner neu starten und Anwendungen wie XSane etc. sollten den Scanner finden.

Sollte das Problem trotzdem noch nicht behoben sein kann das Folgende hilfreich zur Fehlersuche sein:

export SANE_DEBUG_DLL=255 && scanimage -L