2017-06-15 429 views
5

CUPS有3场是在问题报告中,打印机漏报问题CUPS

  1. 打印机状态(ENUM):要么闲置,处理或停止。
  2. printer-state-message:纯文本人类可读的说明。
  3. printer-state-reasons:列出打印机状态的描述,如RFC8011第152页中所述,这是真正的问题报告发生的地方。它有一个描述打印机状态的逗号分隔关键字列表,例如。 “媒体需要”或“墨粉不足”

当使用斑马EPL2标签打印机驱动程序在Ubuntu 16.04测试斑马LP 2844(和Mac,但让我们保持这个简单的现在),我得到如下结果。

----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} 

正如你所看到的,“打印机缺纸”的问题,大部分问题是防止打印机打印决心为“处理”,从来没有给我更多的信息。您可以计算出打印机“处理”了多长时间并从中推断出问题,但除此之外,问题的原因仍然未知。与此同时,“打印机拒绝作业”状态完全没有告诉我什么(请记住,状态消息只是人类可读的纯文本,由于没有关于放置的内容的指导原则,因此不能进行分析)。除了聘请某人阅读状态消息之外,我的程序无法知道存在问题。

这是不是与所有的打印机的情况下,例如,这是从一个兄弟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} 

迄今(HP,兄弟,和斑马)测试了3台打印机的输出端,所述兄弟HL-L2380DW是正确沟通问题的唯一打印机。如果你想自己测试一下,你可以运行这个原始的CUPS工具,我把它扔在一起在java https://github.com/Vzor-/cupstool更多的数据帮助!

我不知道问题在于杯子还是制造商。无论哪种方式,我需要一种前进的方式,无论是作为一个修复或一个组,我可以帮助修复。

编辑:看来Zebra不会制作或维护自己的Linux驱动程序。

+0

您是否尝试过Ubuntu论坛,我相信这里有一个与之相关的旧帖子 - https://ubuntuforums.org/showthread.php?t=1380592 – Dayan

+0

@Dayan虽然该主题提到了Ubuntu上的Zebra打印机,这似乎与打印机向操作系统报告问题(例如缺纸,错误等)的问题有关。 – tresf

回答

1

从迈克尔甜,

凯尔,

状态报告很复杂,但总体上与 基于驱动程序的排队问题就来自于驾驶员没有执行国: 消息支持(通常是因为打印机的通讯通道 不提供支持),或者来自打印机本身不支持 任何类型的状态报告。

在Zebra打印机的情况下,它不支持带内状态 报告,因此CUPS捆绑的驱动程序无法以这种方式从 获取打印机的状态。它也不支持SNMP Printer MIB 的状态,所以我们甚至不会出现带外状态......:/可悲的是,这些 样的打印机通常不支持状态报告,这是 搞笑由于许多部署在工业环境中,其中远程监控 常见...实现IPP(通常所有的打印机这些

打印机天除了 标签打印机 - 因此98%以上的打印机)除了其他IPP 属性和(在许多情况下)SNMP Printer MIB属性外,还支持IPP 打印机状态原因关键字的状态。

所以看起来这主要是一些标签打印机的问题。