Brother
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Im Gegensatz zu den Brother-Druckertreibern werden die Scannertreiber noch nicht über die Ubuntu-Quellen 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.
Vorbereitung¶
Die Pakete
sane-utils
xsane
xsane-common
Befehl zum Installieren der Pakete:
sudo apt-get install sane-utils xsane xsane-common
Oder mit apturl installieren, Link: apt://sane-utils,xsane,xsane-common
werden zum Betrieb vorausgesetzt und werden falls nicht schon geschehen wie gewöhnlich installiert [1].
Installation¶
Von Brother werden DEB-Pakete ⮷ angeboten. Die unterstützten Ubuntu-Versionen und Architekturen werden aufgelistet. Nachdem man sie für die korrekte Ubuntu-Version und Architektur geladen hat, müssen die DEB-Pakete noch installiert werden.
Hinweis!
Fremdpakete können das System gefährden.
Es gibt drei Scanner-Treiber für Brother-Geräte: brscan für ältere, brscan2 und brscan3 für neuere Geräte und seit Anfang 2011 brscan4für die neuesten Geräte. Welchen Treiber man für sein Modell benötigt, ist in den folgenden Tabellen aufgelistet. Entsprechend den Tabellen lädt man das brscan-, brscan2-, brscan3- oder das brscan4-.deb-Paket.
brscan-Treiber | ||||
MFC-3100C | MFC-3200C | MFC-3220C | MFC-3320CN | MFC-3420C |
MFC-3820CN | MFC-4420C | MFC-4800 | MFC-4820C | MFC-5100C |
MFC-5200C | MFC-580 | MFC-590 | MFC-6800 | MFC-8220 |
MFC-8420 | MFC-8440 | MFC-8500 | MFC-8820D | MFC-8840D |
MFC-890 | MFC-9030 | MFC-9070 | MFC-9160 | MFC-9180 |
MFC-9660 | MFC-9700 | MFC-9760 | MFC-9800 | MFC-9860 |
MFC-9880 | FAX-4750e | FAX-5750e | DCP-1000 | DCP-1400 |
DCP-4020C | DCP-8020 | DCP-8025D | DCP-8040 | DCP-8045D |
brscan2-Treiber | ||||
DCP-110C | DCP-115C | DCP-117C | DCP-120C | DCP-130C |
DCP-135C | DCP-150C | DCP-153C | DCP-155C | DCP-310CN |
DCP-315CN | DCP-330C | DCP-340CW | DCP-350C | DCP-353C |
DCP-357C | DCP-540CN | DCP-560CN | DCP-7010 | DCP-7020 |
DCP-7025 | DCP-750CW | DCP-770CW | DCP-8060 | DCP-8065DN |
DCP-9040CN | DCP-9042CDN | DCP-9045CDN | MFC-210C | MFC-215C |
MFC-230C | MFC-235C | MFC-240C | MFC-260C | MFC-3240C |
MFC-3340CN | MFC-3360C | MFC-410CN | MFC-420CN | MFC-425CN |
MFC-440CN | MFC-465CN | MFC-5440CN | MFC-5460CN | MFC-5840CN |
MFC-5860CN | MFC-620CN | MFC-640CW | MFC-660CN | MFC-665CW |
MFC-680CN | MFC-685CW | MFC-7220 | MFC-7225N | MFC-7420 |
MFC-7820N | MFC-820CW | MFC-845CW | MFC-8460N | MFC-8660DN |
MFC-8670DN | MFC-885CW | MFC-8860DN | MFC-8870DW | MFC-9420CN |
MFC-9440CN | MFC-9840CDW |
brscan3-Treiber | ||||
MFC-250C | MFC-255CW | MFC-290C | MFC-295CN | MFC-297C |
MFC-490CW | MFC-495CW | MFC-5490CN | MFC-5890CN | MFC-6490CW |
MFC-6890CDW | MFC-7320 | MFC-7340 | MFC-7440N | MFC-7450 |
MFC-7840N | MFC-7840W | MFC-790CW | MFC-795CW | MFC-8370DN |
MFC-8480DN | MFC-8680DN | MFC-8880DN | MFC-8890DW | MFC-990CW |
DCP-145C | DCP-163C | DCP-165C | DCP-167C | DCP-185C |
DCP-195C | DCP-375CW | DCP-383C | DCP-385C | DCP-387C |
DCP-585CW | DCP-6690CW | DCP-7030 | DCP-7040 | DCP-7045N |
DCP-8080DN | DCP-8085DN | DCP-9040CN | DCP-9045CDN | DCP-J515W |
DCP-J715W | MFC-250C | MFC-253CW | MFC-255CW | MFC-257CW |
MFC-290C | MFC-295CN | MFC-297C | MFC-490CW | MFC-495CW |
MFC-5490CN | MFC-5890CN | MFC-5895CW | MFC-6490CW | MFC-6890CD |
MFC-7320 | MFC-7340 | MFC-7345N | MFC-7440N | MFC-7450 |
MFC-7840N | MFC-7840W | MFC-790CW | MFC-795CW | MFC-8370DN |
MFC-8380DN | MFC-8480DN | MFC-8680DN | MFC-8880DN | MFC-8890DW |
MFC-9010CN | MFC-9120CN | MFC-9320CW | MFC-9440CN | MFC-9450CDN |
MFC-9840CDW | MFC-990CW | MFC-J220 | MFC-J265W | MFC-J270W |
MFC-J410 | MFC-J410W | MFC-J415W | MFC-J615W | MFC-J630W |
brscan4-Treiber | ||||
MFC-7860CW |
DCP-7055 | DCP-7057 | DCP-7060D | DCP-7065DN | DCP-7070DW | DCP-9055CDN | DCP-9270CDN | DCP-J525W | DCP-J725DW | DCP-J925DW | HL-2280DW | MFC-7360 | MFC-7360N | MFC-7362N | MFC-7460DN | MFC-7470D | MFC-7860DN | MFC-7860DW | MFC-8690DW | MFC-9460CDN | MFC-9465CDN | MFC-9560CDW | MFC-9970CDW | MFC-J280W | MFC-J425W | MFC-J430W | MFC-J432W | MFC-J435W | MFC-J5910DW | MFC-J625DW | MFC-J6510DW | MFC-J6710DW | MFC-J6910DW | MFC-J825DW | MFC-J835DW |
Konfiguration¶
Damit der Scanner auch für Benutzer mit Standardrechten nutzbar ist, müssen noch die Zugriffsrechte per udev angepasst werden. Diese Anleitung folgt im wesentlichen dem Original 🇬🇧 .
Hinweis:
Ist das Gerät angeschaltet und angeschlossen, ist es nach den (unten genannten) Änderungen ggf. aus- und wieder einzuschalten.
Ubuntu Lucid 10.04 und Maverick 10.10 und Natty 11.04¶
Variante 40-libsane.rules¶
Die Datei /lib/udev/rules.d/40-libsane.rules in einem Editor [2] mit Root-Rechten [3] öffnen. Den folgenden Eintrag an das Ende der Geräte Liste einfügen (vor der Linie "# The following rule will disable ...") und abspeichern.
# Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"
Danach die Einstellungen mit Root-Rechten [3] neu einlesen:
sudo /etc/init.d/udev restart
bzw. neuerdings
sudo service udev restart
Wer sicher gehen möchte startet den Rechner und den Scanner neu bzw. schaltet letzteren aus und wieder ein.
Variante 55-libsane.rules¶
Achtung: Die obenstehende Anpassung der Rechte funktioniert NICHT bei allen Brother Scannern. Bei einigen Modellen wie zumindest dem DCP-115C und dem DCP-7010 muss eine andere Datei editiert werden:
Die Datei /etc/udev/rules.d/55-libsane.rules in einem Editor [2] mit Root-Rechten [3] öffnen bzw. neu erstellen, da sie meistens noch nicht existiert. Folgende Zeilen sind dann in die Datei zu kopieren:
# USB devices (usbfs replacement) SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666" SUBSYSTEM=="usb_device", MODE="0666"
Nach dem Abspeichern müssen die neuen Einstellungen mit Root-Rechten [3] eingelesen werden:
sudo service udev restart
Zusätzlich für Natty 11.04¶
Hier muss gegebenenfalls noch zusätzlich die Datei /etc/sane.d/brother.conf angelegt werden. Diese hat den folgenden Inhalt (dabei bitte die <device ID> in der letzten Zeile durch die eures Scanner ersetzen! )
#Ubuntu Natty # Brother USB # For libusb support for unknown scanners use the following command # usb <product ID> <device ID> usb 04f9 01e9
Herausfinden kann man diese mit der Terminaleingabe [4] von:
lsusb
Nachdem der richtige Treiber installiert worden ist.
Zusätzlich für Oneiric 11.10 - 64-bit¶
Es sind die Dateien aus /usr/lib64/sane nach /usr/lib/sane und die Dateien aus /usr/lib64 nach /usr/lib zu kopieren, siehe auch FAQ-Brother
Scanner über Netzwerk nutzen¶
Je nachdem welches 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.
Für MODEL-NAME den exakten Namen laut brscan Paket verwenden. Die unterstützten Modelle werden durch Eingabe des folgenden Befehls angezeigt:
brsaneconfig3 -q
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_C42F85
→ BRN_C42F85.local
.
Die 2. Methode liefert den Hostnamen in genau der Form, die brsaneconfig erwartet.
1. Am Gerät selbst
2. mit nmap und tracepath
3. über das Tool "BRADmin Light
"
Zu 1: 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.
Zu 2:
Die IP-Adresse des Scanners kann in der Regel leicht mit nmap
herausgefunden werden. Haben die Geräte im Netzwerk beispielsweise Adressen der Form 192.168.150.xxx
, liefert
nmap 192.168.150.*
eine Übericht 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
Zu 3:
Von Brother gibt es ein praktisches Tool mit dem Namen "BRAdmin Light
". Dieses steht auf dieser Seite 🇬🇧 zum Download zu Verfügung. Auf der Webseite muss man die Datei BRAdmin Light auswählen und herunterladen.
Hinweis!
Fremdsoftware kann das System gefährden.
Zur Ausführung dieses Programms wird Java 1.4.2 oder höher benötigt. Welche Java-Version man installiert hat, kann man über den Befehl
java -version
herausfinden. Hat man die Datei heruntergeladen, muss man den enthaltenen Ordner an einen beliebigen Ort entpacken [5]. Anschließend öffnet man den neu erstellten Ordner und öffnet die Datei BRAdmin Light.jar Es ist wichtig, dass die Datei mit dem Programm Sun Java 6 Runtime geöffnet wird. Es werden alle erkannten Geräte angezeigt, mit entsprechender IP-Adresse und Knotennamen (=Hostnamen).
Nun muss für das entsprechende Modell der richtige Hostname / die richtige IP-Adresse eingetragen werden. Beim Model MFC-5460CN (Bild) 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
Anschalten und Scannen¶
Jetzt kann man den Scanner anschalten und mit einem beliebigen Scan-Programm testen. Als grafisches Frontend empfehlen sich z.B. XSane, Kooka oder gscan2pdf.
Scankey-Tool¶
Das Scankey-Tool ist optional und ermöglicht es, den Scanner mit der "Scanner"-Taste am Gerät zu steuern.
Installation¶
Das Scankey-Tool benötigt
sane-utils (universe )
Befehl zum Installieren der Pakete:
sudo apt-get install sane-utils
Oder mit apturl installieren, Link: apt://sane-utils
Nach der Installation von sane-utils kann das Tool heruntergeladen 🇬🇧 und wie gewohnt installiert werden [6].
Hinweis!
Fremdpakete können das System gefährden.
Das Scankey-Tool sollte alle angeschalteten Geräte automatisch erkennen. Zuerst wird das Hintergrundprogramm gestartet, danach werden alle erkannten Geräte angezeigt:
brscan-skey # Hintergrundprogramm starten brscan-skey -l # Parameter "-l" zeigt alle gefundenen Geräte
Man sollte eine ähnliche Ausgabe wie diese hier bekommen:
BrotherNetzScanner : brother2:net1;dev0 : 192.168.178.30 Active BrotherUSBScanner : brother2:bus2;dev1 : USB Active
Als Standard wird die erste Ethernet Schnittstelle (eth0) genutzt. Wenn dies nicht die tatsächlich genutzte Schnittstelle ist, muss man die Konfigurationsdatei /usr/local/Brother/sane/brscan-skey-<version>.cfg editieren [2] [3]. Es muss eine Zeile ergänzt werden, in der die richtige Netzwerkschnittstelle angegeben werden muss. Beispiel:
eth=ath0
Nach Änderung und Neustart des Scankey-Tools arbeitet es wie gewünscht.
Automatischer Start¶
Es ist zwar nicht zwingend nötig, aber im Normalfall wird das Scankey-Tool beim Anmelden eines Benutzers mitgestartet [7]. Ansonsten muss das Tool vor jeder Verwendung manuell gestartet werden [8].
Verwendung¶
Nach einem Druck auf die "Scanner"-Taste am Gerät gibt es vier Wahlmöglichkeiten (mit Pfeiltasten auswählen, mit "Start" bestätigen):
In eine E-Mail scannen
Als Bild scannen (mit GIMP öffnen)
OCR-Scan
In eine Datei scannen (landet im Ordner brscan im Homeverzeichnis)
Zum E-Mail-Versand versucht Scankey den MTA sendmail zu nutzen. Dieser ist in der Standard-Installation von Ubuntu nicht enthalten. Da sendmail relativ schwer zu konfigurieren ist, wird an dieser Stelle die Installation von Postfix empfohlen. Ist Postfix korrekt eingerichtet, müssen im Verzeichnis /usr/local/Brother/sane noch die Dateien brscan_mail.config und brscan_mailmassage.txt angepasst werden. Die nötigen Einstellungen sind selbsterklärend und beschränken sich auf "Absender", "Zieladresse", "Betreff", "Nachricht".
Scankey-Tool Optimierung¶
Nach der Installation empfiehlt es sich, die Datei /usr/local/Brother/sane/script/scantofile-0.2.1-3.sh mit Root-Rechten wie folgt anzupassen:
Auflösung¶
resolution=100
durch
resolution=300
ersetzen, um eine angemessene Scan-Qualität (300 dpi) zu erhalten.
Dateiname¶
output_file=`mktemp ~/brscan/brscan.XXXXXX`
durch die zwei Zeilen
output_file=~/brscan/brscan_""`date +%F_%H-%M-%S` touch $output_file
ersetzen, um einen Dateinamen zu erhalten, der statt kryptischen Zufallszeichen das Datum und die Uhrzeit des Scanzeitpunktes enthält.
Dateiformat¶
Für diese Änderung(en) wird das Programm pnmtojpeg oder pnmtops verwendet, das Teil des Paketes netpbm ist. Also auch noch das Paket
netpbm (main)
aus den Ubuntu Quellen installieren. Dann die Zeile
scanimage --device-name "$device" --resolution $resolution> $output_file
durch die drei Zeilen
scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ | pnmtojpeg --quality=90 > "$output_file".jpg rm $output_file
ersetzen, um als Resultat eine jpg-Datei in angemessener Qualität (90%) zu erhalten, anstelle einer Datei im platzraubenden pnm-Format und mit zufälliger Dateinamenerweiterung. (Bem.: Die obigen Parameter "-l 0 -t 0 -x 210.00 -y 292.00" dienen einer geeigneteren Auswahl des Scanbereichs für das DIN-A4-Format [Erfahrung mit Brother MFC-7820N])
PDF-Format¶
Man kann auch die folgenden vier Zeilen verwenden:
scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 295.00 \ | pnmtops -imagewidth 8.26 -nocenter | gs -q -dNOPAUSE -sDEVICE=pdfwrite \ -sOutputFile=- - > "$output_file".pdf rm $output_file
Dies erzeugt die Ausgabe in eine PDF-Datei statt in eine JPG-Datei. (Bem.: Die obigen Parameter "-l 0 -t 0 -x 210.00 -y 295.00" und "-imagewidth 8.26 -nocenter" dienen einer geeigneteren Bereichsauswahl für das DIN-A4-Format für optimales Ergebnis [Erfahrung mit Brother MFC-7820N])
Scan-Zielverzeichnis in Dateimanager automatisch öffnen¶
Um nach dem Scanvorgang gleich das Zielverzeichnis im Dateimanager zu öffnen, folgende Zeilen am Ende des Skriptes hinzufügen:
# Open file manager showing the target directory of the scan: # Use a file browser that is available in the current Linux installation. # 1st choice: nautilus (gnome default file manager) # 2nd choice: konqueror (KDE default file manager) # 3rd choice: dolphin (KDE default simple file manager) if [ "`which nautilus`" != '' ];then nautilus ~/brscan else if [ "`which konqueror`" != '' ];then konqueror ~/brscan else if [ "`which d3lphin`" != '' ];then d3lphin ~/brscan fi fi fi
Beispiel einer kompletten verbesserten Datei "scantofile-0.2.1-3.sh"¶
Dies ist ein Beispiel einer kompletten Skript-Datei nach Umsetzung obiger Verbesserungen:
#! /bin/sh set +o noclobber # # $1 = scanner device # $2 = friendly name # # MJ: 100|150|200|300|400|600|1200|2400|4800|9600dpi [200] # MJ: Original was 100. E.g. for the MFC-7820N the maximum is 2400x600 (9600 with interpolation) # # MJ: Set output path and resolution as desired: # MJ: Original: #resolution=100 # MJ: Better: normal=300. HQ=600: resolution=300 output_path=~/brscan device=$1 mkdir -p $output_path if [ "`which usleep`" != '' ];then usleep 10000 else sleep 0.01 fi # MJ: Original: #output_file=`mktemp ~/brscan/brscan.XXXXXX` # MJ: Better: time stamp instead of random characters: See next two lines: output_file=$output_path""/brscan_""`date +%F_%H-%M-%S` touch $output_file chmod 644 $output_file echo "scan from $2($device) to $output_file" # MJ: Original: #scanimage --device-name "$device" --resolution $resolution> $output_file # MJ: Modified: #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 > $output_file # MJ: PNG: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ #| pnmtopng > "$output_file".png #rm $output_file # MJ: JPG: (requires installation of the packet "netpbm") scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ | pnmtojpeg --quality=90 > "$output_file".jpg rm $output_file # MJ: PS: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ #| pnmtops -dpi $resolution -equalpixels > "$output_file".ps #rm $output_file # MJ: PDF: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 295.00 \ #| pnmtops -imagewidth 8.26 -nocenter | gs -q -dNOPAUSE -sDEVICE=pdfwrite \ #-sOutputFile=- - > "$output_file".pdf #rm $output_file # MJ: FINALLY: Open file manager showing the target directory of the scan: # Use a file browser that is available in the current Linux installation. # 1st choice: nautilus (gnome default file manager) # 2nd choice: konqueror (KDE default file manager) # 3rd choice: dolphin (KDE default simple file manager) if [ "`which nautilus`" != '' ];then nautilus $output_path else if [ "`which konqueror`" != '' ];then konqueror $output_path else if [ "`which d3lphin`" != '' ];then d3lphin $output_path fi fi fi
Tipp¶
Wenn man z.B. das Einscannen per Scan-Key direkt in eine Text-Datei (OCR) nicht benötigt, kann man diese Funktionen nach Belieben umdefinieren. Generell sind die vier Funktionen im Drucker-Display den folgenden Dateien in /usr/local/Brother/sane/script/ wie folgt zugeordnet:
Brother Menü "Scannen: Datei " : scantofile-0.2.1-3.sh
Brother Menü "Scannen: Text " : scantoocr-0.2.1-3.sh
Brother Menü "Scannen: E-Mail" : scantoemail-0.2.1-3.sh
Brother Menü "Scannen: Bild " : scantoimage-0.2.1-3.sh
Zum Beispiel kann man die Datei scantoocr-0.2.1-3.sh mit dem identischen Inhalt wie scantofile-0.2.1-3.sh versehen und lediglich diejenigen Parameter ändern, die man gerne als zweite Option noch am Drucker verfügbar hätte (z.B. Ziel=PDF-Datei statt JPG-Datei, siehe oben).
Links¶