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!
|
manuel-werner
Anmeldungsdatum: 17. Dezember 2014
Beiträge: 167
Wohnort: Ludwigshafen am Rhein
|
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: 167
Wohnort: Ludwigshafen am Rhein
|
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: 167
Wohnort: Ludwigshafen am Rhein
|
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
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
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
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
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
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
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
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
Ok, die Verbindung wird quasi über einen lokalen ARP-Proxy geroutet
Installation auf dem RaspberriPi als kleiner „Printserver“
| sudo apt-get install --reinstall parprouted avahi-daemon nmap
|
net.ipv4.ip_forward=1
(um IP-Forwarding zu aktivieren) [reflector]
enable-reflector=yes
| sudo service avahi-daemon restart
|
(Avahi als DNS-Relay) | sudo ifconfig $LAN-Interface $(ip addr show $WLAN-Interface | egrep -w inet | awk {'print $2'})
|
ARP-Routing aktivieren:
| 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:
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
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
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):
| 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:
| sudo parprouted wlan0 eth0
# oder
sudo parprouted -d wlan0 eth0
|
|