• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Drucker Linux kompatible ?

HTL

NGBler

Registriert
3 Juli 2018
Beiträge
213
  • Thread Starter Thread Starter
  • #21
In den meisten englischsprachigen Foren wird berichtet das ein Port freigegeben werden muss. Ich fand nur eine genaue Erklärung in deutsch die den Vorgang beschreibt, vielleicht hilft es Dir?

Code:
So, ich habe es jetzt am Laufen - hier kurz, wie's geht:



1. Autodiscovery mit Avahi/mDNS freigeben:



Das einfachste ist Autodiscovery mit Avahi (also mDNS/Zeroconf/Bonjour auf Port 5353). Dafür muß auf der Firewall für die Zone, in der man ist, der mDNS-Service freigegeben werden (also z.B. mit firewall-cmd --zone=home --add-service=mdns).

Mit avahi-browse -at kann man prüfen, welche Geräte auf dem lokalen Netzwerk für Autodiscovery sichtbar sind.



Dann funktioniert hp-setup, wenn man unter "Advanced options" als "Network discovery method" Avahi anwählt.



2. Autodiscovery mit SLP freigeben



Manchmal kann Avahi ausreichend sein, z.B. wenn man die Methode nicht auswählen kann (Beispiel: unter VueScan einen HP-Netzwerkscanner einrichten). HPLIP verwendet standardmäßig SLP, das man entsprechend auf der Firewall freigeben muß. Das Problem ist dabei, daß die Standard-SLP-Freigabe auf Port 427 in der Firewall nicht reicht - hp-setup sendet seine SLP-Pakete von hohen UDP-Ports. Die Antwortpakete kommen dementsprechend nicht auf dem Standardport 427 an und bleiben in der Firewall hängen.



Um das zu lösen, muß man bei ausgehenden SLP-Verbindungen dynamisch Ausnahmen für die Antwortpakete in der Firewall anlegen lassen. Standardmäßig kann die Firewall das für FTP, SIP usw., nicht aber für SLP. Hierfür brauchen wir die zu Netfilter gehörenden Pakete conntrackd und conntrack-tools, die Hilfsprogramme für eine Rieihe weiterer Protokolle enthalten. Damit geht die Freigabe wie folgt:



- In der Conntrack-Konfigurationsdatei (/etc/conntrackd/conntrackd.conf) die Auskommentierung für den Abschnitt "Helper" und für den SLP-Helper entfernen - für alle anderen Helper nicht unbedingt

- Helper für SLP aktivieren: nfct add helper slp inet udp (nfct kommt aus dem Conntrack-Tools-Paket)

- Conntrackd starten (systemctl start conntrackd.service)

- Firewallregeln für ausgehende SLP-Pakete anlegen, mit denen dafür das Connection tracking aktiviert wird:

Code
 # firewall-cmd --direct --get-all-rules
ipv4 raw OUTPUT 0 -m addrtype --dst-type MULTICAST -p udp --dport 427 -j CT --helper slp
ipv4 raw OUTPUT 0 -m addrtype --dst-type BROADCAST -p udp --dport 427 -j CT --helper slp
Damit läuft dann auch die Autodiscovery mit SLP.



Wenn das Ganze einen Reboot überstehen soll, muß man die Firewallregeln permanent machen und den conntrackd-Dienst aktivieren. Außerdem muß man dafür sorgen, daß *vor* conntrackd auf jeden Fall die Helper aktiviert werden, und *nach* conntrackd die Firewallregeln neu geladen werden. Das geht z.B. mit einem Drop-in für conntrackd.service:

Code
calypso:~ # cat /etc/systemd/system/conntrackd.service.d/nfct.conf
[Service]
ExecStartPre=-/usr/sbin/nfct add helper slp inet udp
ExecStartPost=/usr/bin/firewall-cmd --reload
Damit funktioniert die Autodiscovery auch nach einem Neustart, ohne daß man die Firewall offen stehen lassen muß.
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
Ich probiere das, Danke. Nur er findet den Drucker auch nicht via USB Verbindung: No Device Found o.ä.

Auch da mal die USB ID eingetragen (lsusb), aber "No Devices Found"

:(
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
HTL:
Naja, kann man evtl. so machen. Aber das ganze mDNS-/Zeroconf-/Avahigeraffel ist bei _einem_ Drucker reichlich überflüssiger Ballast. Mit dem Zeug sollen sich die Geräte in einem Netzwerk analog zu IPv6 selbst Adressen zuweisen, und damit dann im Netzwerk gefunden zu werden, egal ob ein Netzwerk konfiguriert wurde oder nicht.

Steev:
Ich glaub, du hast Pech mit dem Drucker. Das ist zwar ein HP, hat wohl aber Samsung-Technik verbaut (und das ist treibermäßig äußerst suboptimal). Sieh mal dazu hier nach. Du brauchst für den Drucker nicht die hplip sondern das verlinkte Treiberpaket. Da sollte dann auch der Scannertreiber mit dabei sein.
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
Vielen Dank!

ich klaue mal die Lösung hier ins ngb:

Code:
cd ~/Downloads
wget https://ftp.hp.com/pub/softlib/software13/printers/MFP170/uld-hp_V1.00.39.12_00.15.tar.gz
tar -xf uld-hp_V1.00.39.12_00.15.tar.gz
cd ~/Downloads/uld
sudo bash install.sh

Funktiniert damit!
 

Pleitgengeier

offizielles GEZ-Haustier

Registriert
14 Juli 2013
Beiträge
7.375
Ort
127.0.0.1
Ich suche gerade einen Farbdrucker mit guter Linux-Unterstützung - auch für Drucken per W-LAN

Mit Brother habe ich bisher gute Erfahrungen, außer dass bei einigen ~20 Jahre alten Modellen auf Linux der Scanner an USB3 nicht mehr funktioniert (eventuell weil die Linux-Treiber deutlich älter sind als USB3?) was zunehmend ein Problem wird da Mainboards seit langem nur noch USB3 haben

Wenn ich nun für das gewählte Modell auf der Brother-Seite Linux-Treiber finde und das Modell nicht steinalt ist, kann ich dann bedenkenlos zuschlagen?
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Wenn ich nun für das gewählte Modell auf der Brother-Seite Linux-Treiber finde und das Modell nicht steinalt ist, kann ich dann bedenkenlos zuschlagen?
Nein, kannst du nicht. Alles wissenswerte steht eigentlich auf der Seite vorher: Suche bei Druckerchannel, Openprinting, Sane. Dazu solltest du auch noch die Druckkosten im Auge behalten.

Und wie ich ebenfalls schon eine Seite vorher geschrieben hab, ist es eigentlich optimal, wenn sowohl Drucker als Scanner von Linux out of the box , d.h. über CUPS (bzw. Driverless Printing) und Sane unterstützt werden, ohne dass ein Treiber von der Herstellerseite nachinstalliert werden muss.
 

Pleitgengeier

offizielles GEZ-Haustier

Registriert
14 Juli 2013
Beiträge
7.375
Ort
127.0.0.1
Und wie ich ebenfalls schon eine Seite vorher geschrieben hab, ist es eigentlich optimal, wenn sowohl Drucker als Scanner von Linux out of the box , d.h. über CUPS (bzw. Driverless Printing) und Sane unterstützt werden, ohne dass ein Treiber von der Herstellerseite nachinstalliert werden muss.
Ich weiß dass das optimal ist/wäre.

Aber muss man wirklich davon ausgehen dass von Brother angebotene Linux-Treiber schlicht nicht funktionieren oder gilt das nur für GPL-Puristen die proprietäre Treiber generell ablehnen?
Ich habe kein Problem mit proprietären Treibern, nur funktionieren müssen sie...
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
gilt das nur für GPL-Puristen die proprietäre Treiber generell ablehnen?
Hübsch ausgedrückt. Ich hab allerdings wesentlich pragmatischere Gründe.

Konkret:
Vor einigen Jahren hatte ich für meinen Vater einen Brother HL-2135w gekauft, den Treiber runtergeladen und installiert. OS war und ist noch immer (seit 9 Jahren) ein Arch-LInux. Nach ein paar Jahren wollte das Teil nicht mehr drucken. Irgendein Cups-Filter aus dem Treiberpaket hat halt das Update nicht mehr überlebt. Es hat mich durchaus einige Stunden gekostet, bis ich den Fehler gefunden hatte. Eine einfache Reinstallation des Treiber brachte keinen Erfolg. Da der Drucker nicht sehr oft gebraucht wird, war das auch nicht so leicht zu entdecken.

Ich hatte über 10 Jahre lang einen Samsung CLP-315w im Einsatz. Zum Kaufzeitpunkt war der Drucker nahezu konkurrenzlos - kompakt und günstig. Samsung lieferte ein Unified-Linux-Treiberpaket. Nach der Installation poppte bei jedem Aufruf des Druckdialogs eine eigene QT3-GUI hoch. Musste ich auch erst rausoperieren. Das Drucken funktionierte übrigens so, dass der Druckauftrag in die Samsung Printing Language übersetzt wird. Bedenkt man, dass es Standards gibt, ist so ein Konstrukt ein konzeptionelles Desaster.

Warum sind solche Treiberpakete jetzt schlecht:
  • Die Dinger gibt's entweder in x86 oder x86_64. Was machst du, wenn ARM mal in Mode kommt, wie das gerade bei Apple der Fall ist.Besteht der Treiber aus einerm PPD, ist das kein Problem. Bei einem Binary-Treiber musst du dann hoffen, dass der Hersteller einen für ARM kompilierten Treiber rausbringt. Passiert das nicht, kannst du den Drucker auf die Halde schaffen.
  • Die Treiberpakete bekommen meist noch 1-2 Jahre nach der Markteinführung des Druckers ein paar Updates. Dann ist Schluss. Irgendwann ist der Treiber so veraltet, dass du den nur noch mit Runtime-Libs wie stdc++-v3 (war beim Samsung-Treiber so) zum Laufen bekommst oder ganz inkompatibel werden. CUPS bleibt in der Entwicklung ja nicht stehen, der proprietäre Treiber hingegen schon.
  • Noch schlimmer sind eigentlich nur GDI-Drucker, bei denen die gesamte Aufbereitung vom Treiber durchgeführt wird.
Pragmatisch gesehen sind Treiberpakete einfach überflüssiger Ballast und Aufwand und potentielle Problemverursacher. Versteht der Drucker Postscript 3, PCL 6 und unterstützt Mobile Printing/Airprint, bist du auf der sicheren Seite.
 
Zuletzt bearbeitet:

dexter

Cloogshicer®
Teammitglied

Registriert
14 Juli 2013
Beiträge
5.383
Pragmatisch gesehen sind Treiberpakete einfach überflüssiger Ballast und Aufwand und potentielle Problemverursacher. Versteht der Drucker Postscript 3, PCL 6 und unterstützt Mobile Printing/Airprint, bist du auf der sicheren Seite.
Ich hab das Problem grad bei einer dezent älteren aber engagierteren Dame. Die hat Mint 19 will aber 21 weil da in den Paktquellen irgendein semigeiles Programm drin ist, was komfortabl für onlinefernsehen ist. (Hat die selber rausgefunden...)
Dist-upgrade und/oder mint-upgrade meint sinngemäss: erst Fremdpakete deinstalliern: Brother&Co.
Die ältere Dame meint: Oh, ok, machen wir besser andermal.

tl:dr: Treiberpakete (bzgl Drucker) sind kein Ballast, sondern Scheissdreck.
 

Pleitgengeier

offizielles GEZ-Haustier

Registriert
14 Juli 2013
Beiträge
7.375
Ort
127.0.0.1
Und welcher Hersteller bietet nun CUPS-Treiber direkt an?
Epson & Brother werden auf der ersten Seite des Threads empfohlen weil sie immerhin Linux-Treiber bieten, auf der zweiten steht nun dass die auch doof sind.
Ich vermute, was man auf Gutenprint und Openprinting so findet ist eher durch reverse engineering entstanden...
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Nein, ist es nicht [Reverse Engineering]. Du musst an der Stelle vom Windows-Denken weg.

Ein Drucker beherrscht diverse Sprachen: Filter aufklappen -> Druckersprachen. Vor ca. 25 Jahren war Postscript eher auf die Büro-Laserdrucker beschränkt. Die ganzen billigen Heim-Schrottdrucker waren ausschließlich GDI-Drucker. Mittlerweile hat es sich etabliert, dass Drucker halt Postscript (3), PCL (5 oder 6) und sogar PDF verstehen.

Letzteres bedeutet, dass du einen USB-Stick mit einem PDF am Drucker anstöpselst und der Drucker in der Lage ist, das PDF zu drucken. Du brauchst dazu nicht mal einen Computer. Und so funktioniert ansich auch Mobile Printing. Du schickst vom Smartphone PDF-, Postscript- oder Bilddateien an den Drucker. Android kennt keine Druckertreiber, iOS vermutlich auch nicht.

Ein Druckertreiber besteht im Optimalfall aus einer PPD-Datei. Da steht alles drin, was der Drucker kann. Die Basis dafür ist halt, dass der Drucker Postscript versteht. Die PPD-Datei wird von CUPS geladen. Und dann kann gedruckt werden. Bei dem Ricoh-Drucker, den ich gekauft hab (eine Seite vorher), konnte ich die PPD-Datei vom Drucker runterladen und in CUPS einbinden. Bei manchen Herstellern besteht der angebotene Treiber auf deren Webseite auch nur aus der PPD-Datei, die du dann halt bei der Druckerinstallation im CUPS einfach hochlädst.

Etwas umständlicher wirds, wenn der Treiber noch aus Color-Profilen besteht. Aber auch die sind systemunabhängig (Hardware, OS).

Und jetzt wird's blöd: Schlimm ist's, wenn der Treiber einen binary-compilierten (x86, x86_64) Wrapper enthält, der dann den Druckerauftrag annimmt und in irgendwas umwandelt, was der Drucker dann versteht, weil der Drucker eben kein Postscript kann. Das kostet unnötigen Rechenaufwand. Und du hast halt verloren, wenn der Wrapper aus welchen Gründen auch immer (Update, Hardware) nicht mehr läuft.

Und richtig schlimm sind halt GDI-Drucker: Das waren in der Vergangenheit hauptsächlich die Billigst-Tintenkleckser, bei denen die Tintenpatronen ein Vielfaches des Druckers gekostet haben. Da wird die komplette Druckersteuerung ausschließlich über den Treiber erledigt. Deswegen hat(te) man unter Nicht-Windows-Systemen die meisten Probleme, die Dinger zum Laufen zu kriegen.

Ich rate Dir auch nicht von Brother ab. Die Drucker laufen unter Linux sehr gut. Nur eben solltest du Dir ein Modell raussuchen und bei Druckerchannel und Openprinting nachsehen, welche Sprachen das Ding versteht und ob der Drucker zu 100% unter Linux unterstützt wird. Im Optimalfall brauchst du dann auch nicht den Treiber von Brother, weil das dazugehörige PPD schon im CUPS enthalten ist.

Nach meinen Ansprüchen würde ich von Brother über Druckerchannel die folgenden Modelle finden:
  • HL-L3230CDW
  • HL-L3270CDW
  • HL-L8260CDW
  • HL-L8360CDW
  • HL-L9310CDW
  • HL-L9310CDWT
  • HL-L9310CDWTT

Und jetzt wird's schwierig. Bei Openprinting sind die Dinger nicht mit aufgelistet. Es gibt ein Arch-Wiki, das für den HL-L3230CDM auf Github verweist. Und da findest du dann in der Dateistruktur den o.g. Wrapper und Cups-Filter. Der hier gelistete Treiber verwendet übrigens das originale RPM von Brother.

Es kann sein, dass das PPD bereits ausreicht. Ich würde den Drucker aber nicht kaufen, da ich nicht weiß, ob man den Wrapper wirklich benötigt. Aufgrund der Mobile-Printing-Unterstützung sollte das nicht notwendig sein. Wäre für mich ein Unsicherheitsfaktor.
 
Zuletzt bearbeitet:

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Weil wir grad dabei sind. Der Drucker meines Vaters weigert sich nach dem letzten Update (Arch) mal wieder. Ist ein Brother HL-2135w. Die Meldung im CUPS:

beendet am Mon Mar 14 16:47:56 2022
"Use "pdftops-renderer" option (see cups-filters README file) to use Ghostscript or MuPDF for the PDF -> PostScript conversion."
Jetzt geht die Suche wieder los.

[Update]
Hab rausgefunden, dass man die Fehlermeldung ignorieren kann. Die Testseite kam auch so raus. Ich musste das PDF mit Okular öffnen. Die generierte PDF-Seite im Firefox wollte nicht.

Unter Arch konnte ich mit RPM und DEB wenig anfangen. Zum Glück gibt's im AUR ein Paket, was den Druckertreiber runterlädt und umwandelt. Im Cups hab ich dann den neuen Treiber ausgewählt. Die Fehlermeldung taucht noch immer auf. Der "neueste" Treiber auf der Brother-Seite ist aus dem Jahr 2014 und für Fedora 10 (aktuell ist 36), dazu noch 32bit.

Damit hätte ich gleich die Bestätigung zu meinen vorherigen ausführlichen Argumentationen gebracht. Druckertreiber sind Scheiße.

Also noch mal: Nein, ich würde die o.g. Brother-Drucker nicht kaufen.

[Update 2 - Nachtrag]
Ich hab jetzt rausgefunden, dass das Ding PDFs druckt. Aber alles andere will er nicht. D.h. wenn ich eine Internetseite ausdrucken will, muss ich erst ein PDF erstellen, was ich dann hinterher mit Okular (oder anderem PDF-Reader) drucken kann. Jetzt ist das Debuggen abends 22:30 Uhr remote über VNC ziemlich blöd. Beim nächsten Familienbesuch werd ich mich wohl wieder ein paar Stunden mit dem blöden Teil auseinandersetzen müssen. Ob jetzt die 32-Bit-Architektur des Treibers im 64-Bit-Cups die Probleme verursacht, weiß ich nicht.

Ich werd dann wohl den offiziellen Brother-Treiber vollkommen wegschmeißen und mich durch diese Liste durcharbeiten.
 
Zuletzt bearbeitet:
Oben