staging.inyokaproject.org

Raw Drucker installieren / konfigurieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

christian94

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Hallo,

folgendes Problem: Ich habe mir einen RaspberryPi (mit aktuellem Raspbian) zugelegt, um unseren Drucker, einen Brother HL-L8250CDN ins Heimnetzwerk zu integrieren. Leider gibt es keine ARM Treiber dafür, nur x86 auf der Herstellerseite (die nach Installation auf dem Pi erwartungsgemäß auch nicht funktionierten...). Nun gibt es die Möglichkeit den Drucker als "Raw-Drucker" einzurichten. Ich habe mich da an diese Anleitungen orientiert: http://www.makeuseof.com/tag/make-wirel … pberry-pi/ und https://stackoverflow.com/questions/263 … ups-client .

Mein Setup: Drucker via USB mit RaspberryPi, Raspberry (statische IP) via wifi mit Router, Laptop via Wifi an Router. Auf dem Laptop läuft der x86 Druckertreiber von der Herstellerseite und der Drucker ist als Netzwerkdrucker, verbunden über die IP des Pis eingerichtet. Port 631. Beim Testdruck ist der Druckerstatus allerdings: Processing - Unable to locate printer "raspberrypi.local". Ich bin für jede Hilfe dankbar. Vielen Dank im Voraus!

Moderiert von misterunknown:

Falsche Ubuntu-Version entfernt

manuel-werner

Anmeldungsdatum:
17. Dezember 2014

Beiträge: 168

Auf der Brother Homepage bekommt man auch den Quellcode der Treiber für Linux: http://www.brother.de/ Gehe auf Support - Downloads & Software, gehe auf Downloads und gebe HL-L8250CDN ein. Wähle Linux und als Pakettyp deb. Es kommt eine Meldung das nichts gefunden wurde oder ähnliches. Gehe auf schließen. Wähle dann als Sprache English. Bei Source Codes findet man den Quellcode den man dann unter Raspbian kompilieren kann.

Oder hier der direkter Downloadlink des Sourecodes: http://download.brother.com/welcome/dlf101049/hll8250cdn_cupswrapper_GPL_source_1.1.3-1.tar.gz

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Ah sehr gut. Den Quelltext habe ich gar nicht entdeckt. Hab die verlinkte Datei heruntergeladen, entpackt, bin in den Ordner brcupsconfig gewechselt und habe

sudo make

ausgeführt. Folgender Output:

sudo make        
gcc -c -pipe -Wall -W -O2  -o brcupsconfig.o brcupsconfig.c
brcupsconfig.c: In function ‘main’:
brcupsconfig.c:80:9: warning: variable ‘printer’ set but not used [-Wunused-but-set-variable]
   char *printer;
         ^
gcc  -o brcupsconfpt1 brcupsconfig.o

Sieht meiner Meinung nach erfolgreich aus. Es wurde die Datei brcupsconfig.o erstellt. Was muss ich jetzt machen?

sudo make install

funktioniert nicht:

sudo make install
make: *** No rule to make target 'install'.  Stop.

manuel-werner

Anmeldungsdatum:
17. Dezember 2014

Beiträge: 168

Nachdem Sie kompiliert haben die Datei brcupsconfpt1 in den Ordner cupswrapper kopieren.

Im Ordner PPD befindet sich die PPD-Datei für CUPS. Diese Datei nach /usr/share/cups/model/Brother/ mit Root-Rechten kopieren.

Im Ordner cupswrapper befindet sich ein Skript. Dieses Skript ausführbar machen und dann starten.

So müsste es klappen.

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Habe alle Schritte bis einschließlich zum Kopieren der PPD-Datei ausgeführt. Beim Ausführen von cupswrapperhll8250cdn erhalte ich diesen Output:

sudo sh cupswrapperhll8250cdn 
ERROR : Brother LPD filter is not installed.
chmod: cannot access ‘/usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd’: No such file or directory
cp: cannot stat ‘/usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd’: No such file or directory
chmod: cannot access ‘/usr/share/ppd/Brother/brother_hll8250cdn_printer_en.ppd’: No such file or directory
[ ok ] Restarting cups (via systemctl): cups.service.
lpadmin -p HLL8250CDN -E -v usb://dev/usb/lp0 -P /usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd
lpadmin: Unable to open PPD file "/usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd" - No such file or directory

Er kann die PPD-Datei nicht finden obwohl ich sie dahin kopiert habe. Tatsächlich ist sie nach dem Ausführen des Skripts gelöscht...

Und eine andere Sache: Das ist ja nur der cups Quellcode. Reicht der aus oder brauche ich auch noch den lpr-Code? Den gibt es ja leider nicht auf der Supportseite von Brother.

manuel-werner

Anmeldungsdatum:
17. Dezember 2014

Beiträge: 168

Probiere mal folgendes: Kopiere die PPD nach /usr/share/cups/model

Dann den Raspberry Pi neu starten und die Druckereinrichtung wie gewohnt durchführen.

Dann müsste er in der Liste verfügbar sein.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Hallo,
der Drucker hat doch eine Ethernet-Schnittstelle. Warum nicht direkt über Kabel an den Router anschließen?

Den Pi ansonsten über WLAN mit dem Router verbinden, Ethernet statisch in das selbe Netzwerk integrieren wie WLAN und Drucker anschließen. Auf dem Pi muss IMHO kein Druckertreiber installiert werden.

Der Pi ist eigentlich viel zu schade für so etwas, letztendlich suchst Du doch nur nach einer Möglichkeit den Drucker über WLAN in das Heimnetz zu integrieren? Das geht auch mit einem einfachen WLAN-Repeater/Client für die Steckdose für ~20€ oder z.B. einen TP-Link TL-WR802N N300 im Client oder Bridge-Mode.

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

@manuel-werner: habe alles ausgeführt:

sudo sh cupswrapperhll8250cdn
ERROR : Brother LPD filter is not installed.
chmod: cannot access ‘/usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd’: No such file or directory
cupswrapperhll8250cdn: 307: cupswrapperhll8250cdn: lpinfo: not found
lpadmin -p HLL8250CDN -E -v usb://dev/usb/lp0 -P /usr/share/cups/model/Brother/brother_hll8250cdn_printer_en.ppd
cupswrapperhll8250cdn: 353: cupswrapperhll8250cdn: lpadmin: not found

@elektronenblitz63: Der Drucker ist in einem anderen Zimmer als der Router, weil in Routernähe kein Platz ist. Und Kabel durch die halbe Wohnung ist nicht so toll.

Wenn du mit "Ethernet statisch in das selbe Netzwerk integrieren wie WLAN" eine Bridge zwischen Wlan und Ethernet meinst - das habe ich auch schon ausprobiert, leider ohne Erfolg. Das funktioniert leider nur in die andere Richtung, also Router –> Ethernet PI –> Wlan. Quasi den Pi als Access Point. Andersrum geht nicht, da Bridging über wlan im Client-Modus per Wifi-Standard nicht erlaubt ist. Es gibt wohl bestimmte Wlan-Chips die das können, da kenne ich mich aber nicht aus. Aber der TP-Link kann das anscheinend. Den werde ich mir mal bestellen. Danke für den Tipp!

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Nein, eine Bridge zwischen WLAN und LAN war nicht gemeint, hatte ich ja auch nicht geschrieben.

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Okay, wie funktioniert das dann genau? Hab keine Ahnung wie das geht.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Hallo,
ich muss mich selber korrigieren. Es funktioniert zwar, allerdings muss der Drucker eine statische IP-Konfiguration bekommen, DHCP funktioniert nicht, und es muss eine etwas aufwändigere jedoch nicht schwere manuelle Konfiguration durchgeführt werden.

Kann man dem Drucker manuell eine statische Adresse zuweisen? Wenn nein, brauchen wir hier nicht weitermachen.

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Ja, kann man. Am Gerät selbst, habe ich eingestellt. Muss man dann eigentlich auch noch die Apipa-Funktion deaktivieren? Die ist extra.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Ok, die Verbindung wird quasi über einen lokalen ARP-Proxy geroutet

  • der Drucker bekommt eine freie IP-Adresse außerhalb des DHCP-Pools des WLAN-Routers

Installation auf dem RaspberriPi als kleiner „Printserver“

  • auf dem Pi, oder einem anderen System mit Ethernet und WLAN-Interface, muss zunächst die WLAN-Verbindung hergestellt werden

  • nun müssen mit bestehender Internetverbindung folgende Pakete installiert werden, falls noch nicht vorhanden:

1
sudo apt-get install --reinstall parprouted avahi-daemon nmap
  • Konfiguration mit einem Editor anpassen

    • in der /etc/sysctl.d/local.conf

net.ipv4.ip_forward=1

(um IP-Forwarding zu aktivieren)

  • in der /etc/avahi/avahi-daemon.conf

[reflector]
enable-reflector=yes
  • Dienst neu starten:

1
sudo service avahi-daemon restart

(Avahi als DNS-Relay)

  • Ethernet konfigurieren ($LAN-Interface und $WLAN-Interface sind Platzhalter und durch die tatsächlichen Schnittstellenbezeichnungen zu ersetzen!):

1
sudo ifconfig $LAN-Interface $(ip addr show $WLAN-Interface | egrep -w inet | awk {'print $2'})
  • Prüfen - LAN und WLAN müssen nun eine identische IPv4-Konfiguraton besitzen

1
ifconfig -a

ARP-Routing aktivieren:

1
2
3
sudo parprouted $LAN-Interface $WLAN-Interface
# Routing alternativ im Debug-Modus zur besseren Fehlererkennung aktivieren
sudo parprouted -d $LAN-Interface $WLAN-Interface

Mittels Ping von einem anderen Host prüfen, ob der Drucker ansprechbar ist. Wenn ja, den Drucker wie gehabt einrichten, die durch den Drucker bereitgestellten Protokolle und Ports sind natürlich zu berücksichtigen. Es kann gedruckt werden.

Prüfung mittels nmap:

1
nmap $Drucker-IP

Beispielausgabe bei meinem Laserdrucker:

Nmap scan report for 192.168.100.10
Host is up (0.013s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
80/tcp   open  http (WEB-Interface)
427/tcp  open  svrloc (SLP - Service Location Protocol)
515/tcp  open  lpr printer
631/tcp  open  ipp
2000/tcp open  cisco-sccp
9100/tcp open  jetdirect

Muss man dann eigentlich auch noch die Apipa-Funktion deaktivieren? Die ist extra.

Die Apipa-Funktion des Druckers wird IMHO nicht benötigt. Mir ist jedoch nicht bekannt, ob diese noch irgendwelche Auswirkungen auf die Konfiguration hätte.

christian94

(Themenstarter)

Anmeldungsdatum:
13. April 2010

Beiträge: 112

Danke für die ausführliche Antwort!

Ich bin gerade dabei alles einzurichten, /etc/sysctl.d/local.conf musste ich neu anlegen.

Ich bin beim Punkt > sudo ifconfig eth0 $(ip addr show wlan0 | egrep -w inet | awk {'print $2'})

(habe gleich meine Schnittstellen eingefügt). Habe das zuerst über meinen ssh-Zugang ausgeführt, der hat sich dann aufgehangen. Anschließend direkt am Pi ausgeführt, das hat funktioniert. Alle Befehle bis zum Schluss ohne weitere Fehlermeldungen ausgeführt.

ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:4a:72:65  
          inet addr:192.168.178.148  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: fe80::289:7429:8864:65ed/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2200 (2.1 KiB)  TX bytes:2200 (2.1 KiB)

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:1f:27:30  
          inet addr:192.168.178.148  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: 2003:d4:dbda:eb00:3c72:9573:c2b3:f379/64 Scope:Global
          inet6 addr: fe80::2ca6:15d8:36e7:17df/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2866 errors:0 dropped:549 overruns:0 frame:0
          TX packets:1695 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:245387 (239.6 KiB)  TX bytes:189756 (185.3 KiB)

dann

sudo parprouted -d $LAN-Interface $WLAN-Interface

http://imgur.com/a/aDAYx - die Ausgabe ist in Dauerschleife.

Der Drucker wird allerdings nicht gefunden. Wenn ich mich in unsere Fritzbox einlogge, dann wird mir auch nur das Pi angezeigt (IP: 192.168.178.148).

Am Drucker selbst in den Einstellungen ist die IP 169.254.083.176 statisch zugewiesen. Muss ich die ändern?

Danke für deine Zeit!

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Der Drucker muss sich natürlich im selben Netzwerk befinden, also z.B. die Adresse 192.168.178.10 bekommen, sonst funktioniert das natürlich nicht. Adresse 192.168.178.2 - ****.19 liegen außerhalb des DHCP-Pool der FB und können frei verwendet werden.

... /etc/sysctl.d/local.conf musste ich neu anlegen.

Forwarding alternativ, aber nur temporär aktivieren (bis Neustart):

1
sudo sysctl -w net.ipv4.ip_forward=1  

Für eine dauerhafte Aktivierung entsprechenden Eintrag in der /etc/sysctl.conf ansonsten auskommentieren.

sudo parprouted -d $LAN-Interface $WLAN-Interface

Der Befehl lautet dann hier natürlich:

1
2
3
sudo parprouted wlan0 eth0
# oder
sudo parprouted -d wlan0 eth0
Antworten |