WLAN-Drucker mit FreeBSD verknibbern

Fönwelle

Well-Known Member
Hei,

wahrscheinlich werdet ihr denken: och nö, nicht schon wieder so ein Anfänger, der seine Hardware nicht zum Laufen kriegt.

Wisst ihr was? Ihr habt vollkommen recht! Ich komm nicht weiter. Habe ich es selbst versucht? Ja. Deswegen bin ich bei euch aufgeschlagen, in der Hoffnung, Antworten zu bekommen.

Vielleicht ganz kurz, wer ich bin: schon etwas älter, früher mit MS-DOS und Win 3.1.1 rumgemacht. Langjähriger Windows-Nutzer (hey, meine Arbeit zwingt mich dazu!!!!). Privat mit Win immer nicht so recht glücklich... ist für mich eine BlackBox, ich weiß nicht, was da drin abläuft. Ich habe auch schon mal mit diversen Linuxen rumgespielt (Suse, Ubuntu, Mint).
Ich bin seit längerem auf dem Weg zu OpenSource und will letztlich weg von dem ganzen Kommerz-Zeugs.
Also: nicht ganz unerfahren in Computernutzung, Hobby-Programmierer, aber keineswegs ein Fachmann (mache beruflich was völlig anderes - wir verwenden hauptsächlich Office), sondern eher informierter Laie mit Spaß an der Sache.

Ich finde FreeBSD spannend und habe bisher - ohne Hilfe - das Grundsystem zum Laufen bekommen´und Xfce eingerichtet (der alte Testlaptop läuft damit performanter . Soweit sogut. Diverse Sachen muss ich noch ausprobieren, ich freu mich schon drauf. Aktuell versuche ich, meinem System das Drucken beizubringen.

Leider habe ich - vor FreeBSD - mir einen Canon MG 5650 geholt. Und jetzt meine Frage: kriege ich den via WLAN in FreeBSD zum Laufen? Ich habe diverse Infos und Tutorials gelesen (z.B. FreeBSD-Handbuch zum Drucken, Ubuntu-Anleitungen zu Cups, Linux-Blogs für WLAN-Drucker usw.) und finde einfach keinen richtigen Ansatzpunkt! Ich will nicht irgendwelchen Krams ausprobieren, wenn ich keine Vorstellung habe, was ich da mache und was ich gelesen habe scheint nicht richtig zu passen.

Ich habe auf der Canon-Service-Website Treiber für Linux gefunden. Die sind aber .deb, .rpm (geht meines Wissens nicht mit pkg) bzw. Quellcode (mit was kompilieren???). Ich wollte bei mir Cups einrichten und habe festgestellt, dass das bei FreeBSD 11 offenbar schon gleich mit installiert wurde. Ich hab auch schon gelesen, dass PPD bzw. PPA-Dateien hilfreich sein sollen, aber keine Ahnung, ob es sowas für meinen Drucker gibt.

Mein System ist ein alter ASUS-Laptop mit Athlon II Prozessor, FreeBSD 11 in 32bit. Der Drucker ist über eine Fritz-Box in meinem WLAN-Netz.

Wenn ihr mir sagt: vergiss das mit Canon und WLAN... okay, dann muss ich auf das Drucken verzichten, bis irgendwann ein neuer Drucker dran ist (glaubt mir, dann werde ich darauf achten, dass der mit FreeBSD funzt). Aber vielleicht geht ja was? Falls ihr noch Infos braucht, sagt Bescheid.

Liebe Grüße...
 
Schau erst mal was für eine Art von Druckersprache dein Drucker spricht:
http://www.computerwissen.de/hardwa...ipt-durchblick-durch-die-druckersprachen.html
PCL ist gut, Postscript ist besser, GDI Drucker sind gerne relativ nutzloser Briefbeschwerer. Das kann eventuell mit viel Gefummel und Eigeninitiative gerettet werden, falls der Druckerhersteller für das jeweilige Betriebssystem passende aktuelle Treiber zur Verfügung stellt. Während sich PCL und Postscript fähige Drucker leicht mit CUPS auch über das Netzwerk einbinden lassen.

Edit:
Eventuell hast Du Glück mit print/gutenprint-cups, schau mal nach unter:
http://gimp-print.sourceforge.net/p_Supported_Printers.php:
Canon PIXMA MG5650 bjc-PIXMA-MG5650 EXPERIMENTAL
Auf der Canon Webseite steht noch nicht mal was für eine Druckersprache das Teil spricht. Saftladen!
 
Zuletzt bearbeitet:
Wenn es unter Linux geht, hast du gute Chancen, dass es unter FreeBSD auch gehen wird.
Ob komplettes CUPS schon in FreeBSD11 automatisch enthalten ist, glaube ich eigentlich nicht, weiß es aber auch nicht genau. Es gibt jedenfalls immer noch zusätzliche Treiber, die separat installiert werden können. Ohne Auswahl an Treibern gehen viele Drucker heute nicht mehr.
Du kannst es mit Ubuntu versuchen. zB als Live-System. Ubuntu hat default großartige Mechanismen zur automatischen Erkennung und Einrichtung von Druckern. Das kann man sich zu Nutze machen. Wenn ein Ausdruck unter Ubuntu funktioniert, kann man sich ansehen, welcher Treiber dort benutzt wurde und woher der installiert worden ist, also zu welchem Paket der gehörte. Da kann man schon sehr viel Information erhalten. Manchmal gelingt es sogar, das benutzte PPA-File zu kopieren und mit nach FreeBSD zu nehmen. Es muss dann nur ein wenig angepasst werden und manchmal genügt das schon.
Es gibt da aber zu viele Möglichkeiten, um die jetzt alle zu behandeln.
Manche Drucker haben ein Webinterface, sie lassen sich also in einem Browser über die Ip-Adresse aufrufen. Diese Seiten bieten oft erstaunlich viel Information, über Druckersprache, verwendete Ports und Warteschlangen-Namen.
Es gibt bei manchen DEs eigene Menüs, wie Drucker eingestellt werden können. Ich erinnere sowas aus KDE. Aber: am Besten bleibt man meiner Ansicht nach direkt auf CUPS, also über localhost auf Port 631 die Cups-Seite aufrufen und hier alles Einstellen und managen.
 
Hey,

danke für eure Hinweise!

Cups muss schon irgendwie bei FreeBSD draufgewesen sein, weil mir das System auf "pkg install cups" meldete, dass dies nicht nötig sei, es wäre schon alles vorhanden (Installationsmedium war bei mir die i386-CD). Ich hatte dann noch gutenprint-cups nachinstalliert, weil das im Handbuch empfohlen wird. Aber ich muss den Cups-Server erst noch zum Laufen bringen, denn über localhost:631 meldet sich noch nix.

Ich habe mir mal das Handbuch zu meinem Drucker bei Canon runtergeladen. 963 Seiten! Aber denkt ihr, da würde drinstehen, welche Druckersprachen das Ding versteht? Grmpf... Aber da stand auch was, dass man über das Display des Druckers die Netzwerkeinstellungen auslesen kann. Zumindest das dürfte weiterhelfen.

Ich habe dabei aber auch noch entdeckt, dass Canon für seinen Linux-Treiber eine Anleitung zum Download bereitstellt. Habe ich mir sofort runtergezogen. Beim ersten Überfliegen habe ich schon gesehen, dass die auch was zu WLAN-Benutzung sagen. Mal sehen, wie weit die Welle trägt...

Nachdem ich heute privat stark gebunden war, kann ich mich jetzt wieder um mein FreeBSD kümmern. Meine nächsten Schritte werden jetzt sein, dass ich versuche, Cups zum Laufen zu bringen und den Linux-Treiber zu installieren.

Ich sag Bescheid, was dabei herauskommt.
 
Um cups zu starten gehört folgendes in die /etc/rc.conf:
Code:
cupsd_enable="YES"
Cups wird dann bei einem Reboot gestartet.
Du kannst aber cups auch ohne reboot starten:
Code:
service cupsd start
 
Hallo,

cups ist mit Version 2.2.1 in FreeBSD 11 auf dem aktuellen Stand.

WLAN-Drucker mit FreeBSD verknibbern

Dann installiere Dir bitte noch avahi, das kann beim automatischen Auffinden von Netzwerkdruckern eventuell hilfreich sein, und packe dann bitte in Deine /etc/rc.conf:
Code:
cupsd_enable="YES"
cups_browsed_enable="YES"
avahi_daemon_enable="YES"

Wenn Dein Canon eine feste IP-Adresse hat, dann kann es nicht schaden, unter FreeBSD eine Datei /usr/local/etc/cups/client.conf mit folgendem Inhalt anzulegen:
Code:
ServerName ip-adresse-deines-Wlan-Druckers:631

Viele Grüße,
Holger
 
Sooo....

Habe avahi installiert, Cups zum Laufen gekriegt und mein Drucker wird als Netzwerkdrucker sofort gefunden (geilgeilgeil!!!).

Leider habe ich jetzt noch ein Treiberproblem: Fusselbär hat ja schon drauf hingewiesen, dass gutenprint meinen Drucker mit einem Experimental-Treiber unterstützt. Nur... der taucht leider nicht in der Liste auf, wenn ich mit "Add Printers" die Einrichtung meines Druckers mache. Kann das daran liegen, dass er Experimental ist? Oder hätte ich hplip auch installieren sollen, wie es das Handbuch empfiehlt (hab ich weggelassen, weil ich dachte mit hp-lip sind hp-Drucker gemeint). Oder muss ich von gutenprint noch was anderes nachinstallieren?

EDIT: Habe beim Linux-Treiber von der Canon-Website eine PPD-Datei gefunden und diese bei der Druckerinstallation angegeben. Wird auch akzeptiert, aber Probedruck geht leider nicht:

Ausgabe für Printjob:
Canon_MG5650-3 Unknown Withheld 1k Unknown stopped
 
Zuletzt bearbeitet:
Leider reicht eine PPD nur bei PostScript bzw. PCL Drucker. Weil deiner wohl was anderes spricht brauchst du einen sog. Filter. Das ist ein Programm, dass von CUPS aufgerufen wird, ein PostScript als Input bekommt und als Output was in der Druckersprache liefert. Ggf. bekommst du das mit dem Linuxulator zum laufen.
 
Da:
Canon PIXMA MG5650 bjc-PIXMA-MG5650 EXPERIMENTAL
... als experimentell gekennzeichnet ist, muss es nicht unbedingt funktionieren. Überdies ist das wohl auch für die Gutenprint 5.2.11 Version.
In den Ports ist jedoch die Version 5.2.10_3. Schaut man in das Makefile von /usr/ports/print/gutenprint-cups hinein, dann sieht man darin, dass die Version von print/gutenprint-base festgelegt wird:
Code:
MASTERDIR=      ${.CURDIR}/../../print/gutenprint-base
Also habe ich bloß mal ausprobiert, ob print/gutenprint-base und print/gutenprint-cups nach einem einfachem Version anheben im Makefile von /usr/ports/print/gutenprint-base noch baut - und das tat es:
Code:
--- Makefile.orig       2017-01-17 08:45:30.025795000 +0100
+++ Makefile    2017-01-17 08:45:49.103970000 +0100
@@ -3,7 +3,7 @@
#    $MCom: ports/print/gutenprint-base/Makefile,v 1.8 2007/03/30 16:45:02 ahze Exp $
PORTNAME?=     gutenprint
-PORTVERSION=   5.2.10
+PORTVERSION=   5.2.11
PORTREVISION?= 2
CATEGORIES=    print
MASTER_SITES=  SF/gimp-print/gutenprint-5.2/${PORTVERSION}

Code:
--- distinfo.orig       2017-01-17 08:46:02.978508000 +0100
+++ distinfo    2017-01-17 08:46:20.231983000 +0100
@@ -1,2 +1,3 @@
-SHA256 (gutenprint-5.2.10.tar.bz2) = 431f352b412dfb9809d126a85a37a1fcd1c1826275ace8cdcd4fd9a6ee360e59
-SIZE (gutenprint-5.2.10.tar.bz2) = 6241585
+TIMESTAMP = 1484639180
+SHA256 (gutenprint-5.2.11.tar.bz2) = c1a34cd2e02527de4d2a9bf6c14732cb9aa11b333f771eb6043fdc974de24df9
+SIZE (gutenprint-5.2.11.tar.bz2) = 6570118
 
https://wiki.ubuntuusers.de/Drucker/ erklärt einiges dazu und ist ein guter Startpunkt. Vereinzelt müssen die Informationen "nach FreeBSD übersetzt" werden. Wenn es darum geht, einige spezifische Pakete zu installieren, gibt es keine Übersetzung. Sollte so etwas tatsächlich nötig werden, könnte dann evtl der FreeBSD Linuxulator helfen, aber das wäre schon einiger Aufwand.
Such vielleicht mal in den Paketen. Schon ein pkg search cups liefert einige zusätzliche Treiber/Filter-Pakete. Die sind dann einfach zu installieren und im Auswahlmenü in der Cups-Konfiguration erscheinen diese dann. Dabei kann man manchmal mit etwas Glück einen Treiber finden, der nicht exakt für das eigene Modell passt, aber für ein vergleichbares Gerät in der jeweiligen Modellreihe, das dann benutzt werden kann. Vielleicht nicht mit allen Funktionen, aber oft doch für einen korrekten Ausdruck.
 
Ich hab mal die Variante von Fusselbär probiert und im Makefile von gutenprint-base die Portversion von 5.2.10 auf 5.2.11 geändert.
Danach habe ich versucht mit make install die Sache zu installieren und bekam folgenden Output:

===> License GPLv2 accepted by the user
===> Found saved configuration for gutenprint-base-5.2.11_2
===> gutenprint-base-5.2.11_2 depends on file: /usr/local/sbin/pkg - found
=> gutenprint-5.2.11.tar.bz2 is not in /usr/ports/print/gutenprint-base/distinfo.
=> Either /usr/ports/print/gutenprint-base/distinfo is out of date, or
=> gutenprint-5.2.11.tar.bz2 is spelled incorrectly.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/print/gutenprint-base
*** Error code 1

Hätte ich das anders probieren sollen?

Ich habe auch mal mit den anderen cups-packages rumprobiert, bin aber leider nicht fündig geworden... in den Ubuntu-Artikel lese ich mich noch ein.
 
Hallo,

ich werde demnächst mal versuchen, turboprint mit dem Linuxulator unter FreeBSD zum Laufen zu bekommen - das wird vermutlich spannend und spaßig. Aber da ich eine Lizenz habe, und gerne weiterhin guten Fotodruck mit meinem Epson XP-55 haben möchte, ist mir das einen Versuch wert, und wenn das dann läuft (und mit epkowa mein Scanner auch unter FreeBSD zum Laufen zu bekommen sein wird) kann ich endlich mein Debian NAS auf FreeBSD migrieren.

Viele Grüße,
Holger
 
Habe mir 5.2.12 als tarball runtergezogen und installiert. Danach tauchte in Cups die Treiber MG5600Series und MG5650 auf. Ich war hocherfreut.
Leider funktionieren beide nicht. Gleiche Fehlermeldung beim Senden einer Testseite aus Cups: "Unable to locate printer "6443DC000000.local".":(

Beim versuchsweise Drucken aus Writer kommt die Meldung in der Job-Übersicht von Cups sogar auf Deutsch: "Der Drucker »6443DC000000.local« kann nicht lokalisiert werden"

Wow;'(
 
Schau mal ob das weiterhilft: https://bbs.archlinux.org/viewtopic.php?pid=719752#p719752

Hier habe ich das mit dem Netzwerkdrucker so gelöst, dass der Netzwerkdrucker vom Router immer die gleiche IP xxx.xxx.xxx.xxx im Netzwerk zugeteilt bekommt und dann:
Code:
ipp://xxx.xxx.xxx.xxx/ipp/
... für den Drucker im CUPS Webinterface https://[::1]:631 eingetragen. Dort lässt sich übrigens auch bei Bedarf ein virtueller PDF Drucker einrichten. Dafür gibt es den Port: print/cups-pdf
 
Vermutlich reichen meine Kenntnisse (noch) nicht aus:

Ich habe meinem Drucker eine feste IP-Adresse gegeben.
Habe einen neuen Drucker über localhost:631 eingerichtet. Dabei habe ich nicht bei Discovered Network Printers den MG5650 genommen, sondern Other Network Printers, Internet Printing Protocol (ipp) angegeben.
In der folgenden Maske konnte ich dann die ipp wie von dir angegeben auch eintragen. Danach konnte ich auch den passenden Druckertreiber wieder aus der Liste auswählen.
Beim Testdruck bekam ich folgende Fehlermeldung: "The printer configuration is incorrect or the printer no longer exists."

Hätte ich das ipp-Dingens woanders eintragen müssen?
 
ER LÄUFT!!!

Habe folgendes gemacht: Ich hatte mir ja weitere gutenprint module installiert, darunter auch cups-bjnp-2.0_2 . Danach tauchte mein Drucker in cups 2x auf, einmal als MG5650 und dann als Canon MG5600 series 192.168.178.45 (Canon MG5600 series). Diesen "Drucker" hatte ich bisher ignoriert, weil ... ja weiß nicht so recht.
In meiner Verzweiflung habe ich ihn jetzt mal benutzt und siehe, es funktioniert.

Danke euch für die ganze Mühe, letztlich hat es sich gelohnt. Ich schreibe nachher nochmal hier ein kleines HowTo als Abschluss, falls andere das gleiche Problem haben sollten.
 
... ich hatte mir aufgeschrieben, was ich so alles veranstaltet habe, um meinen Drucker zum Laufen zu kriegen (kann ja immer mal sein, dass man sein System neu aufsetzen muss:cool:). Für den Fall dass jemand einen Canon MG5650 (funktioniert vielleicht auch mit anderen Canons) via W-LAN in FreeBSD zum Laufen kriegen will hier meine Vorgehensweise (ich bin Neuling! Ich habe eine grobe Vorstellung, was ich da für einen Zirkus veranstaltet habe, mehr nicht!):


  • Versuche cups zu installieren (kann sein, dass es schon drauf ist): pkg install cups
  • installiere zusätzliche Canon-Treiber: pkg install cups-bjnp-2.0_2

  • installiere gutenprint-cups :
    bestenfalls funktioniert pkg install gutenprint-cups
    ABER: für den MG5650 brauchst du mindestens die Version 5.2.11
    bitte prüfen, welche Version dein FreeBSD enthält.
    Du kannst dir (Stand 18.01.2017) die 5.2.12 als tarball runterziehen und installieren. Da sind die notwendigen Treiber drin.

  • installiere avahi

  • füge der /etc/rc.config folgende Zeilen hinzu:
    cupsd_enable=“YES“
    cups_browsed=“YES“
    avahi_daemon_enable=“YES“

  • gib deinem Drucker eine feste IP-Adresse (wie das geht, hängt von deinem Router ab. In meiner Fritzbox habe ich einen Menüpunkt „Heimnetzwerk“ das mir alle angeschlossenen Geräte anzeigt und da kann ich für jedes Gerät in einem Bearbeitungsmodus unter anderem eine Checkbox anklicken, dass es eine feste IP-Adresse haben kann).

  • Bevor du irgendwas anderes machst, reboote deinen Rechner, damit der Cups-Deamon startet (kann man auch händisch starten, aber ich würde Reboot empfehlen: auf die paar Minuten kommt es doch nicht an, oder?)

  • So, jetzt müssen wir unseren Drucker noch einrichten: bitte einen Browser starten und localhost:631 aufrufen → add Printer

  • Dort müsste folgender Drucker bei „Discovered Network Printers auftauchen:
    Canon MG5600 series 192.168.178.45 (Canon MG5600 series)

  • Diesen Drucker auswählen und im folgenden Dialog den Canon Pixma MG5650-Treiber auswählen.

  • In den folgenden Settings würde ich zumindest empfehlen, das Papierformat auf A4 umzustellen

  • Das müsste dann funktionieren
 
Noch ein Hinweis zur gutenprint-cups Version. Zum jetzigen Zeitpunkt ist das ja die 5.2.10_3. Gebraucht wird aber die 5.2.11 oder aufwärts. Ich habe oben beschrieben, dass ich mir die 5.2.12 separat runtergezogen und installiert habe. Das Workaround funktioniert, ist aber nicht die beste Lösung, weil hier pkg und Port-Installation gemischt werden. Siehe Diskussion in diesem Thread:
http://www.bsdforen.de/threads/libreoffice-abhängigkeiten.33241/#post-288363
http://www.bsdforen.de/threads/libreoffice-abhängigkeiten.33241/#post-288363
Besser wäre es, wenn man das Makefile von Cups verändert. Fusselbär hat oben dazu Hinweise gegeben, ich habe es allerdings nicht hinbekommen (bin noch Anfänger). Am Besten wäre es natürlich, wenn man gutenprint-cups in einer neueren Version installieren kann, wo der Canon-Treiber dann enthalten ist (also nicht mehr experimental ist).
 
Zurück
Oben