Volker Englisch <
e...@rsli.inka.de> wrote:
> Auf einem NetBSD-Server läuft der lpd mit Parameter -r -w 3600.
> Dort gibt es verschiedene Drucker. Beispiel mit einem Laserdrucker, der
> direkt über Ethernet im Netz hängt. /etc/printcap:
> SW-Laser|2|Brother HL-2250DN:\
> :sh:mx#0:lp=:rm=swlaser:rp=9100:\
> :sd=/var/spool/output/p2:\
> :lf=/var/log/lpd-errs:
> Wird ein Druckauftrag an diesen Drucker abgestellt und der Drucker ist
> ausgeschaltet, bleibt der Auftrag im Spool. Wird der Drucker
> eingeschaltet, wird der Auftrag gedruckt. So wünsche ich mir das :-)
Der Spooler im BSD-Rechner erkennt, dass der Drucker ausgeschaltet ist
und wartet mit dem Drucken, bis der Drucker bereit ist.
> Beispiel mit einem Matrixdrucker, der mit seinem parallelen Anschluß an
> einem separaten Printserver (D-Link DP-100) hängt. Letzterer hat
> natürlich auch eine Ethernetverbindung ins LAN. /etc/printcap:
> NadelA4|4|NEC Pinwriter P2Q:\
> :sh:lp=:rm=ps0:rp=port2:\
> :sd=/var/spool/output/p4:lf=/var/log/lpd-errs:\
> :pl#72:af=acct:
> Wird ein Druckauftrag an diesen Drucker abgestellt und der Drucker ist
> ausgeschaltet, wird der Auftrag von lpq für ein paar Sekunden angezeigt.
> Dann ist er ins Nirvana verschwunden.
Hier funktioniert das nicht. Offenbar nimmt der D-Link Printserver den
Auftrag an, damit geht der Druckerspooler im BSD-Rechner davon aus,
dass der Auftrag gedruckt wurde und löscht ihn.
> Mit dem Parameter -w von lpd habe ich schon ein wenig "herumgespielt",
> es ist egal welcher Wert dort steht, das Verhalten ist immer das
> gleiche.
In der manpage steht dazu:
-w The -w flag sets maxwait as the wait time (in seconds)
for dead remote server detection. If no response is returned
from a connected server within this period, the connection is
closed and a message logged. The default is 120 seconds.
Das von Dir beschriebene Verhalten interpretiere ich so, dass der
BSD-Rechner eine Antwort vom D-Link Printserver erhält, daher wird
diese Option nie getriggert.
> Irgendeine Idee, an welcher Stelle man da schrauben muß? Ein Problem des
> Druckservers, oder kann man da am System etwas besser einstellen?
Für mich sieht das nach einem Konfigurationsproblem beim D-Link
Printserver aus. Ich sehe zwei Fehlerquellen:
a) Er nimmt den Auftrag an, obwohl der Drucker nicht bereit ist.
b) Er speichert den Auftrag nicht, sondern schickt ihn sofort an den
nicht eingeschalteten Drucker.
Nach meinem Verständnis müsste der D-Link bei ausgeschaltete Drucker
entweder an den BSD-Rechner melden, dass der Drucker nicht bereit ist,
so dass der BSD-Rechner den Auftrag zurückhält, oder der D-Link müsste
den Auftrag annehmen und selber spoolen, bis der Drucker bereit ist.
Was davon zutrifft, oder ob es noch ein ganz anderes Problem ist (z.B.
ein defektes Kabel zum Drucker oder eine fehlerhafte Einstellung am
Drucker), kann aus der Ferne natürlich niemand sagen, aber ich denke,
Du musst im Umfeld des D-Link oder des Druckers suchen.
Grüße
Martin