===== Netzwerkdrucker ===== Die (c4p)-Konverter besitzen einen eigenen Netzwerktreiber für das RAW-Protokoll, der es dem Konverter gestattet, bereits beim Konvertieren die Verbindung mit dem Drucker aufzunehmen, und die konvertierten Druckdaten zum Drucker zu übertragen, während noch eine Netzwerkverbindung zum druckenden Host-Rechner existiert. Dadurch entfällt das Spoolen wie beim lokalen Drucker und das Spool-System des Host-Rechners weiss, wann wirklich gedruckt wird. Ist ein Druckauftrag aus den Spool-System verschwunden, ist er auch tatsächlich zum Drucker geschickt und von diesem zu Papier gebracht worden. {{convert4print:handbuch_entry:stream6.png}} Für die meisten Laserdrucker bietet das RAW-Protokoll eine bidirektionale Netzwerkverbindung. Status- und Fehlermeldungen erreichen also den (c4p)-Konverter, und können von diesem empfangen und ausgewertet werden. Der dabei zugrunde liegende Druckerdatenstrom ist PJL. Die %%PJL%%-Status- und Fehlermeldungen 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, wieder %%PJL%%, übersetzt wird. 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. Für den Fall, daß der druckende Host-Rechner ebenfalls ein RAW-Protokoll mit %%PJL%%-Kommandos benutzt, wird von (c4p) ebenfalls unterstützt. Sowohl als unidirektionale als auch als birektionale Verbindung. Im Falle eines %%PJL%%-fähigen Laserdruckers werden allerdings die %%PJL%%-Kommandos und %%PJL%%-Meldungen nicht nur einfach durchgereicht. Es erfolgt eine Konvertierung der vom Drucker empfangenen Statusmeldungen auf standardisierte Meldungen an den druckenden Rechner innerhalb des Konverters. {{convert4print:handbuch_entry:stream8.png}} Ganz unabhängig vom %%PJL%%-Protokoll steht für %%PCL%%-Drucker auch eine Überwachung mittels SNMP zur Verfügung. Diese basiert auch den normierten Host-, Interface- und Printer-MIBs. Für einige besondere Drucker ist eine weitergehende %%SNMP%%-Unterstützung verfügbar, die zum Beispiel auch im Drucker vorhandene Spool-Systeme überwachen kann. \\ === Hinweise === * Die verschiedenen Möglichkeiten bei der Datenübertragung an den Drucker können in einer (c4p) Installation beliebig miteinander kombiniert werden. * Damit ein %%PJL%%-fähiger Drucker mit einem (c4p)-Konverter betrieben werden kann, muß er die Kommandos ECHO, INFO STATUS, USTATUS JOB, USTATUS PAGE, USTATUS TIMED, USTATUS DEVICE und USTATUSOFF sowie die dazugehörigen Rückmeldungen unterstützen.\\ \\ Ohne USTATUS TIMED, oder wenn die vom Drucker selbst erzeugten Meldungen nicht von der Netzwerkkarte als Netzwerkverkehr erkannt werden, müssen eventuell auf der Netzwerkkarte eingestellte Verbindungszeitsperren abgestellt werden, damit in erzwungenen Druckpausen (Papierende, etc) die Verbindung nicht durch die Netzwerkkarte wegen vermeintlicher Inaktivität getrennt wird.\\ \\ Sollte ein Inaktivieren dieser Zeitsperre nicht möglich sein, sollte sie auf den größtmöglichen Wert gesetzt werden. Treten dann doch zu lange Druckpausen auf, muss der Drucker auf dem druckenden Rechner neu gestartet werden. * Damit ein Drucker mit einem SNMP-fähigen Netzwerkadapter mit einem (c4p)-Konverter betrieben werden kann, muß er die Host-, die Interface- und die Printer-MIB unterstützen. Im einzelnen müssen folgende OIDs gültige Werte liefern, beziehungsweise definiert sein (alle beginnen mit iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).): .host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1).hrDeviceIndex(1).(1) .host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1).hrDeviceType(2).(1) .host(25).hrDevice(3).hrDeviceTypes(1).hrDevicePrinter(5) .host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1).hrDeviceStatus(5).(1) .host(25).hrDevice(3).hrPrinterTable(5).hrPrinterEntry(1).hrPrinterStatus(1).(1) .host(25).hrDevice(3).hrPrinterTable(5).hrPrinterEntry(1).hrPrinterDetectedErrorState(2).(1) .printmib(43).prtAlert(18).prtAlertTable(1).prtAlertEntry(1).prtAlertSeverityLevel(2) .printmib(43).prtAlert(18).prtAlertTable(1).prtAlertEntry(1).prtAlertGroup(4) .printmib(43).prtAlert(18).prtAlertTable(1).prtAlertEntry(1).prtAlertGroupIndex(5) .printmib(43).prtAlert(18).prtAlertTable(1).prtAlertEntry(1).prtAlertLocation(6) .printmib(43).prtAlert(18).prtAlertTable(1).prtAlertEntry(1).prtAlertCode(7) .interfaces(2).ifTable(2).ifEntry(1).ifOutOctets(16).(2) .interfaces(2).ifTable(2).ifEntry(1).ifType(3) .interfaces(2).ifTable(2).ifEntry(1).ifInOctets(10).(x) * Für Multifunktionsdrucker mit internen Festplatten ist die Benutzung des %%PJL%%-Protokolls in der Regel sinnlos, weil diese Drucker spoolen, und deshalb keine Meldungen generieren. Falls doch Fehlermeldungen erzeugt werden, werden sie oft für den gerade gespoolten Job gemeldet, obwohl sie letztlich ein ganz anderer Druckauftrag ausgelöst hat.\\ \\ Für einige Drucker der Firma Xerox (WorkCentre 232, ff) steht ein auf SNMP basierendes proprietäres Druckerprokoll zur Verfügung, das gewährleistet, daß ein Druckauftrag gegenüber dem druckenden Rechner erst abgemeldet wird, wenn seine letzte Seite tatsächlich auf Papier ausgegeben wurde. Auch hier muss in der Konverterkonfiguration eine druckerspezifische Überwachung aktiviert werden - die Drucker werden dann automatisch erkannt. * Genaugenommen sind bei Verwendung des RAW-Protokolls ohne PJL-Unterstützung oft noch nicht alle Seiten eines Druckauftrags gedruckt, wenn alle Druckdaten zum Drucker übertragen sind, weil dieser in der Regel über mehr oder minder große Eingangspuffer verfügt, die eigentlich erst noch leerlaufen müßten, bevor die Netzwerkverbindung zum Host-Rechner und zum Drucker abgebaut werden dürften. Leider liefern Drucker keine Informationen darüber, ob ihr Eingangspuffer geleert ist. * Prinzipiell ist aber die Nutzung von %%PJL%% gegenüber %%SNMP%% vorzuziehen, da %%PJL%% die Statusmeldungen synchron in den Druckdatenstrom einbaut, während %%SNMP%% asynchron über eine parallele Netzwerkverbindung den Zustand des Druckers abfragt. * Werden PCL-Drucker ohne eigene Netzwerkschnittstelle über einen externen Ethernet-Adapter beispielsweise via USB betrieben, erkennt (c4p) nur den Ethernet-Adapter und fragt diesen bezüglich der Lizenzinformation ab. Es hängt sehr stark vom jeweiligen Adapter ab, ob das geht oder nicht. Eventuell liefert ein solcher Adapter auch immer die gleiche Information, sodaß nur ein einziger Drucker innerhalb einer (c4p)-Installation so betrieben werden kann.