===== 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:tutorial:stream6.gif}} Bei vielen Matrix- und Etikettendruckern ist die RAW-Netzwerkverbindung leider unidirektional, 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 Host-Rechners lediglich, daß sein Druckauftrag sehr lange braucht oder 'hängt'. Für die meisten Laserdrucker bietet das RAW-Protokoll aber 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, z.B. IPDS, ü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. Bei entsprechend leistungsfähigen Host-Protokollen wie beispielsweise PPD/PPR weiß der Host-Rechner genau, welche Seite bereits im Ausgabefach liegt. Auch werden nur so komplexe Operationen wie das seitengenaue Aufsetzen nach Fehlern möglich. {{convert4print:tutorial:stream4.gif}} 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. {{convert4print:tutorial:stream7.gif}} Im Falle eines PJL-fähigen Laserdruckers werden allerdings die PJL-Kommandos und PJL-Meldungen nicht durchgereicht. Es erfolgt eine Konvertierung der vom Drucker empfangenen Statusmeldungen auf standardisierte Meldungen an den druckenden Rechner innerhalb des Konverters. {{convert4print:tutorial:stream8.gif}} Ganz unabhängig vom PJL-Protokoll steht für einige Drucker - auch Matrix- und Etikettendrucker - 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 auf einem (c4p)-Server 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) * Werden EBoxen, FBoxen oder GBoxen im Zusammenhang mit (c4p)-Konvertern als reine Ethernetschnittstellen betrieben, kann über ein spezielles SNMP basiertes Protokoll sicheres und zeitlich fest gekoppeltes Drucken gewährleistet werden. In der Konfiguration des Konverters muss eine druckerspezifische Überwachung aktiviert werden - die EBoxen, FBoxen oder GBoxen werden dann automatisch erkannt. * Für Drucker, die über Netzwerkadapter der Firma SEH angeschlossen sind, muss ebenfalls eine drucker(-)spezifische Überwachung aktiviert werden, weil diese Adapter die Voraussetzungen für den SNMP Standardtreiber nicht erfüllen - die Adapter werden dann automatisch erkannt und es wird ein proprietäres Protokoll zur Sicherung der Übertragung benutzt. * 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. Deshalb verzögern einige (c4p)-Konverter (IPDS) den Abbau der Netzwerkverbindung zum Host nach dem letzten Druckauftrag noch eine bestimmte Zeitspanne, deren Länge vom Druckertyp und Druckgeschwindigkeit abhängig ist. Diese Zeitspanne wird in den Ressource-Dateien festgelegt.