Brother DCP130c unter CUPS - cannot execute binary file

Einrichten des Druckers und des Drucksystems, Scannerkonfiguration und Software zum Scannen und Faxen.
Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 26.02.2009 23:33:47

kupschi hat geschrieben:hier der Link zu meiner aktuellen cupsd.conf:

http://nopaste.debianforum.de/19390
Hm, da sind einige Fehler drin, ich gebe dir mal meine cupsd.conf, die das macht, was du erreichen wolltest:
http://nopaste.debianforum.de/get/19392
Probiere es bitte mit dieser Datei, denn damit ist garantiert, dass du eine funktionierende cupsd.conf hast.
Und starte nach dem Ersetzen der cupsd.conf mal die NLSU2 komplett neu!
kupschi hat geschrieben:Muss hier der spezielle cups-User angegeben werden und wenn ja, wie heißt dieser und welches PW hat er beim Einrichten bekommen?
Nein, root geht.
kupschi hat geschrieben:Warum gibt es bei mir eigentlich kein /dev/usb/lp0
Drucker an?
kupschi hat geschrieben:Wenn dir noch Daten fehlen oder ich die error_log noch einmal "nopasten" soll, einfach bescheid geben!
Ich warte noch auf den Ausschnitt der Log-Datei (error_log und evtl. auch pcap aus Wireshark) und zwar von dem Zeitraum, beginnend mit dem Klick auf "weiter" bei der URI-Eingabe unter Windows und endend bei Erscheinen der Fehlermeldung unter Windows. :)

Gruß,
Daniel

kupschi
Beiträge: 17
Registriert: 20.02.2009 14:02:07

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von kupschi » 27.02.2009 00:01:34

Hi,
nach dem Ersetzen der cupsd.conf blieb mir nichts anderes übrig, als die NSLU2 neu zu starten, da beim Versuch, den cupsd (neu) zu starten, folgende Meldung kommt:

Code: Alles auswählen

Message from syslogd@NSLU2 at Thu Feb 26 23:55:17 2009 ...
NSLU2 cupsd: Unable to read configuration file '/etc/cups/cupsd.conf' - exiting!
cupsd: Child exited with status 1!
Hmmm...ich lass es für heute erstmal sein und melde mich morgen nochmal!

P.S.: Also mit dieser Version der Datei läßt sich cupsd definitiv nicht starten.

Der Drucker ist übrigens an, aber mit /dev/usb/lp0 stand dort noch nie etwas, das habe ich lediglich aus einem Buch. Der Anschluß wird in der WebUI auch mit "usb://Brother/DCP-130C" angegeben. Ich kann doch aber auch direkt an das Device etwas senden, oder? Ist evtl. etwas mit USB bei mir nicht korrekt konfiguriert?

Viele Grüße

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 27.02.2009 00:50:05

kupschi hat geschrieben:P.S.: Also mit dieser Version der Datei läßt sich cupsd definitiv nicht starten.
Dann machst du etwas falsch!

Ich habe die Datei eben nochmals auf einem anderen System getestet, funktioniert völlig problemlos:

Code: Alles auswählen

cd /tmp
wget http://nopaste.debianforum.de/get/19392
mv 19392 /etc/cups/cupsd.conf
chmod 644 /etc/cups/cupsd.conf
chown root:root /etc/cups/cupsd.conf
/etc/init.d/cups restart
(alles als root)
kupschi hat geschrieben:Ich kann doch aber auch direkt an das Device etwas senden, oder?
Kannst du machen, nur wird dann entweder nichts aus dem Drucker herauskommen oder irgendetwas Sinnloses.
kupschi hat geschrieben:Ist evtl. etwas mit USB bei mir nicht korrekt konfiguriert?
Was sagt:

Code: Alles auswählen

lpstat -v
lpstat -a
lpstat -p
Gruß,
Daniel

kupschi
Beiträge: 17
Registriert: 20.02.2009 14:02:07

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von kupschi » 27.02.2009 09:36:21

Hi,
ich habe alles noch einmal gemacht wie beschrieben, jedoch:

Code: Alles auswählen

NSLU2:/etc/cups# /etc/init.d/cupsys start
Starting Common Unix Printing System: cupsdcupsd: Child exited with status 1!
NSLU2:/etc/cups#
Message from syslogd@NSLU2 at Fri Feb 27 09:19:14 2009 ...
NSLU2 cupsd: Unable to read configuration file '/etc/cups/cupsd.conf' - exiting!
Bei mir existiert kein /dev/usb/lp0.

Mir wäre ja egal, was aus dem Drucker kommt, Hauptsache, es kommt überhaupt einmal etwas aus dem Drucker, so dass ich weiß, welches die korrekte Gerätedatei ist!??

Der Befehl lpstat zeigt jetzt mit allen Optionen natürlich:

Code: Alles auswählen

lpstat: Unable to connect to server
Irgendwo in der cupsd.conf MUSS ein Fehler sein, evtl. ist das Format etwas anders aufgrund unserer unterschiedlichen Versionen? Ich habe die 1.2.7.

Viele Grüße

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 27.02.2009 14:46:15

Verwendest du Etch?
kupschi hat geschrieben:Bei mir existiert kein /dev/usb/lp0.
Was ergibt denn:

Code: Alles auswählen

find /dev -name "*lp0*"
Ich wollte dir das mit meiner cupsd.conf eigentlich erleichtern, aber deine CUPS-Version versteht meine Datei anscheinend nicht, sorry dafür, aber hier jetzt die definitiv passende Datei für dich, das ist die unveränderte Original-Datei aus Etch:
http://nopaste.debianforum.de/get/19413

Nach dem Ersetzen der cupsd.conf, CUPS neu starten und dann aktivierst du noch im CUPS-Webinterface:
1.) "Verteile publizierte Drucker welche mit diesem System verbunden sind"
2.) "Erlaube entfernte Verwaltung"
3.) "Speichere Fehlerinformationen für Fehlersuche"
Da du mit der original Konfiguration nicht von anderen Rechnern auf die CUPS-Webinterface kommst, installiere dir das Paket w3m auf der NSLU2 und rufe dann auf:

Code: Alles auswählen

w3m -o accept_language=de http://localhost:631/admin/
damit kannst du dann die drei Einstellungen vornehmen. :-)
Nach dem Usernamen (root eingeben) und dem Passwort wirst du unten in der Statusleiste gefragt.
Mit den Pfeiltasten kannst du navigieren und mit der Eingabetaste kannst du den aktuellen Link über dem sich gerade der Cursor befindet aufrufen und auch Optionen aktivieren.
Beenden kannst du w3m mit "q" gefolgt von einem "y".

Jetzt kannst du auch wieder von einem anderen Rechner aus, auf das CUPS-Webinterface zugreifen.

Dann hast du eine mit Sicherheit fehlerfreie und passende Konfiguration. :-)

Gruß,
Daniel

kupschi
Beiträge: 17
Registriert: 20.02.2009 14:02:07

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von kupschi » 27.02.2009 18:26:43

Hi,
der genannte Suchbefehl führt zu folgendem Ergebnis:

Code: Alles auswählen

/dev/.static/dev/usb/lp0
/dev/.static/dev/lp0
Ist der Drucker angeschlossen und eingeschaltet, werden tatsächlich außerdem noch *räusper* folgende Zeilen ausgegeben:

Code: Alles auswählen

/dev/usb/lp0
/dev/.udev/db/class@usb@lp0
Doch was hat es mit dem "Anschluß" "usb://Brother/DCP-130C" auf sich, der direkt beim eingerichteten Drucker als "Device-URI" angegeben ist?

Ich habe jetzt eben folgendes gemacht:

a) cupsd.conf aus meiner Sicherung eingespielt
b) cupsys gestartet und per WebUI das DefaultConfigurationFile geladen und gespeichert (Zugriff auf admin-Bereich und andere Bereiche der WebUI klappt nicht mehr)
c) Listen localhost:631 durch Listen 631 ersetzt und in den Location-Blöcken das Allow localhost durch Allow @LOCAL ersetzt, damit der Zugriff via WebUI klappt (zum einen die Verbindung als solche und zum anderen die Erlaubnis - es kommen sonst ggf. 403 - Forbidden - Seiten)
d) Die Punkte "Verteile publizierte Drucker" und "Speichere Fehlerinformationen für Fehlersuche" aktiviert (der andere Punkt "Erlaube entfernte Verwaltung" war bereits wegen meiner händischen Änderung aktiv) und CUPS neu starten lassen
e) auf meinem anderen PC noch den Eintrag in der hosts-Datei vorgenommen, da nach dem Ändern dieser beiden Punkte nun plötzlich statt der IP der Name der NSLU2 in der Browseradresszeile vorgegeben wurde :-)
f) versucht, den Drucker unter WinXP einzubinden...

... UND ES KLAPPT !!!

Ich habe jetzt zwar doch manuell in der Datei rumgefriemelt, aber die Änderungen beschränkten sich auf das genannte.

ICH KANN ES GAR NICHT GLAUBEN - ES FUNKTIONIERT - EIN TESTDRUCK KAM ERFOLGREICH AUS DEM DRUCKER !!!

TAUSEND DANK an dieser Stelle für die Unterstützung und die geduldige Hilfe !!!

Ich werde in den nächsten Tagen noch einmal kleine Änderungen an der config vornehmen und dann testen, welche nun die war, die dem ganzen im Wege stand! Obwohl ich mir auch sehr sicher bin, dass die Gerätedatei /dev/usb/lp0 zuvor nicht existierte. Woran erkenne ich, dass dies diejenige ist, die den Drucker repräsentiert? Und wie war das mit dem usb:://Brother/DCP-130C?

Ich werde auch nochmal schauen, ob der Drucker eingeschaltet sein muss, bevor der Server startet, oder man den Drucker auch später zuschalten darf. Da gab es im Netz kleine Kniffe, wie man sie wohl auch in der Konfiguration vornehmen muss?

Der Vollständigkeit halber hier die Ausgaben des lpstat-Kommandos mit den jeweiligen Optionen (zur Erklärung: ich hatte noch eine Klasse eingerichtet, da es ohne eine solche unter Win2000 zu Problemen kommen soll - unter XP wird diese aber nicht benötigt):

Code: Alles auswählen

NSLU2:/dev/usb# lpstat -v
device for Farbe: ///dev/null
device for rawbrdcp130c: usb://Brother/DCP-130C
NSLU2:/dev/usb# lpstat -a
Farbe accepting requests since Tue Feb 24 19:21:56 2009
rawbrdcp130c accepting requests since Tue Feb 24 19:32:18 2009
NSLU2:/dev/usb# lpstat -p
printer Farbe is idle.  enabled since Tue Feb 24 19:21:56 2009
printer rawbrdcp130c is idle.  enabled since Tue Feb 24 19:32:18 2009
Vielen vielen Dank noch einmal! Ich berichte an dieser Stelle wieder, wenn das Übel entdeckt ist!

Viele Grüße

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 27.02.2009 18:50:16

kupschi hat geschrieben:Ist der Drucker angeschlossen und eingeschaltet, werden tatsächlich außerdem noch *räusper* folgende Zeilen ausgegeben:
Ja, /dev/usb/lp0 gibt es nur, wenn der Drucker angeschlossen und angeschaltet ist.
kupschi hat geschrieben:Doch was hat es mit dem "Anschluß" "usb://Brother/DCP-130C" auf sich, der direkt beim eingerichteten Drucker als "Device-URI" angegeben ist?
Der Drucker meldet sich am System mit seiner Kennung, also das er von Brother ist, welches Modell u.s.w.
Aus diesen Informationen wird die oben genannte URI erzeugt.
Du hättest zwar anstatt usb://Brother/DCP-130C auch usb://dev/usb/lp0 angeben können, das hätte dann aber den Nachteil, dass der Drucker nicht mehr erkannt würde, wenn sich der Anschluss z.B. von lp0 auf lp1 ändern sollte, wenn du ihn über den Namen ansprichst, dann wird er dennoch weiterhin gefunden.
kupschi hat geschrieben:Ich werde auch nochmal schauen, ob der Drucker eingeschaltet sein muss, bevor der Server startet, oder man den Drucker auch später zuschalten darf.
Der Drucker muss nicht angeschaltet sein.
Übrigens muss der Drucker noch nicht einmal angeschlossen sein, wenn du ihn unter Windows als CUPS-Netzwerkdrucker hinzufügst. :-)
kupschi hat geschrieben:Da gab es im Netz kleine Kniffe, wie man sie wohl auch in der Konfiguration vornehmen muss?
Welche Kniffe genau?

Gruß,
Daniel

kupschi
Beiträge: 17
Registriert: 20.02.2009 14:02:07

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von kupschi » 28.02.2009 15:52:04

Hi,
Welche Kniffe genau?
Wie ich das im Netz gelesen habe, deaktiviert sich der Spooler, wenn man den Drucker ausschaltet. Angeblich muss man in der printers.conf mittels der Zeile "ErrorPolicy retry-job" dafür sorgen, dass dies nicht passiert. Zudem kann dieser Wert mittels Einträgen in der cupsd.conf genauer spezifiziert werden: "JobRetryInterval 15" und "JobRetryLimit 120".

Aber wie ich das sehe, klappts bei mir auch ohne diese Einträge.

Allerdings fällt mir etwas anderes auf:

Drucke ich (übers WLAN) eine kleine ASCII-Datei aus Notepad, so geht das sehr fix. Eine HTML-Datei mit 27kB Größe braucht schon ein paar Sekündchen länger, doch beim Drucken eines mehr als 1seitigen PDF-Dokuments geht der Rechner völlig in die Knie (Auftrag in Warteschlange, Acrobat und Rechner stürzen ab).

Ein 25kB großes 1seitiges PDF habe ich drucken können, doch wenn ich hier einige Parameter verändere (Mehrseitendruck), so stürzt auch das ab. Ähnlich, wenn ich bei einem mehrseitigen Dokument nur eine bestimmte Seite drucken möchte. Ich hatte schon überlegt, obs an dem Treiber liegt, der unter WinXP eingebunden ist, doch das ist ja dasselbe, als wenn ich den Drucker von CD installiere? Der direkte Druck via USB klappt auch!?!

Wie kann ich unter debian eigentlich ganz schnell eine Datei zum Drucker senden - geht das nur mit lp(r) & Co., oder fkt. auch cat /verzeichnis/datei > /dev/usb/lp0? Augenscheinlich nicht...?

Vielen Dank
und viele Grüße

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 28.02.2009 16:13:26

kupschi hat geschrieben:Wie ich das im Netz gelesen habe, deaktiviert sich der Spooler, wenn man den Drucker ausschaltet.
Nein, das ist falsch.
kupschi hat geschrieben:Angeblich muss man in der printers.conf mittels der Zeile "ErrorPolicy retry-job" dafür sorgen, dass dies nicht passiert.
Die Fehlerbehandlung "retry-job" sorgt dafür, dass wenn der Drucker ausgeschaltet ist und ein Druckauftrag gegeben wird, CUPS regelmäßig nach sieht, ob der Drucker wieder angeschaltet ist, um dann den Druckauftrag an den Drucker zu senden.
Standardmäßig steht die Fehlerbehandlung auf "stop-printer", dies hat zur Folge, dass wenn du einen Druckauftrag sendest und der Drucker ist hierbei nicht eingeschaltet, CUPS den Drucker deaktiviert und zwar solange, bis du ihn wieder unter CUPS manuell aktivierst.
kupschi hat geschrieben:doch beim Drucken eines mehr als 1seitigen PDF-Dokuments geht der Rechner völlig in die Knie (Auftrag in Warteschlange, Acrobat und Rechner stürzen ab).
Windows eben. :lol:
kupschi hat geschrieben:Ich hatte schon überlegt, obs an dem Treiber liegt, der unter WinXP eingebunden ist, doch das ist ja dasselbe, als wenn ich den Drucker von CD installiere?
Vielleicht mal die neuste Version des Treibers von Brother herunterladen und ausprobieren?
kupschi hat geschrieben:oder fkt. auch cat /verzeichnis/datei > /dev/usb/lp0?
Nein.

Gruß,
Daniel

kupschi
Beiträge: 17
Registriert: 20.02.2009 14:02:07

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von kupschi » 04.03.2009 16:08:54

Hi,

vielen Dank für die Informationen - ich habe in den letzten Tagen (seit es funktioniert) gar nicht mehr an der Sache rumgewerkelt, weshalb ich mich auch jetzt erst wieder melde.
Windows eben.
Naja, unter Windows klappt das ja mit dem Drucken, wenn der Drucker direkt am USB-Port hängt. Das ganze klappt nur dann nicht, wenn der Drucker eben am Server angeschlossen ist. Inzwischen habe ich das Problem zumindest teilweise lösen können - will man 2 Seiten auf einer drucken, so sollte dies nicht schon im Word-Drucken-Dialog angegeben werden, sondern erst in den Eigenschaften des Druckers ("2 Seiten auf 1"). Ist diese Einstellung gesetzt, so darf man dann sogar dieselbe Option im Word-Drucken-Dialog aktivieren - allerdings werden dann 4 Seiten auf 1 gedruckt, da diese Option ja zweimal gesetzt ist und erst die eine, dann die andere ausgeführt wird. Bei einem mehrseitigen (>=3) Dokument habe ich das noch nicht getestet.
Vielleicht mal die neuste Version des Treibers von Brother herunterladen und ausprobieren?
Brother bietet scheinbar nur Komplettpakete an, die die 50 MB deutlich übertreffen. :-)
cat /verzeichnis/datei > /dev/usb/lp0 ... fkt. nicht
In einem Buch steht: # echo "Test" > /dev/usb/lp0 würde genau "Test" als ASCII auf dem Drucker ausgeben - bei mir passiert aber tatsächlich nichts - woran liegts?

Vielen Dank und viele Grüße

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Brother DCP130c unter CUPS - cannot execute binary file

Beitrag von Danielx » 04.03.2009 20:50:57

kupschi hat geschrieben:Naja, unter Windows klappt das ja mit dem Drucken, wenn der Drucker direkt am USB-Port hängt.
Dennoch kann das Problem nur auf der Windows-Seite liegen!
kupschi hat geschrieben:Brother bietet scheinbar nur Komplettpakete an, die die 50 MB deutlich übertreffen. :-)
Nein, das ist nicht richtig, ohne die optionale Software ist der Download nur ca. 6 MB groß.
kupschi hat geschrieben:In einem Buch steht: # echo "Test" > /dev/usb/lp0 würde genau "Test" als ASCII auf dem Drucker ausgeben - bei mir passiert aber tatsächlich nichts - woran liegts?
Das funktioniert nur, wenn der Drucker die direkte Eingabe von ASCII versteht!
Du kannst es auch mal so probieren:

Code: Alles auswählen

echo -en "Test\f" > /dev/usb/lp0
Aber wahrscheinlich versteht dein Drucker einfach kein ASCII.

Gruß,
Daniel

Antworten