====== P-Monitor ======
===== Page count =====
* [[http://www.undocprint.org/formats/printer_control_languages/pjl|...Undocumented PJL]]
@PJL INFO PRODINFO
ProductName = HP LaserJet Professional P1102w
FormatterNumber = Q910CHL
PrinterNumber = Q1234A
ProductSerialNumber = VNB3600454
ServiceID = 20127
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
@PJL INFO SUPPLIES
Type = HP
REGION = 1
PartNumber = 13824
ReorderPN = CE285A
PercentRemaining = 65
PercentLifeRemaining = 70
PagesRemaining = 150
LowReached = 0
SerialNumber = 580583681
PageCount = 70
InstallDate = 0
LastUseDate = 20100620
Manufacture_Date = 20100114
Capacity_Units = 3
Capacity_Units = 5
Total_Capacity = 0
AvgAreaCvrg = 15
AvgAreaCvrg1 = 42
AvgAreaCvrg2 = 22
AvgAreaCvrg3 = 24
AvgAreaCvrg4 = 6
AvgAreaCvrg5 = 6
@PJL INFO LOG
ErrCode0 = 79.0000
PageCount0 = 38
ErrCode1 = 55.0000
PageCount1 = 38
ErrCode2 = 79.0000
PageCount2 = 32
ErrCode3 = 55.0000
PageCount3 = 32
MARSLOGEND = 1
@PJL INFO SUPPLIES
Type = HP
PartNumber = 9216
ReorderPN = CB435A
PercentRemaining = 92
PagesRemaining = 652
LowReached = 0
SerialNumber = 1142030597
PageCount = 48
InstallDate = 0
LastUseDate = 20100501
Manufacture_Date = 20080418
Capacity_Units = 3
Total_Capacity = 284
AvgAreaCvrg = 5
AvgAreaCvrg1 = 29
AvgAreaCvrg2 = 4
AvgAreaCvrg3 = 40
AvgAreaCvrg4 = 13
AvgAreaCvrg5 = 15
@PJL INFO PRODINFO
ProductName = HP LaserJet P1005
FormatterNumber = BA0600D
PrinterNumber = CB410A
ProductSerialNumber = VND3717399
ServiceID = 20121
FirmwareDateCode = 20090916
MaxPrintResolution = 600
ControllerNumber = BA0600D
DeviceDescription = HP LaserJet P1005
DeviceLang = HBS PJL ACL
TotalMemory = 2097152
AvailableMemory = 1127784
Personality = 7
EngFWVer = 56
* [[https://www.codeproject.com/Articles/14434/Reading-Data-Directly-from-the-Printer|https://www.codeproject.com/Articles/14434/Reading-Data-Directly-from-the-Printer]]
sendString = String.Format("\x1B%-12345X@PJL INFO PAGECOUNT \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INQUIRE" +
" RESOLUTION \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INQUIRE LPARM :" +
" PCL PITCH \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INFO USTATUS \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INFO STATUS \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INFO MEMORY \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INFO FILESYS \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL " +
"DINQUIRE LOWTONER \r\n\x1B%-12345X\r\n");
sendString = String.Format("\x1B%-12345X@PJL INFO CONFIG \r\n\x1B%-12345X\r\n");
* [[https://hacking-printers.net/wiki/index.php/Accounting_bypass#Hardware_page_counters]]
* [[http://www.irongeek.com/i.php?page=security/networkprinterhacking]]
Irongeek:~# telnet 192.168.1.33 9100
Trying 192.168.1.33...
Connected to 192.168.1.33.
Escape character is '^]'.
@PJL INFO ID
@PJL INFO ID
"LASERJET 4000"
@PJL INFO STATUS
@PJL INFO STATUS
CODE=10001
DISPLAY="Ready"
ONLINE=TRUE
@PJL INFO PAGECOUNT
@PJL INFO PAGECOUNT
536225
@PJL INFO MEMORY
@PJL INFO MEMORY
TOTAL=2526160
LARGEST=1204208
^]
telnet> quit
Connection closed.
Irongeek:~#
* http://erroraccessdenied.com/node/1693
#!/bin/bash
#v1.0 – M Lange, 4-Jan-2014
echo -e “Scan of $1 9100 run on `date`:\n——————————-\n” > PJLScan-`date -I`.$1.txt
{ echo -e “\033%-12345X@PJL”;
echo @PJL INFO ID;
echo @PJL INFO CONFIG;
echo @PJL INFO FILESYS;
echo @PJL INFO LOG;
echo @PJL INFO MEMORY;
echo @PJL INFO PRODINFO;
echo @PJL INFO STATUS;
echo @PJL INFO SUPPLIES;
echo @PJL INFO VARIABLES;
echo -e “\033%-12345X”;
sleep 5; } | telnet $1 9100 | sed -e ‘s/\r$//’ >> PJLScan-`date -I`.$1.txt