LPRNG: Timeout bei langen Druckzeiten
Hallo, wenn ich einen "langen" Druckauftrag an einen direkt (lp0) angeschlossenen raw-Drucker schicke, steigt dieser nach knapp 2 Stunden (die Zeit mag schwanken, aber in dieser Größenordnung) grußlos aus. Zu drucken ist eine lange Ascii- Datei ohne viel Steuerzeichen auf einen NEC Nadeldrucker im raw-Modus. Um Fehler durch den (bei Suse 8.1 obligatorischen? - mit auskommentierter if-Zeile kam bei mir Zeilenkuddelmuddel an) if-Filter (:if= ... in printcap) auszuschließen, habe ich eine einfache cat-pipe stattdessen verwendet. Mit dem Standard- if hatte ich eine Fehlermeldung a la "if problems... Timeout". Mit dem cat-Filter findet sich im betreffenden spool-Verzeichnis in der status.pr (Zeilen umgebrochen): ... waiting for subserver to exit at 2004-12-01-09:54:26.822 ## A=<NULL> number=0 process=28994 subserver pid 28995 starting at 2004-12-01-09:54:26.823 ## A=xdvs@li nux+993 number=993 process=28995 opening device '/dev/lp0' at 2004-12-01-09:54:26.823 ## A=xdvs@linux +993 number=993 process=28995 printing job 'xdvs@linux+993' at 2004-12-01-09:54:26.823 ## A=xdvs@l inux+993 number=993 process=28995 processing 'dfA993linux.lan.vfg', size 1674063, format 'f', IF filte r 'rawlpdfilter' at 2004-12-01-09:54:26.823 ## A=xdvs@linux+993 numb er=993 process=28995 waiting for subserver to exit at 2004-12-01-10:01:49.326 ## A=<NULL> number=0 process=28994 ... waiting for subserver to exit at 2004-12-01-11:21:49.866 ## A=<NULL> number=0 process=28994 waiting for subserver to exit at 2004-12-01-11:31:49.875 ## A=<NULL> number=0 process=28994 IF filter 'rawlpdfilter' filter problems, error 'JTIMEOUT' at 2004-1 2-01-11:34:26.824 ## A=xdvs@linux+993 number=993 process=28995 printing finished at 2004-12-01-11:34:26.824 ## A=xdvs@linux+993 num ber=993 process=28995 finished 'xdvs@linux+993', status 'JTIMEOUT' at 2004-12-01-11:34:26. 824 ## A=xdvs@linux+993 number=993 process=28995 subserver pid 28995 exit status 'JTIMEOUT' at 2004-12-01-11:34:26.82 5 ## A=<NULL> number=0 process=28994 job 'xdvs@linux+993' error 'aborting operations' at 2004-12-01-11:34 :26.825 ## A=xdvs@linux+993 number=993 process=28994 sending mail to 'root' at 2004-12-01-11:34:26.825 ## A=xdvs@linux+99 3 number=993 process=28994 in der zugehörigen Job-Datei im Spoolverzeichnis: A=xdvs@linux+993 C=A D=2004-12-01-09:54:26.803 datafile_count=1 datafiles=N(STDIN).fdfA993linux.lan.vfg.UdfA993linux.lan.vfg. error=aborting operations error_time=0x41ad9e32 file_hostname=linux.lan.vfg filenames=(STDIN) H=linux.lan.vfg held=0x0 hf_name=hfA993 hold_class=0x0 hold_time=0x0 J=(STDIN) job_time=0x41ad86c2 job_time_usec=0xc825b number=993 P=xdvs printable=0x1 priority=A priority_time=0x0 Q=lp3 remotehost=localhost remoteport=0x0 server=0 size=1674063 start_time=0x41ad86c2 transfername=cfA993linux.lan.vfg unixsocket=0x1 update_time=2004-12-01-11:34:26.897 warum tut der das??? Kriegt er die Synchronisation mit dem langsameren Nadler nicht mehr hin? Aber schon lange vorher wartet der Drucker manchmal auf eine Zeile vom Spooler, weil der wohl "eingeschlafen" ist - da kriegt er das aber immer wieder hin. Oder gibt es generell eine Timeout-Einstellung für den lpr. Alles, was ich zu timeout in dem Zusammenhang gefunden habe, bezieht sich auf generell nicht erreichbare Geräte oder Netzwerkdrucker... ? jeder Tipp ist willkommen... Danke -- Joerg Thuemmler listen@vordruckleitverlag.de
Hallo, On Dec 1 13:40 Joerg Thuemmler wrote (shortened):
wenn ich einen "langen" Druckauftrag an einen direkt (lp0) angeschlossenen raw-Drucker schicke, steigt dieser nach knapp 2 Stunden (die Zeit mag schwanken, aber in dieser Größenordnung) grußlos aus.
Wieso "grußlos"? Es ist doch im Log alles recht gut dokumentiert.
subserver pid 28995 starting at 2004-12-01-09:54... ... finished 'xdvs@linux+993', status 'JTIMEOUT' at 2004-12-01-11:34... ... warum tut der das???
Weil es bei LPRng für (fast) alles eine Einstellmöglichkeit gibt und die Voreinstellungen eben dementsprechend sind. (Ein Fragezeichen genügt.)
Oder gibt es generell eine Timeout-Einstellung für den lpr.
Beim LPRng gibt es keine generelle Timeout-Einstellung, sondern etliche Timeout-Einstellungen. Wenn man LPRng auch für Sonderfälle selbst administrieren möchte, muss man das LPRng-HOWTO einmal komplett lesen, denn es gibt dermassen viele Einstellmöglichkeiten, dass man das passende kaum auf die Schnelle findet. Ich weiss jetzt auch keine Lösung sofort aus dem Kopf, aber mir scheint send_job_rw_timeout der eigentlich interessante Parameter zu sein, den der steht meiner Erinnerung nach per Default auf 6000 Sekunden (siehe "man printcap") was perfekt zu obigem Log passen würde: starting at 09:54 ... 'JTIMEOUT' at 11:34 send_job_rw_timeout findet man noch relativ leicht, wenn man nach "timeout" im LPRng-HOWTO sucht. Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
Johannes Meixner schrieb:
Hallo,
On Dec 1 13:40 Joerg Thuemmler wrote (shortened):
wenn ich einen "langen" Druckauftrag an einen direkt (lp0) angeschlossenen raw-Drucker schicke, steigt dieser nach knapp 2 Stunden (die Zeit mag schwanken, aber in dieser Größenordnung) grußlos aus.
Wieso "grußlos"? Es ist doch im Log alles recht gut dokumentiert.
korrekt. Ich meinte eher, weil auch bei lpr -VVV ... keine Fehlermeldung kommt
subserver pid 28995 starting at 2004-12-01-09:54...
...
finished 'xdvs@linux+993', status 'JTIMEOUT' at 2004-12-01-11:34...
...
warum tut der das???
Weil es bei LPRng für (fast) alles eine Einstellmöglichkeit gibt und die Voreinstellungen eben dementsprechend sind. (Ein Fragezeichen genügt.)
Oder gibt es generell eine Timeout-Einstellung für den lpr.
Beim LPRng gibt es keine generelle Timeout-Einstellung, sondern etliche Timeout-Einstellungen.
Wenn man LPRng auch für Sonderfälle selbst administrieren möchte, muss man das LPRng-HOWTO einmal komplett lesen, denn es gibt dermassen viele Einstellmöglichkeiten, dass man das passende kaum auf die Schnelle findet.
Ich weiss jetzt auch keine Lösung sofort aus dem Kopf, aber mir scheint send_job_rw_timeout der eigentlich interessante Parameter zu sein, den der steht meiner Erinnerung nach per Default auf 6000 Sekunden (siehe "man printcap") was perfekt zu obigem Log passen würde: starting at 09:54 ... 'JTIMEOUT' at 11:34
send_job_rw_timeout findet man noch relativ leicht, wenn man nach "timeout" im LPRng-HOWTO sucht.
Gruss, Johannes Meixner
Danke, ich denke send_job_rw_timeout wird es sein. Ich hatte das im Howto auch gefunden, es aber nur so verstanden, daß es bestimmt, wie lange der lprng versucht, ein Ausgabegerät zum Schreiben zu öffnen oder Daten zu senden, nicht, daß es den job selbst kontrolliert. Deshalb dachte ich, wenn der Druck einmal läuft, kann ein so langes timeout kaum auftreten, denn der Drucker sendet ja immer nach ein paar sec ein Ready und kriegt neue Daten. Muß das Howto nochmal in Ruhe lesen, hatte bis auf diesen Fall keinen Ärger mit lprng, der mit meinen verschiedenen Clients recht gut klarkommt, bei lprold, den ich bis voriges Jahr im Einsatz hatte, trat der Fehler definitv nicht auf. Danke für die Aufhellung im recht dunklen Dezember! -- Joerg Thuemmler listen@vordruckleitverlag.de
Hallo, On Dec 2 07:35 Joerg Thuemmler wrote (shortened):
Deshalb dachte ich, wenn der Druck einmal läuft, kann ein so langes timeout kaum auftreten, denn der Drucker sendet ja immer nach ein paar sec ein Ready und kriegt neue Daten.
Ich glaube nicht, dass davon der lpd etwas mitbekommt. Ich denke, das Datenhandshake findet zumindest beim Parallelport rein auf Kernelebene statt. Gruss, Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5 Mail: jsmeix@suse.de 90409 Nuernberg, Germany WWW: http://www.suse.de/
participants (2)
-
Joerg Thuemmler
-
Johannes Meixner