Den Status eines HP-Druckers mit hplip abfragen

Vor 11 Jahren musste ich mir beim Umstieg meiner IT-Infrastruktur auf Mac OS X auch einen neuen Drucker leisten, welcher Postscript sprach (die Treiberunterstützung für dieses Betriebssystem war damals noch nicht so ausgeprägt wie heute). Ich entschied mich für einen HP LaserJet 1300.

Bis vor einigen Tagen verrichtete dieser im Elternhaus mehr oder wenig zuverlässig seinen Dienst. Doch nun will er nicht mehr drucken und blinkt mit dem LED unten links orange vor sich hin.

Mangels eines LCD-Displays muss der herbeigerufene IT-Supporter auf das Handbuch zurückgreifen, wo er erfährt:

Klappe geöffnet, keine Medien geladen, keine Druckpatrone oder Medienstau

Der Drucker befindet sich in einem Fehlerzustand, der den Eingriff durch den Benutzer erforderlich macht.

Quelle: HP LaserJet 1150 and 1300 Series User Manual

Leider halfen die Empfehlungen des Handbuchs nicht weiter.

Als letzter Ausweg machte ich mich auf die Suche nach einem Linux-basierten Tool, mit welchem man über die USB-Schnittstelle den Status des Geräts auslesen kann. Ich erhoffte mir davon weiterführende Informationen, die mit einem aus drei LEDs bestehenden Bedienfeld nicht an den Benutzer zurückmelden kann.

HP hat zur Administration seiner Drucker unter Linux das hplip-Treiberpaket entwickelt, welches auch unter Debian verfügbar ist:

# apt-get install hplip

Als erstes machte ich den Drucker auf dem USB-Bus ausfindig:

$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID abcd:0001 Unknown
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 015: ID 03f0:1017 Hewlett-Packard LaserJet 1300
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Der Drucker ist somit an Bus 3 angeschlossen und das 15. Gerät an dem Bus (?). Die eindeutige USB-ID des Peripheriegeräts lautet 03f0:1017.

Mittels des Tools hp-makeuri fand ich die Device URI heraus, mit welcher man angeblich mit Tools des hplip-Pakets HP-Drucker ansprechen kann:

$ hp-makeuri 001:015

HP Linux Imaging and Printing System (ver. 3.14.6)
Device URI Creation Utility ver. 5.0

Copyright (c) 2001-13 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

CUPS URI: hp:/usb/hp_LaserJet_1300?serial=000000000000

Done.

Unter cups erfasste ich den Drucker mit der neuen hp:/-Schnittstelle ein zweites Mal.

Anschliessend entdeckte ich das Tool hp-info, das „Device Information Utility“ (unter root, lieber Gott vergebe mir):

# hp-info -i -dhp:/usb/hp_LaserJet_1300?serial=000000000000
warning: hp-info should not be run as root/superuser.

HP Linux Imaging and Printing System (ver. 3.14.6)
Device Information Utility ver. 5.2

Copyright (c) 2001-13 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

hp:/usb/hp_LaserJet_1300?serial=000000000000

Device Parameters (dynamic data):
Parameter Value(s)
---------------------------- ----------------------------------------------------------
agent1-ack False
agent1-desc Black toner cartridge
agent1-dvc 0
agent1-health 1
agent1-health-desc Not installed
agent1-hp-ink False
agent1-id 0
agent1-kind 4
agent1-known False
agent1-level 100
agent1-level-trigger 0
agent1-sku Q2613A/Q2613X
agent1-type 1
agent1-virgin False
back-end hp
cups-printers ['LaserdruckerHP']
cups-uri hp:/usb/hp_LaserJet_1300?serial=000000000000
dev-file
device-state 1
device-uri hp:/usb/hp_LaserJet_1300?serial=000000000000
deviceid MFG:Hewlett-Packard;CMD:PJL,MLC,BIDI-ECP,PCL,POSTSCRIPT,PC
LXL;MDL:hp LaserJet 1300;CLS:PRINTER;DES:Hewlett-Packard
LaserJet 1300;MEM:72MB;COMMENT:RES=10x1;1;
duplexer 1
error-state 102
host
in-tray1 1
in-tray2 1
is-hp True
media-path 1
panel 0
panel-line1
panel-line2
photo-tray 0
port 1
r 0
revision 254
rg 000
rr 000000
rs 000000000
serial 000000000000
status-code 1805
status-desc No toner
supply-door 1
top-door 4

Model Parameters (static data):
Parameter Value(s)
---------------------------- ----------------------------------------------------------
align-type 0
clean-type 0
color-cal-type 0
copy-type 0
embedded-server-type 0
fax-type 0
fw-download False
icon hp_LaserJet_1200.png
io-mfp-mode 6
io-mode 1
io-support 6
job-storage 0
linefeed-cal-type 0
model hp_LaserJet_1300
model-ui HP LaserJet 1300
model1 HP LaserJet 1300 Printer
model2 HP LaserJet 1300t Printer
monitor-type 0
panel-check-type 1
pcard-type 0
plugin 0
plugin-reason 0
power-settings 0
pq-diag-type 0
r-type 0
r0-agent1-kind 4
r0-agent1-sku Q2613A/Q2613X
r0-agent1-type 1
scan-src 0
scan-type 0
status-battery-check 0
status-dynamic-counters 0
status-type 9
support-released True
support-subtype 14214
support-type 2
support-ver 0.9.5
tech-class ['LJMono', 'Postscript']
tech-subclass ['Normal']
tech-type 3
usb-pid 4119
usb-vid 1008
wifi-config 0

Done.

Die wichtigsten Infos waren in folgenden Zeilen enthalten:

error-state 102
status-code 1805
status-desc No toner

Am Tag bevor ich diesen Blog-Artikel abfasste hiess es noch:

error-state 101
status-code 1806
status-desc Service request

Wie dem auch sei, eine Lösung für das Problem habe ich immer noch nicht gefunden. Ich habe aber nun entschieden, das Gerät in den Ruhestand zu senden und stattdessen einen HP LaserJet Pro M426fdw zu bestellen.