正如标题所说:有人知道如何通过 PJL 从 HP 打印机中读出服务 ID 和型号吗?
总的来说,我熟悉使用 PJL 执行此类任务的过程(例如读出序列号)。我只是找不到型号和服务 ID 的变量名称。
如果这很重要的话,我特别有兴趣使用 CP5225 等更大的彩色激光打印机来做到这一点。
对于那些还没有这样做的人:
1)正常安装您的联网打印机(端口9100)。
2)打开 bash(Linux)并执行以下操作:
> nc <IP of your printer> 9100 <-- Type this in bash
@PJL INFO PAGECOUNT <-- Type this when being connected
4589 <-- This is the printer's response
... <-- and so on
我尝试了各种各样的INQUIRE
命令,INFO
但都没有成功,所以进一步猜测似乎是在浪费时间。
有人知道相应的变量名称吗,或者我可以以某种方式让打印机报告它支持的所有变量吗?
答案1
- 关于型号:
关于您的评论,看来您真正寻找的是型号名称。
这是由命令ID
类别返回的INFO
:
@PJL INFO ID<CR><LF>
"LASERJET 4"<CR><LF>
<FF>
此处有记录:http://h10032.www1.hp.com/ctg/Manual/bpl13208.pdf
- 关于服务 ID:
PJL
这里引用了 一些其他未记录的命令:http://www.undocprint.org/formats/printer_control_languages/pjl
它表明@PJL INFO PRODINFO
可以返回Service ID
:
@PJL INFO PRODINFO
ProductName = HP LaserJet Professional P1102w
FormatterNumber = Q910CHL
PrinterNumber = Q1234A
ProductSerialNumber = VNB3600454
ServiceID = 20127 <------------------------------------------------- HERE!
FirmwareDateCode = 20091029
MaxPrintResolution = 600
ControllerNumber = Q910CHL
DeviceDescription = HP LaserJet Professional P1102w
DeviceLang = ZJS PJL ACL HTTP
TotalMemory = 8388608
AvailableMemory = 4993912
Personality = 7
EngFWVer = 15
IPAddress = 192.168.1.15
HWAddress = 0025B3EDFFD0
未经我本人测试...尝试一下并告诉我们。
答案2
我询问了用例是因为我想避免这成为 XY 问题。
我知道您正在寻找未记录的 PJL。我的问题是您想用它做什么。如果目标是收集所有打印机设备的型号、序列号和服务 ID,那么可能有更好的选择。
如果所有网站都可以访问,请使用类似HP 的打印机设备管理软件。
不幸的是,SNMP 不会提供序列号,但所有高端 HP 打印机都具有 telnet 接口。可以从这些会话中获取序列号和型号信息。