===== Überwachung der Drucker ===== ==== Anforderung ==== Für die Betriebssicherheit eines (c4p)-Systems ist es auch wichtig, die Drucker selbst zu überwachen, um Ausfälle oder einfache Betriebsstörungen wie Papierstaus oder Tonermangel mitzubekommen. (c4p) kann zum einen Netzwerkdrucker direkt über TCP/IP ansteuern oder Drucker, die lokal am Rechner angeschlossen sind, über die Windows-Druckerwarteschlange mit Druckdaten versorgen. Im zweiten Fall ist klar, dass wegen des entkoppelten Druckvorgangs keinerlei Statusinformation in Realzeit zum (c4p)-System gelangt. Selbst die Erkennung, ob der Drucker überhaupt erreichbar ist, hängt sehr stark von der verwendeten Anschlussmethode und den eingesetzten Treibern ab. (c4p) verzichtet daher auf ein Monitoring der Windows-Druckerwarteschlangen. Der Druckauftrag gilt als erledigt, sobald die Druckerwarteschlange den Auftrag angenommen hat. Im Falle einer TCP/IP-Verbindung zum Drucker hat (c4p) allerdings eine ganze Reihe von Möglichkeiten, den Druckerstatus zu prüfen und gegebenenfalls, neben der Anzeige im Kontrollfeld des Konverter/Gateway-Servers, auch noch den Administrator zu benachrichtigen. \\ \\ ==== Realisierung ==== Die (c4p)-Konverter besitzen einen eigenen Netzwerktreiber für das sogenannte RAW-Protokoll, der es dem Konverter gestattet, bereits beim Bearbeiten der Eingangsdaten die Verbindung mit dem Drucker aufzunehmen, und die erzeugten Druckdaten direkt zum Drucker zu übertragen, während die Netzwerkverbindung zum druckenden Rechner noch besteht. Bei Verwendung des RAW-Protokolls ohne Überwachung des Druckerstatus sind oft noch nicht alle Seiten eines Druckauftrags auch wirklich gedruckt, wenn alle Druckdaten zum Drucker übertragen worden sind. Grund dafür sind mehr oder minder grosse Eingangspuffer des Druckers, die eigentlich erst noch leerlaufen müssten, bevor die Netzwerkverbindung zum Rechner und zum Drucker abgebaut werden dürfte. Der korrekte Zeitpunkt des Abbaus der Netzwerbverbindungen ist also von Statusinformationen des Druckers abhängig. (c4p) bietet daher drei Möglichkeiten, den Drucker zu überwachen. \\ \\ === PJL === Bei der Nutzung des RAW-Protokolls unterstützen die meisten Laserdrucker eine bidirektionale Netzwerkverbindung. Das heist, Status- und Fehlermeldungen des Druckers erreichen den (c4p)-Konverter und können von diesem empfangen und ausgewertet werden. Die für die Übermittlung von Statusinformationen meistens verwendeten Kommandos sind PJL-Kommandos. Diese können beim Senden des Druckdatenstroms synchron in den PCL-Druckdatenstrom eingebaut werden. Die Antworten auf diese Kommandos kommen in der Regel asynchron, weil sie von Ereignissen im Drucker (z.B. Blatt im Ausgabeschacht, Papierende, etc) abhängig sind. Die PJL-Status- und Fehlermeldungen des Druckers werden vom Konverter in einen internen Konverterstatus übersetzt, der dann auf der Netzwerkverbindung zum druckenden Rechner in eine entsprechende Status- oder Fehlermeldung des dort benutzten Datenstroms übersetzt wird. {{ convert4print:tips:0048-1.png}}Auf diese Weise behält der druckende Rechner die Kontrolle über den Drucker und kann seinem Benutzer korrekte und den Tatsachen entsprechende Status- und Fehlermeldungen anzeigen. Bei entsprechend ausgestatteten Drucksystemen weis der druckende Rechner genau, welche Seite bereits im Ausgabefach liegt. Auch werden so komplexe Operationen wie das seitengenaue Aufsetzen nach Fehlern überhaupt erst möglich. Der (c4p)-Konverter kann das für den Transport von Status- und Fehlermeldungen benutzte PJL-Protokoll betreiben. Der Konverter gibt selbst PJL-Kommandos aus, um den Druckerstatus zu überwachen. \\ \\ === SNMP === Alternativ ist auch eine Druckerüberwachung mit Hilfe des Protokolls SNMP (Simple Network Management Protocol) möglich. SNMP benutzt keine gesicherte TCP/IP-Verbindung, sondern arbeitet mit dem verbindungslosen Protokoll UDP (User Datagram Protocol). {{ convert4print:tips:0048-2.png}}Für die Verwendung von SNMP ist es erforderlich, dass die Netzwerkschnittstelle des Druckers die Host-MIB (Management Information Base) und die Interface-MIB unterstützt. Mit dem SNMP-Protokoll werden Statusmeldungen des Druckers, wie zum Beispiel Papier- oder Tonerende an den Konverter weitergegeben, der sie in entsprechende Meldungen für das Host-System übersetzt. Eine seitengenaue Synchronisation zwischen Drucker und Hostsystem wie mit PJL ist mit SNMP systembedingt leider nicht möglich. Da SNMP aber zeitlich parallel zum Druckdatenstrom verwendet wird, ist es immer asynchron, kann also Ereignisse wie Papierende nicht konkret einem Druckauftrag oder gar einer Druckseite zurordnen. Es kann vorkommen, dass Ereignisse zu einem Zeitpunkt gemeldet werden, in dem weder eine TCP/IP-Netzwerkverbindung zum Drucker noch zum druckenden Rechner besteht. In diesen Fällen erscheint auch keine Statusanzeige im Kontrollfeld des Konverter/Gateway-Servers. Deshalb ist das PJL-Protokoll vorzuziehen. \\ \\ === Druckerspezifisch === {{ convert4print:tips:0048-3.png}}Diese Auswahl aktiviert die Verwendung eines druckerspezifischen, meist SNMP basierten Protokolls zur Kontrolle des Netzwerkdruckers. Diese Option wird für einige Multifunktionsdrucker von Xerox, für Drucker mit SEH Netzwerkadaptern, für Lexmark und für über EBox, FBox oder GBox angeschlossene Drucker verwendet. Mit Ausnahme der Xerox-Drucker wird seitengenaues Synchronisieren mit den hier verwendeten proprietären SNMP-Protokollen unterstützt. \\ \\ ==== Hinweise ==== * Damit ein PJL-fähiger Drucker mit einem (c4p)-Konverter betrieben werden kann, muss dieser die Kommandos ECHO, INFO STATUS, USTATUS JOB, USTATUS PAGE, USTATUS TIMED, USTATUS DEVICE und USTATUSOFF sowie die dazugehörigen Rückmeldungen unterstützen. * Das Kommando USTATUS TIMED wird benutzt, um in erzwungenen Druckpausen (Papierende, etc) den Verbindungsabbau durch die Netzwerkkarte im Drucker wegen vermeintlicher Inaktivität zu verhindern. Wird dieses Kommando nicht unterstützt, oder die vom Drucker selbst erzeugten regelmässigen Rückmeldungen werden von der Drucker-Netzwerkkarte nicht als Netzwerkverkehr erkannt, müssen eventuell auf der Netzwerkkarte eingestellte Verbindungszeitsperren abgestellt werden. \\ Sollte ein Inaktivieren dieser Zeitsperre nicht möglich sein, sollte sie auf den grösstmöglichen Wert gesetzt werden. Treten dann doch zu lange Druckpausen auf, muss der Druckprozess auf dem druckenden Rechner neu gestartet werden. * Für Drucker mit internen Festplatten und integriertem Spool-System ist die Benutzung des PJL-Protokolls in der Regel sinnlos, weil diese Drucker die Druckdaten zunächst nur empfangen, und deshalb keine Meldungen generieren. Falls doch Fehlermeldungen erzeugt werden, werden sie oft für den gerade übertragenen Druckauftrag gemeldet, obwohl sie letztlich ein ganz anderer Druckauftrag - eventuell sogar der eines anderen Rechners - ausgelöst hat. * Bei vielen Etikettendruckern ist die RAW-Netzwerkverbindung leider nur unidirektional oder es wird kein PJL-Protokoll unterstützt. Hier sollte in jedem Fall der Einsatz der Überwachung via SNMP geprüft werden. Geht auch das nicht, muss ohne Überwachung gedruckt werden.\\ Das heist, die Druckdaten laufen zwar zum Drucker, aber Status- oder Fehlermeldungen kommen nicht zurück. Im Falle eines Druckerproblems, wie Papierende oder -stau, merkt der Benutzer des druckenden Rechners lediglich, dass sein Druckauftrag sehr lange braucht oder //hängt//. // // Auch bei diesen Druckern gilt das weiter oben Gesagte bezüglich der auf der Netzwerkkarte einstellbaren Verbindungszeitsperren. * Der (c4p)-Konverter hält die Netzwerkverbindung zum Drucker über die gesamte Druckzeit und auch während erzwungener Pausen, zum Beispiel durch Papierende, offen. Dadurch ist es für andere Rechner nicht möglich, auf den Drucker zuzugreifen. Muß ein Drucker von mehreren verschiedenen Druckquellen aus beschickt werden, kann es sinnvoller sein, einen lokalen Windows-Drucker anzulegen, und den (c4p)-Konverter in die Warteschlange des Windows-Systems drucken zu lassen. Dadurch werden die Druckaufträge nach dem Prinzip //First In First Out// abgearbeitet und ein Administrator kann abschätzen, wann ein Druckauftrag wirklich ausgegeben wird. * Die verschiedenen Möglichkeiten bei der Datenübertragung an den Drucker können innerhalb des Konverter/Gateway Servers beliebig kombiniert werden.