HP printers - CUPS

Volendo creare una coda di stampa su un server cups che si colleghi a una stampante HP, openprinting suggerisce, per la quasi totalità delle stampanti, di utilizzare i driver hplip.
http://www.openprinting.org/driver/hplip
http://hplipopensource.com/hplip-web/index.html
Come recita il primo link, hplip contiene 2 tipologie di driver. Il default è il driver raster per cups chiamato hpcups e poi c'è il deprecato HPIJS. Quel che più mi interessa è che, insieme a questi driver vengono anche forniti i PPD per le stampanti postscript (e non solo) supportate.

Parto dal presupposto che cups sia già installato.

1a- CentOS 7

hplip può essere già pacchettizzato dalla distribuzione, per esempio in CentOS 7

hplip-gui, se non esplicitamente richiesto, di solito non viene installato ma si può provvedere in un secondo momento.

Guardo ora se i driver della stampante che vorrei installare (hp laserjet p4014dn) sono presenti (qui cerco quelli per la serie 4010)

Il ppd sta in
/usr/share/ppd/HP/hp-laserjet_p4010_series-ps.ppd.gz
ed è arrivato col pacchetto hpijs che si è installato insieme ad hplip

1b-Ubuntu 16.04

Ubuntu chiama i pacchetti in modo leggermente diverso e installa separatamente da hplip il pacchetto printer-driver-postscript-hp (quando installi hplip-3.16.3 con Ubuntu 16.04 arriva anche printer-driver-postscript-hp).
I ppd vengono messi tutti in un unico file compresso con uno script python in
/usr/lib/cups/driver/postscript-hp

In questo caso sto cercando il ppd per la stampante Laserjet m4555. Do il comando

Per estrarre il ppd eseguo:

 

1c-Pacchetto dal sito

Se non si trova il driver richiesto può essere che la distribuzione installi una versione di hplip "vecchia" che ancora non lo contiene. Per questo motivo andremo a utilizzare il pacchetto scaricato dal sito
http://hplipopensource.com/hplip-web/index.html

L'installer ci guida nell'installazione e alla fine mette tutti i ppd (tanti file sperati) di hp in /usr/share/ppd/HP (come in CentOS).

Per esempio per la solita stampante Hp LaserJet P4014dn trovo

Potrò poi decidere di usare i filtri che arrivano con cups (hpcups, compressi in /usr/lib/cups/filter/hpcups) o i driver nativi posscript che arrivano con il pacchetto di hplip in /usr/share/ppd/HP

Cercando una stampante decisamente più moderna come la Laserjet Enterprise m506x

trovo solamente il ppd che arriva con l'ultima versione di hplip (3.16.3 in questo momento).

In base alla versione di hplip ci saranno più o meno stampanti supportate. Prendendo l'ultima versione dal sito web del progetto avremo una lista di compatibilità decisamente più ampia. Oggi su CentOS 7 trovo hplip in versione 3.13.7-6.el7, mentre la versione sul sito è la 3.16.3.

2) AGGIUNTA DELLA CODA
E' possibile aggiungere la coda di stampa
2a -
Direttamente dall'interfaccia web di cups, identificando l'indirizzo ip della stampante e contattandola via AppSocket/HP JetDirect o, se la stampante lo supporta, direttamente via IPP:

Dall'interfaccia web della stampante si possono vedere i protocolli supportati, per esempio

Tramite l'indirizzo ip della stampante si digita hp-makeuri ip_stampante (oppure hp-makeuri -i ip_stampante). Il comando hp-makeuri arriva con hplip.

Dall'interfaccia web di cups, faccio "add printer" -> "Other Network Printers" -> "AppSocket/HP JetDirect" e come indirizzo metto l'uri risultante dal comando hp-makeuri, in questo caso "hp:/net/HP_LaserJet_P4014?ip=192.168.0.235"
N.B: hp-makeuri funziona SOLO se sulla stampante è abilitato il protocollo SNMP, almeno in lettura

Volendo è anche possibile, conoscendo l'ip della stampante, contattarla tramite AppSocket/HP JetDirect specificando il socket in questo modo:
socket://192.168.0.235:9100

2b-
Usando la gui di hplip e digitando
hp-setup -g

e seguendo le istruzioni. Verrà effettuato uno scanning di rete e individuate "automaticamente" le stampanti.

La procedura guidata alla fine non fa altro che aggiungere la coda di stampa in cups e poi la potrò comodamente amministrare dall'interfaccia web di cups stesso.

NOTE
A) Si può usare hp-makeuri anche per le stampanti usb
http://hplipopensource.com/hplip-web/tech_docs/man_pages/makeuri.html
https://developers.hp.com/hp-linux-imaging-and-printing/tech_docs/man_pages/makeuri

B) Il comando hp-check -r (-r = runtime, -c = compile time)
controlla se il pacchetto hplip è installato correttamente (se ha le giuste dipendenze e se le code di stampa stanno usando driver hplip o meno).
Questa la medesima stampante con 2 driver diversi e contattata in maniera diversa (stampa correttamente in entrambe le modalità).

 

Print Friendly, PDF & Email