2017-06-15 2 views
5

CUPS zu berichten hat drei Felder, die in der Ausgabe Berichterstattung verwendet werden,Drucker scheitern Probleme CUP

  1. Drucker-Zustand (Enum): Entweder im Leerlauf, Verarbeitung oder gestoppt.
  2. printer-state-message: Klartext lesbare Explikation.
  3. Druckerzustandsgründe: Aufgelistete Beschreibung des Druckerzustands, wie in RFC8011 S.152 beschrieben. Hier erfolgt die eigentliche Problemmeldung. Es hat eine Liste von durch Kommata getrennten Schlüsselwörtern, die den Zustand eines Druckers beschreiben, z. ‚Medien benötigt‘ oder ‚Toner niedrig‘

Wenn ein Zebra LP 2844 auf Ubuntu 16.04 zu testen (und Mac, aber lassen Sie uns diese einfach halten vorerst) das Zebra EPL2 Label Printer Treiber verwenden, erhalte ich die folgenden Ergebnisse .

----Printer out of paper---- 
Status Enum: processing 
Status Message: printer-state-message: 1 textWithoutLanguage {Waiting for 
printer to become available.} 
Status Reason: printer-state-reasons: 1 keyword {none} 

----Printer rejecting jobs---- 
Status Enum: idle 
Status Message: printer-state-message: 1 textWithoutLanguage {Rejecting Jobs} 
Status Reason: printer-state-reasons: 1 keyword {none} 

Wie Sie sehen können, die ‚Drucker aus Papier‘ Ausgabe und die meisten Probleme, die den Drucker vom Druck lösen als ‚Verarbeitung‘ und nie geben Sie mir weitere Informationen zu verhindern. Sie könnten herausfinden, wie lange der Drucker "verarbeitet" hat, und daraus ableiten, ob es ein Problem von dort gibt, aber abgesehen davon, dass es juckig ist, würde die Ursache des Problems unbekannt bleiben.

In der Zwischenzeit, sagt mir der 'Drucker abweisende Aufträge' absolut nichts (erinnern Sie sich, die Statusnachricht ist nur menschlich lesbarer Klartext und kann nicht geparst werden, da es keine Richtlinien gibt). Abgesehen davon, dass ich jemanden eingestellt habe, der die State-Message liest, gibt es für mein Programm keine Möglichkeit zu wissen, dass es ein Problem gibt.

Dies mit allen Druckern nicht der Fall ist, zum Beispiel, das ist die Ausgabe von einer Brother HL-L2380DW

----Printer out of paper---- 
Status Enum: processing 
Status Message: printer-state-message: 1 textWithoutLanguage {Waiting for job to complete.} 
Status Reason: printer-state-reasons: 2 keyword {cups-waiting-for-job-completed, media-needed-error} 

Von dem 3-Drucker bisher getestet (HP, Bruder, und Zebra), das Brother HL-L2380DW war der einzige Drucker, der Probleme richtig kommunizierte. Wenn Sie es selbst testen möchten, können Sie dieses rohe CUPS-Tool ausführen, das ich zusammen in Java geworfen habe https://github.com/Vzor-/cupstool Mehr Daten hilft!

Ich weiß nicht, ob das Problem bei Tassen oder mit den Herstellern liegt. So oder so, ich brauche einen Weg nach vorne, sei es als eine Lösung oder eine Gruppe, ich kann helfen, eine Lösung zu finden.

Bearbeiten: Es scheint, dass Zebra seine eigenen Linux-Treiber nicht erstellt oder verwaltet.

+0

Haben Sie versucht, das Ubuntu-Forum, glaube ich, es gibt einen alten Beitrag dazu verwandt - https://ubuntuforums.org/showthread.php?t=1380592 – Dayan

+0

@Dayan, obwohl dieser Thread Zebra-Drucker auf Ubuntu erwähnt, tut es nicht Es scheint so zu sein, als ob der Drucker Probleme (z. B. Papier, Fehler usw.) an das Betriebssystem melden kann. – tresf

Antwort

1

Von Michael Süß,

Kyle,

Der Status Reporting ist kompliziert, aber das Problem mit treiberbasierte Warteschlangen im allgemeinen vom Fahrer kommen kann nicht STATE Umsetzung: Nachricht Unterstützung (in der Regel, weil der Kommunikationskanal des Druckers keine Unterstützung bietet) oder vom Drucker selbst, der keine Statusberichte unterstützt.

Im Fall des Zebra-Druckers wird kein In-Band-Status berichtet, so dass der CUPS-gebündelte Treiber keine Möglichkeit hat, den Status von dem Drucker zu erhalten. Es unterstützt auch nicht die SNMP Printer MIB für den Status, so dass wir nicht einmal Out-of-Band-Status bekommen ...,/Leider diese Art von Druckern oft nicht Statusmeldungen unterstützen, die lustig gegeben ist, dass viele in industriellen Umgebungen eingesetzt werden, in denen Remote Überwachung üblich ist ...

Drucker, den IPP implementieren (in der Regel alle Drucker diese: Tage außer Etikettendrucker - also 98% + der Drucker) unterstützen die IPP Druckerstatus-Schlüsselwörter Schlüsselwörter für Status, zusätzlich zu anderen IPP Attribute und (in vielen Fällen) SNMP Printer MIB Eigenschaften.

So scheint es, das ist meist nur ein Problem mit einigen Etikettendruckern.