Drucker Brother DCP-540CN auf CachyOS zum laufen bekommen

RiZaR

Freizeitschrauber(in)
Linux Noob, frisch CachyOS installiert und vergeblich versucht, meinen altgedienten Brother DCP-540CN aus dem Jahre 2008 zum laufen zu bekommen. Es ist ein Multifunktions Tintenstrahler mit Scanner, welcher neben dem Drucker auch funktionieren sollte. Der Drucker ist über USB und neuerdings auch über LAN angeschlossen und wird prinzipiell auch vom Betriebssystem erkannt, es fehlen aber (die richtigen) Treiber.
Habe bereits einiges probiert bzw. in die Wege geleitet, leider ohne Erfolg:
  • CUPS installiert
  • Offizielles Brother Tool linux-brprinter-installer-2.2.6-0 geladen und versucht, auszuführen
  • Offizielle Brother Treiber heruntergeladen (liegen aber nur als .rpm und .deb für andere Linux-Distributionen vor)
  • mittels http://localhost:631/admin versucht, einen Treiber zu finden und zu installieren, kein Treiber gelistet
  • Versucht, über Wine/Bottles64 die Windowstreiber des Druckers zu installieren, geht erwartungsgemäß nicht
Die vorliegenden Treiber gehen nicht auf Arch-Linux, man kann sie angeblich irgendwie umwandeln, keine Ahnung wie.
Das offizielle Brother Tool linux-brprinter-installer-2.2.6-0 hat eine Anleitung. Hier komme ich bis zu Step6:
Run the tool:
Command: bash linux-brprinter-installer-*.*.*-* Brother machine name
e.g. bash linux-brprinter-installer-2.1.1-1 MFC-J880DW
Ich erhalte statt der nun zu erfolgenden Installation stattdessen die Fehlermeldung "Rpm or dpkg is required" und es geht nicht weiter.
Über den localhost kann man auch eine "PPD-Datei" bereitstellen. Was ist PPD und kommt man hier weiter?

Sind hier Drucker und Scanner irgendwie betriebsbereit zu bekommen?

Hier ein paar Screenshots davon:
Brother DCP-540CN Druckerinstallation Arch CachyOS Linux.jpg
Brother DCP-540CN Druckerinstallation Arch CachyOS Linux localhost:631.jpg
 
pkgbuild ist Dir ein Begriff? Wenn noch nicht wäre es nicht verkehrt sich damit zu beschäftigen.

Ist nicht so schwer wie es aussieht.
 
Danke für die Antworten. Ja dieses PKBUILD war diese Art von "Umwandlung", die ich meinte. Leider kapiere ich auch nach dem Lesen des Artikels aus deinem Link garnichts. Sehr verwirrend. Da stehen viel zu viele Kommentare, die nicht die konkrete Anleitung darstellen und ich kann die eigentliche Anleitung nicht gedanklich raus extrahieren, ist mir im Moment zu hoch. Ich versuche mal mein Glück auf Youtube mit einer Schritt-für-Schritt Anleitung für blutige Anfänger, wie ich rpm Dateien in Arch-kompatible Dateien umwandle, bzw. diese dann benutzen kann.

Diese fertige Binary von AUR: Wie genau lade ich da etwas herunter? Unten bei dem Link bei "Quelle"? Dieser führt zur Brother-Website, von der ich bereits den exakt gleichnamigen Treiber heruntergeladen habe (also den für Redhat bzw. Debian, siehe mein Screenshot von meinem Download-Ordner mit den Brother Treibern) Oder ist diese Binary eine andere, bereits für Arch angepasste Version? Falls ja, was kann ich nun wie damit anfangen?

Im Moment ist alles aus der Linuxwelt so neu für mich, dass ich nichtmal weiß, was eine "Binary" überhaupt ist.
 
Diese fertige Binary von AUR: Wie genau lade ich da etwas herunter?
Im Paketmanager. Schau, ob du da irgendwo Einstellungen zu den Repositories findest, da solltest du das AUR als Quelle aktivieren und entsprechende Pakete runterladen können. Allerdings sei dazu gesagt, dass das AUR ein Repository von Usern für User ist und es deswegen im Vergleich zu den offiziellen Repositories von Linux-Distributionen deutlich weniger geprüft wird. Dementsprechend sollte man ein bisschen schauen, was man von da so runterlädt.
Im Moment ist alles aus der Linuxwelt so neu für mich, dass ich nichtmal weiß, was eine "Binary" überhaupt ist.
Ein Binary beschreibt allgemein eine schon kompilierte Datei im Gegensatz zu noch zu kompilierendem Quellcode. Die meisten Distros verteilen ihre Pakete als Binärpakete, im AUR gibt es aber sowohl Pakete, die der Paketmanager dann noch kompilieren muss/kann als auch Binärpakete. Letztere sind meist durch ein "bin" im Namen gekennzeichnet.
 
Ok ich finde zwar im "CachyOS Paket-Installationsprogramm" keine Einstellungen zum Einblenden von AUR-Paketen (außer einen Haken setzen für Bibliotheken und Entwicklerpakete anzeigen), konnte aber über das Terminal mit yay -S brother-dcp540cn-cups-bin diese Binary herunterladen und installieren. Mehr zufällig ins blaue hinein geraten, dass auf der AUR-Website der Name unter "Paketbasis" vielleicht das zu installierende Programm sein könnte. Hat anscheinend funktioniert. Aber die nächsten Noob Fragen folgen sogleich: Und jetzt? Hat das jetzt schon den Druckertreiber installiert? Ich habe nun jedenfalls in /var/lib/pacman/local/brother-dcp540cn-cups-bin-1.0.1-1/ neu erstellte Dateien gefunden. Über localhost wird der Drucker nach wie vor nicht gefunden. Wie geht es jetzt weiter? Bin hier ziemlich lost.

CachyOS dcp540cn bin geladen 1.jpg
CachyOS dcp540cn bin geladen 2.jpg
 
Über localhost wird der Drucker nach wie vor nicht gefunden. Wie geht es jetzt weiter? Bin hier ziemlich lost.
Entscheide dich, ob der Drucker per LAN oder USB betrieben werden soll. Ich würde Netzwerk empfehlen. Finde heraus, welche IP der Drucker dann hat.

Versuche dann mal
Code:
lpadmin -p "Brother_DCP540CN" -v "socket://192.168.10.X:9100" -E -P /usr/share/cups/model/brdcp540cn.ppd
* Die IP entsprechend anpassen.

Das hinter dem -P ist der Pfad zu Druckerdatei. Falls die nicht stimmt, dann mit dem folgenden Befehl danach suchen,
Code:
find /usr/share/cups/model/ /usr/share/ppd/ -name "*dcp540cn*"
und dann den Pfad im Befehl davor entsprechend anpassen.

Eine Sache noch: Der Treiber von Brother ist ein 32-Bit-Treiber. Es kann sein, dass es alleine daran schon scheitert. Aber versuche ruhig dein Glückt.


Edit:
Das AUR-Paket entpackt nur einige Dateien auf dem Rechner. Unter anderem eine Datei mit Namen "cupswrapperdcp540cn". Das ist ein Script, dass alle Dateien an seinen richtigen Ort kopiert.

Wechsel also in das Verzeichnis des Archivs
Code:
cd /usr/local/Brother/Printer/dcp540cn/cupswrapper

Und führe dort das Script aus
Code:
sudo ./cupswrapperdcp540cn

Danach ist die PPD Datei unter
Code:
/usr/share/cups/model/brdcp540cn.ppd

und mit passender IP sollte
Code:
lpadmin -p "Brother_DCP540CN" -v "socket://192.168.10.X:9100" -E -P /usr/share/cups/model/brdcp540cn.ppd
dich vielleicht schon ans Ziel bringen.

Mit der PPD Datei in der Hand sollte das dann aber auch per GUI gehen. Cups per Terminal ist aber witziger, weil lernt man was ;)

Edit2:
Das Cups Wrapper Script legt bei mir den Drucker als USB Drucker mit Warteschlange an. Vielleicht klappt USB damit schon direkt. Falls nicht, dann würde ich den USB Schmodder entfernen und den Drucker per LAN einbinden.

Eine List der installierten Drucker sieht man mit
Code:
lpstat -p

Und einen Drucker löschen geht mit
Code:
sudo lpadmin -x "NAME_DES_ZU_LOESCHENDEN_DRUCKERS"
 
Zuletzt bearbeitet:
Folgende 2 Befehle kannst du im Terminal eingeben und Bestätigen, wenn dein Drucker per Lan im Netzwerk hängt:

Schaue zuerst welche IP Adresse du für deinen Drucker hast, mit dem Befehl:

lpstat -v siehst du die IP Adresse.

Dann, folgender Befehl im Terminal mit "deiner richtigen Drucker IP Adresse" ergänzen, die du ja dann herausgefunden hast und Bestätigen:

sudo lpadmin -p Brother_DCP540CN -E -v ipp://deine Drucker IP Adresse/ipp/print -m everywhere
 
Zuletzt bearbeitet:
Vielleicht eines noch, weil ich drüber gestolpert bin: Wenn dien Drucker via LAN verfügbar ist, achte darauf, dass dieser eine fixe IP von deinem Router bekommt. Denn wenn sich die IP des Druckers ändert, dann muss man den Drucker neu installieren. Jedenfalls war das bei mir so beim HP Drucker, dass ein einmal eingerichteter Drucker mit anderer IP plötzlich nicht mehr funktionierte, weil sämtliche Konfigs die IP brauchen und somit hardcoded ist.
 
Vielleicht eines noch, weil ich drüber gestolpert bin: Wenn dien Drucker via LAN verfügbar ist, achte darauf, dass dieser eine fixe IP von deinem Router bekommt. Denn wenn sich die IP des Druckers ändert, dann muss man den Drucker neu installieren. Jedenfalls war das bei mir so beim HP Drucker, dass ein einmal eingerichteter Drucker mit anderer IP plötzlich nicht mehr funktionierte, weil sämtliche Konfigs die IP brauchen und somit hardcoded ist.

STIMMT ABSOLUT, hast recht ! :daumen:

Da hatte ich eben nicht daran gedacht, sorry, hoffe TE weist fest die IP Adresse des Druckers im Router dann zu.
 
Zuletzt bearbeitet:
Ich komme bis zu dem Punkt, wo ich bei/usr/local/Brother/Printer/dcp540cn/cupswrapper/ das Script ausführen soll. Hier kommt die Fehlermeldung
ERROR : Brother LPD filter is not installed.
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf/brdcp540cnrc' nicht möglich: Datei oder Verzeichnis nicht gefunden
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf' nicht möglich: Datei oder Verzeichnis nicht gefunden

Bei einem anderen Versuch über die .deb Datei von der Brother Website den Drucker zu installieren, bekam ich die Fehlermeldung, dass der vorliegende i386 Treiber nicht mit amd64 geht. Also anscheinend ist mein System irgendwie nicht 32Bit-tauglich, wie schon angedeutet wurde.
 
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf/brdcp540cnrc' nicht möglich: Datei oder Verzeichnis nicht gefunden
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf' nicht möglich: Datei oder Verzeichnis nicht gefunden
Das ist OK. Den Fehler bekomme ich auch. Die PPD Datei liegt trotzdem unter
Code:
/usr/share/cups/model/brdcp540cn.ppd
Die brauchst du für die Einrichtung des Druckers.

Code:
❯ cd /usr/local/Brother/Printer/dcp540cn/cupswrapper

❯ sudo ./cupswrapperdcp540cn
Bitte den FIDO-Key berühren ...
ERROR : Brother LPD filter is not installed.
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf/brdcp540cnrc' nicht möglich: Datei oder Verzeichnis nicht gefunden
chmod: Zugriff auf '/usr/local/Brother/Printer/dcp540cn/inf' nicht möglich: Datei oder Verzeichnis nicht gefunden
lpadmin: Druckertreiber sind veraltet und werden in einer zukünftigen Version von CUPS nicht mehr funktionieren.

❯ ll /usr/share/cups/model/
insgesamt 80
drwxr-xr-x  3 root root  4096 25. Jun 13:00 .
drwxr-xr-x 15 root root  4096 25. Mär 2025  ..
-rw-r--r--  1 root root 19905 25. Jun 13:00 brdcp540cn.ppd
-rw-r--r--  1 root root 20952  9. Mai 08:09 CUPS-PDF_noopt.ppd
-rw-r--r--  1 root root 22310  9. Mai 08:09 CUPS-PDF_opt.ppd
lrwxrwxrwx  1 root root    33 14. Mär 11:11 foomatic-db-ppds -> /usr/share/foomatic/db/source/PPD
drwxr-xr-x  3 root root  4096  4. Nov 2024  gutenprint

❯ lpstat -p
Drucker DCP540CN ist im Leerlauf.  Aktiviert seit Do 25 Jun 2026 13:01:02 CEST
Drucker HP_OfficeJet_Pro_9120e ist im Leerlauf.  Aktiviert seit Mi 24 Jun 2026 20:53:21 CEST

❯ sudo lpadmin -x DCP540CN

❯ lpstat -p
Drucker HP_OfficeJet_Pro_9120e ist im Leerlauf.  Aktiviert seit Mi 24 Jun 2026 20:53:21 CEST

❯ lpadmin -p "Brother_DCP540CN" -v "socket://<die-ip-des-druckers>:9100" -E -P /usr/share/cups/model/brdcp540cn.ppd
lpadmin: Druckertreiber sind veraltet und werden in einer zukünftigen Version von CUPS nicht mehr funktionieren.

❯ lpstat -p
Drucker Brother_DCP540CN ist im Leerlauf.  Aktiviert seit Do 25 Jun 2026 13:03:00 CEST
Drucker HP_OfficeJet_Pro_9120e ist im Leerlauf.  Aktiviert seit Mi 24 Jun 2026 20:53:21 CEST
 
Zuletzt bearbeitet:
Vielleicht eines noch, weil ich drüber gestolpert bin: Wenn dien Drucker via LAN verfügbar ist, achte darauf, dass dieser eine fixe IP von deinem Router bekommt. Denn wenn sich die IP des Druckers ändert, dann muss man den Drucker neu installieren. Jedenfalls war das bei mir so beim HP Drucker, dass ein einmal eingerichteter Drucker mit anderer IP plötzlich nicht mehr funktionierte, weil sämtliche Konfigs die IP brauchen und somit hardcoded ist.

STIMMT ABSOLUT, hast recht ! :daumen:

Da hatte ich eben nicht daran gedacht, sorry, hoffe TE weist fest die IP Adresse des Druckers im Router dann zu.

Deswegen nimmt man an der Stelle ja auch keine IP sondern den Hostname vom Drucker, dann hat man damit auch keine Probleme...
 
Kann es gar nicht. Denk doch mal logisch: Woher soll CUPS die IP denn herbekommen? CUPS ist dumm.

Oder hast du
Code:
lpinfo -v
gemeint? Weil damit listet man sich alle im Netzwerksegment erreichbaren Drucker samt ihren Schnittstellen auf.
 
Kann es gar nicht. Denk doch mal logisch: Woher soll CUPS die IP denn herbekommen? CUPS ist dumm.

Oder hast du
Code:
lpinfo -v
gemeint? Weil damit listet man sich alle im Netzwerksegment erreichbaren Drucker samt ihren Schnittstellen auf.

Als erstes braucht er die Drucker IP Adresse, danach das hier:

und es hat immer funktioniert:
 

Anhänge

  • 2026-06-25_16-46.png
    2026-06-25_16-46.png
    10,9 KB · Aufrufe: 6
Ok ich habe diese PPD-Datei gefunden, hatte zunächst nach diesem Error nicht mehr überprüft, ob die PPD-Datei angelegt wurde...
bei localhost bei der Einrichtung des Druckers nun die PPD angegeben und der Drucker wurde installiert. Er taucht nun beim den lpstat Befehlen und auch in den Druckmenüs von Libre Office etc. auf. Auch bei localhost ist er nun gelistet. Allerdings steht nirgendwo die Drucker-IP-Adresse (habe ihn nur über LAN angeschlossen, die Drucker-IP wurde fest im Router hinterlegt). Irgendwas scheine ich hier nicht zu beachten...
Daher kann ich auch nicht das genannte sudo lpadmin -p Brother_DCP540CN -E -v ipp://deine Drucker IP Adresse/ipp/print -m everywhere Kommando verwenden, weil keine IP-Adresse vorliegt. Habe natürlich manuell die im Drucker hnterlegte IP ins Kommando eingetragen, da passiert aber nichts.
Was genau macht dieser Befehl eigentlich?

Es passiert jedenfalls nichts wenn ich versuche, zu drucken. Ein Druckauftrag (Testseite) liegt vor mit dem Hinweis "zurückbehalten".

Ich starte den PC immer wieder dazwischen neu um auszuschließen, dass es daran liegt, weil er irgendwas nicht richtig aktualisiert wurde.

Das Gerät nochmal rausgeschmissen und wieder per USB verbunden - gleiches Spiel, Druckertreiber wird angezeigt und der Drucker taucht überall auf aber es findet kein Druck statt.
Mittlerweile raucht mir der Schädel, für heute reichts. Danke jedenfalls für die bisherige Hilfe. Am Schluss muss vielleicht nach 18 Jahren ein neuerDrucker her...

dcp540cn-2.png

CachyOS dcp540cn bin geladen 3.jpg
CachyOS dcp540cn bin geladen 4.jpg
CachyOS dcp540cn bin geladen 5.jpg
 
Am Schluss muss vielleicht nach 18 Jahren ein neuerDrucker her...

Empfehle dir: Brother DCP-L3520CDW, sehr guter Farb Laser Drucker und Scanner., läuft super unter Linux.
:daumen:



Edit: Starte einmal den Druckerdienst bei dir neu: sudo systemctl restart cups.service

dann noch einmal versuchen zu Drucken.
 
Zuletzt bearbeitet:
Zurück