HP LaserJet P1005 an Fritzbox als Netzwerkdrucker unter Linux

friwi.beckmann

Neuer User
Mitglied seit
26 Jan 2009
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe gerade den Drucker HP LaserJet P1005 an die Fritz!Box 3270 als
Netzwerkdrucker angeschlossen. Auf meinem Laptop läuft Ubuntu Linux.
Ich benutze nicht den USB Fernanschluss.

Der Anschluss hat auch funktioniert, d.h. der Drucker wird von der Fritzbox
erkannt und in der Statusseite angezeigt. Das Problem ist, daß der Drucker
nach dem Start eine Firmware benötigt, damit er überhaupt drucken kann.

Ohne die Firmware wird der Druckauftrag an den Drucker weitergeleitet, aber
es passiert nichts weiter. Ich habe den Drucker lokal an den Laptop
angeschlossen. Dort funktioniert er dann, wenn man einen aktuellen
Druckertreiber baut, wie auf http://foo2zjs.rkkda.com beschrieben.

Dieser Druckertreiber installiert zusätzlich ein USB Hotplug für den Drucker,
der jedesmal, wenn der Drucker am USB Anschluss des Laptop angeschlossen
wird. eine Firmware auf den Drucker lädt. Danach kann man normal drucken.

Das ganze funktioniert allerdings nicht, wenn der Drucker an der Fritzbox
angeschlossen ist, da der USB Hotplug am Laptop nicht aktiviert wird.
Man kann die Firmware allerdings auch manuell mit folgendem Kommando
auf den Laptop übertragen:

Code:
cat /usr/share/foo2xqx/firmware/sihpP1005.dl | netcat -w 1 fritz.box 9100

Die Firmware "sihpP1005.dl" wird beim Kompilieren des Druckertreibers
mit bereitgestellt. Näheres dazu auf http://foo2zjs.rkkda.com.

Damit kann man dann den Drucker an die Fritzbox anschliessen -
muss dann allerdings nach einem Neustart des Druckers wie beschrieben
die Firmware auf den Drucker laden. Diese Vorgehen betrifft die ganzen
neueren Drucker der Laserjet Pxxxx Linie.

Ich will den Laptop/Fritzbox/Drucker für meine Eltern einrichten und da
ist es eher Nachfragegefährdet, wenn man nicht vergessen darf diese
Firmware auf den Drucker zu laden.

Ich habe eine Supportanfrage an AVM geschickt, ob es möglich ist diese
Hotplug Funktion auf der Fritzbox zu aktivieren. Es wäre ja schon
sehr schön wenn etwas in dieser Art vorhanden wäre:
Wenn ein Drucker am USB-Anschluss angeschlossen
wird, dann wird eine konfigurierbare Datei an den Drucker geschickt.
Die Firmwaredatei für den Drucker ist etwa 225kByte groß.

Viele Grüße

Friedrich
 
Interessant.
Da hat HP anscheinend ein paar Cent für einen größeren Flash-Speicher eingespart.

Von AVM wird vermutlich die Standardantwort kommen, daß es eine interessante Idee ist und diese an die Entwicklungsabteilung weitergeleitet wird. Möglicherweise wird es irgendwann einmal realisiert, vielleicht auch nicht.

Wenn Du in absehbarer Zeit eine Lösung dafür willst, ist es schneller, den Hotplug-Mechanismus in der Box etwas zu modifizieren, so daß die Datei zum Drucker geschickt wird, sobald er erkannt wird.
 
Wenn Du in absehbarer Zeit eine Lösung dafür willst, ist es schneller, den Hotplug-Mechanismus in der Box etwas zu modifizieren, so daß die Datei zum Drucker geschickt wird, sobald er erkannt wird.

Ich habe mal versucht mich per telnet auf die Box einzuloggen und das hat auch funktioniert, aber nach ein paar Sekunden bootet die Box neu. Hast du eine Ahnung wie man das hotplug system von der Box modifzieren kann?

Viele Grüße

Friedrich
 
Es ist nicht normal, daß die Box nach einigen Sekunden Telnet neu bootet.

Bei Plugin-Ereignissen wird die Datei /sbin/hotplug auf der Box ausgeführt.

So genau habe ich mich bisher aber nicht mit dem Plugin-Mechanismus in Linux beschäftigt. Es wird aber sicher ein Ereignis geben, daß das Vorhandensein des Druckers anzeigt. Als Reaktion auf dieses Ereignis kann man dann die Datei zum Drucker schicken.
 
Hallo,

ich habe jetzt die Fritzbox modifiziert und die Firmware wird automatisch auf den Drucker geladen. Das Firmwareimage ist etwa 220kByte groß und passt nicht auf /var/flash. Deshalb wird die firmware jetzt nach Start der Fritzbox aus dem Internet geladen. Die Datei /var/flash/debug.cfg sieht so aus:

Code:
# Enable the telnet daemon
/usr/sbin/telnetd -l /sbin/ar7login

#Mount the modified printer hotplug file
mknod /var/flash/printer_mod c 240 $((0x65))

cat /var/flash/printer_mod > /var/tmp/printer
chmod a+rwx /var/tmp/printer

# Wait for the WAN going up
while !(ping -c 1 home.arcor.de)
  do
    sleep 2
  done

# Download the printer firmware
wget [url]http://home.arcor.de/friwi.beckmann/sihpP1005.dl[/url] -O /var/tmp/sihpP1005.dl

# Replace the original printer file with the modified one
mount -o bind /var/tmp/printer /etc/hotplug/printer

# Maybe the printer is already up. Then we download the
# firmware to the printer anyway

if test -f /var/log/printer_id ; then
  killall printserv
  cat /var/tmp/sihpP1005.dl > /dev/usblp0
  /sbin/printserv -d /dev/usblp0 -p 9100 -c /dev/ttyS0
fi

Ich habe die /etc/hotplug/printer Datei geändert, damit beim Starten des Druckers
nach dem Start der Fritzbox die Firmwaredatei auch automatisch auf den Drucker
geladen wird. Dazu habe ich eine Zeile in die Datei /etc/hotplug/printer eingefügt.
Ein Ausschnitt aus der neuen Version ist hier:

Code:
# Find device's strings...
		for var in `/sbin/lsusb -s -h $3|tr " " "_"`; do
			if echo $var | grep "='" > /dev/null 2>&1; then
				eval $var
			fi
		done
		echo "${MANU:=USB}:${PROD:=Printer}"|tr "_" " " > $PRINTER_ID_FILE
		
		# Download the printer firmware
		cat /var/tmp/sihpP1005.dl > /dev/usblp0
		
		# Starting printserver...
		if ! $BIN -d $USB_DEVICE -p $PORT -c $CONSOLE; then
			eventadd 153
		fi

Neu ist die "cat" Anweisung vor dem Start des printservers.

Das Problem mit dem Telnet lag, daran, daß ich telnet nur temporär
über starttelnet.image gestartet habe. Dabei werden anscheinend einige
Dienst gestopt. Deshalb ist dann wahrscheinlich der watchdog gestartet.

Ich habe telnet jetzt permanent über debug.cnf aktiviert und jetzt funktioniert es.

Viele Grüße

Friedrich
 
Zuletzt bearbeitet von einem Moderator:
Antwort von AVM

Hallo,
ich hatte AVM nach einer Lösung für das Problem gefragt und bekam
folgende Antwort:

>Ihre Ticket-ID CID2037761
>
> Sehr geehrter Herr Beckmann,
>
> vielen Dank für Ihre Antwort.
>
> Leider fällt ihr Gerät unter die nicht, von der Fritz!Box unterstützten
> Drucker. Für Linux wird es auch keine Anpassungen geben. Für Windows ist
> dieses mit Dem "Fernanschluss" möglich.
>
> Mit freundlichen Grüßen aus Berlin
>
> XXXX XXXXXXXXX (AVM Support)
>
>
> Zwei Klicks für die Supportqualität:
> Gerne würden wir von Ihnen erfahren, ob Sie mit unserem Support zufrieden
> sind. Wir werden Sie daher nach Abschluss Ihrer Anfrage per E-Mail nach
> Ihren Erfahrungen mit diesem Supportfall befragen. Mit nur zwei Klicks
> helfen Sie uns bei der Rückmeldung, einen guten Support zu gewährleisten.
>
>
Auf eine Frage nach einer Positivliste der funktionierenden Drucker:

Sehr geehrter Herr Beckmann,

vielen Dank für Ihre konstruktiven Verbesserungsvorschläge. Ich habe sie an
den dafür zuständigen Produktmanager in unserem Haus weitergeleitet. Wobei
ich nicht einschätzen kann, ob und wann eine Umsetzung erfolgt. Der
"Drucker-Markt" ist einer der schnelllebigsten, den ich kenne. Hier werden
quasi im Dreimonatsrhythmus leicht veränderte Modelle mit neuem Namen
verkauft.

Die neuesten Versionen von Firmware und Treibersoftware Ihrer AVM-Produkte
sowie der AVM-Softwareprodukte finden Sie im Internet unter
http://www.avm.de > "Download"

Ihre Anregungen/ Verbesserungsvorschläge zu AVM-Produkten können Sie
jederzeit an [email protected] oder als Fax an die Faxnummer 030 39976 266
schicken.

Mit freundlichen Grüßen aus Berlin

XXXX XXXXXXXXX (AVM Support)
 
Zuletzt bearbeitet von einem Moderator:
Nun, das ist ungefähr die Standard-Antwort, die ich erwartet hatte. Wobei der Satz mit dem Drucker-Markt doch tatsächlich auf die konkrete Frage eingegangen ist.
 
und wie kann ich es jetzt genau anstellen, dass das bei meinem hp laserjet 1018 auch funktioniert?
 
hmm ja das kann schon sein, nur leider kenne ich mich sowas nicht wirklich aus und blicke da leider nicht durch..

es wäre nett, wenn das nochmal jemand etwas genauer erklären könnte, wo finde ich denn zb die dateien die ich ändern muss?
 
Hallo,

[...]

Ich habe die /etc/hotplug/printer Datei geändert, damit beim Starten des Druckers
nach dem Start der Fritzbox die Firmwaredatei auch automatisch auf den Drucker
geladen wird. Dazu habe ich eine Zeile in die Datei /etc/hotplug/printer eingefügt.
Ein Ausschnitt aus der neuen Version ist hier:

Code:
# Find device's strings...
		for var in `/sbin/lsusb -s -h $3|tr " " "_"`; do
			if echo $var | grep "='" > /dev/null 2>&1; then
				eval $var
			fi
		done
		echo "${MANU:=USB}:${PROD:=Printer}"|tr "_" " " > $PRINTER_ID_FILE
		
		# Download the printer firmware
		cat /var/tmp/sihpP1005.dl > /dev/usblp0
		
		# Starting printserver...
		if ! $BIN -d $USB_DEVICE -p $PORT -c $CONSOLE; then
			eventadd 153
		fi

Neu ist die "cat" Anweisung vor dem Start des printservers.

Das Problem mit dem Telnet lag, daran, daß ich telnet nur temporär
über starttelnet.image gestartet habe. Dabei werden anscheinend einige
Dienst gestopt. Deshalb ist dann wahrscheinlich der watchdog gestartet.

Ich habe telnet jetzt permanent über debug.cnf aktiviert und jetzt funktioniert es.

Viele Grüße

Friedrich

Hallo Friedrich

wo hast du die Datei /etc/hotplug/printer modifiziert?
Eventuel wo sollte die nach der Modifizierung gespeichert werden?

viele Grüsse

Robert
 
Hallo,

ich habe die Zeile mit "/var/flash/printer_mod" übersehen.
Es ist jetzt klar: die modifizierte Datei /etc/hotplug/printer soll unter /var/flash/printer_mod gespeichert werden.

sorry für die Verwirrung

viele Grüsse

Robert
 
Hochladen der modifizierten Printer-Datei

Bislang habe ich die Befehle cat und netcat immer mauell in der Konsole unter Linux oder Dosbox unter Windows (type anstelle cat) eingegeben. Das funktioniert.

Wie bekomme ich denn die o.a. geänderte Datei Pinter in die Fritzbox, ohne das ich die Firmware verändern muss.

Dieter
 
Ich verneige mich vor dieser Lösung!

friwi.beckmann :groesste:

Nach dem ich stundenlang das Internet nach einer Lösung für "Laserjet 1018 funktioniert nicht an Fritzbox" gesucht hatte stoße ich hier in meinem Lieblingsforum auf die Lösung! Respekt und danke für den Denkanstoß!
Ich wäre nie darauf gekommen das dieser verdammte Drucker sein "Bertriebsystem" vom Computer runterläd!

auf www.pc-doktor-bonn.de/media/ship1018.dl
habe ich die firmware mal für euch bereitgestellt falls diese lösung jemand für den HP Laserjet 1018 benutzen mag.
 
Zuletzt bearbeitet:
Script verfeinern.....

Ich war so frei diesen code für mich anzupassen ( Deskjet 1018 )

Code:
# Find device's strings...
		for var in `/sbin/lsusb -s -h $3|tr " " "_"`; do
			if echo $var | grep "='" > /dev/null 2>&1; then
				eval $var
			fi
		done
		echo "${MANU:=USB}:${PROD:=Printer}"|tr "_" " " > $PRINTER_ID_FILE
		
		# Download the printer firmware
		cat /var/tmp/ship1018.dl > /dev/usblp0
		
		# Starting printserver...
		if ! $BIN -d $USB_DEVICE -p $PORT -c $CONSOLE; then
			eventadd 153
		fi

Ich habe aber nun die Befürchtung, das wenn ich einen anderen Drucker dranhänge wie zum Beispiel meinen Canon i865 das der Drucker erstmal mit der Firmware des 1018 "vergewaltigt" wird.
Ich stelle mir nun vor eine abfrage, die vor dem fw upload erstmal nachfragt, welcher drucker am an der FB hängt. Kann man nicht irgendwie über die Vendor ID bzw Geräte ID vom Drucker auslesen?
und an hand derer die firmware uploaden oder halt nicht?

Frei nach dem Motto:

Code:
 wenn usb geräte id gleich Deskjet1018 dann lade Firmware hoch.
wenn nicht überspringe firmwareupload

kann mir jemand bei diesem vorhaben helfen?
weil meine scripting fähigkeiten sind da begrenzt.

Gruß M.
 
Alternative für HP LJ P1005

Hallo,

ich bin auf euer Thema gestoßen, da ich nach einer Lösung für meinen HP LaserJet P1005 gesucht habe.

Ich habe mir eure Tips angenommen und für mich eine kleine Alternative in Ruby "programmiert":

http://sites.google.com/site/gruenanet/programming_ruby/ruby-projects#TOC-Firmware-uploader-win32

Unter Windows wird ein Link im Autostart-Ordner angelegt, so daß die Firmware mit dem Windowsstart per TCP/IP kopiert wird.

Da in Ruby programmiert, müßte es auch unter Linux einsetzbar sein (siehe Source) => http://github.com/weagruena/FirmwareUploader

Vielleicht findet sich ja ein "Freiwilliger" zum Testen => Rückmeldung erwünscht ;-)
 
Zuletzt bearbeitet:
Es ist ja schön, daß Du in Ruby so etwas schreiben kannst, aber der Nachteil ist, daß man erstmal Ruby braucht. Ruby ist weder auf meinen Windows-Rechnern noch auf den Linux-Rechnern drauf, so daß ich das Programm gar nicht nutzen könnte. Vielleicht installiert das Windows-Setup auch gleich Ruby mit, das wäre erst Recht ein Grund, es nicht aufzurufen. Je weniger Programme auf einem Windows-PC installiert sind, umso größer die Wahrscheinlichkeit, daß er vernünftig läuft.

Die Übertragung einer vorhandenen Datei sollte auch einfach mit netcat funktionieren.
 
Hallo,

erst mal schön zu sehen, dass es nicht alleine meine Unfähigkeit ist, die den Netzwerkdruck bei mir verhindern.

Allerdings habe ich immernoch ein Problem, trotz dem netten Programm, das wea-gruena eingestellt hat.

Ich habe die config.txt geändert, als IP-Eintrag die IP meines Printservers (TP-Link TL-WPS510U), port 9100 (habe gelesen, das wäre der Standardport), der Dateiname passt ja.

Wenn ich upload nun ausführe, reagiert mein Laserjet P1005 zwar und gibt Laut, und das command-fenster sagt auch vor dem Verschwinden noch kurz, dass die Datei transferiert wird, Druckaufträge werden aber leider weiterhin nicht angenommen.

Mein Laptop läuft mit Win 7 Home, dazwischen steht eine Fritz!Box WLAN 3170.

Kann mir jemand vielleicht weiterhelfen? Ich bin allerdings ein relativer Informatiknoob, für die Printserverinstallation hat es gerade gereicht...
 
Hallo Logomantos,

es freut mich, daß sich jemand "erbarmt" hat, mein Programm zu testen ;-)

Das Verhalten, das du beschrieben hast, ist so gewünscht, d.h. mein Programm macht nix anderes als die benötigte Firmware zum Drucker zu schicken.
Wenn der darauf reagiert, ist das schon mal ein gutes Zeichen ;-)

Sollte das Drucken danach immer noch nicht funktionieren, tippe ich auf eine unsaubere Druckerkonfiguration im Windows bei dir. Such mal dort.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.