User Tools

Site Tools


doc:appunti:hardware:hpcm1312

This is an old revision of the document!


HP Color LaserJet CM1312nfi MFP

Come funziona questa laser a colori multifunzione con GNU/Linux? Io l'ho provata con una Debian Squeeze.

Anzitutto alcuni dati relativi alla velocità di stampa: dopo l'accensione occorre circa un minuto prima che la stampante sia pronta, nella stampa di dieci copie di un documento a colori (una pagina PDF di 723k) la stampante ha impiegato circa 45 secondi per pagina.

Stampante

Pacchetti Debian Squeeze installati

  • hplip
  • hplip-gui
  • hplip-cups

Dalla pagina di amministrazione web di CUPS: aggiungi stampante. La stampante viene rilevata automaticamente sulla rete locale, può essere usata tramite tre diversi protocolli:

  • dnssd://HP%20Color%20LaserJet%20CM1312nfi%20MFP%20(AB5810)._pdl-datastream._tcp.local/
  • dnssd://HP%20Color%20LaserJet%20CM1312nfi%20MFP%20(AB5810)._printer._tcp.local/
  • socket://192.168.3.3

dnssd è un backend di comunicazione basato sul DNS Service Discovery, socket invece è una connessione TCP/IP - in genere sulla porta 9100 - tipica delle stampanti HP. Non ci dovrebbero essere differenze funzionali tra questi backend di cumunicazione, neppure con lo hp:/ che, sebbene non venga rilevato in automatico, è specfico di HP e viene preferito da hp-setup (vedi avanti). Il comando hp-check segnala come anomalia l'utilizzo di un backend diverso da hp:/.

I vari backend sono installati in /usr/lib/cups/backend/ e sono forniti dai pacchetti cups e hplip.

Tra i modelli di stampanti disponibili uno di questi dovrebbe andare bene:

  • HP Color LaserJet cm1312 MFP hpijs pcl3, 3.10.6
  • HP Color LaserJet cm1312 MFP pcl3, hpcups 3.10.6
  • HP Color LaserJet CM1312 MFP Series Postscript
  • HP Color LaserJet cm1312 MFPnfi pcl3, hpcups 3.10.6

Si è preferito l'ultimo che è quello scelto dalla procedura automatica hp-setup.

Scanner

Da pannello

È possibile effettuare la scansione operando sul pannello della stampante salvando l'immagine su una memory card inserita nella stessa. La memory card è condivisa in rete locale tramite protocollo CIFS (Samba/Windows), quindi dovrebbe essere possibile aprire la scansione direttamente dal computer.

In realtà con Samba c'è un problema che si manifesta con tutti i client: smbclient, Konqueror, smbnetfs, ecc. Questo il messaggio di errore con smbclient:

smbclient //192.168.3.3/memory_card -U guest%guest
Domain=[WORKGROUP] OS=[threadx] Server=[NQ 4.32]
smb: \> SMBecho failed. Maybe server has closed the connection

In realtà la connessione avviene, infatti tramite l'opzione -c è possibile listare il contenuto della memory card e scaricare un file. Certo, comodo un accidente!

smbclient //192.168.3.3/memory_card -U guest%guest -c 'cd HPCM1312; dir; get HP0005.jpg'
Domain=[WORKGROUP] OS=[threadx] Server=[NQ 4.32]
  .                                   D        0  Fri Nov 12 09:08:48 2010
  ..                                  D        0  Fri Nov 12 09:08:48 2010
  HP0001.jpg                          A   782923  Fri Nov 12 11:22:34 2010
  HP0002.jpg                          A   788798  Fri Nov 12 11:25:32 2010
  HP0003.jpg                          A   800136  Fri Nov 12 15:47:00 2010
  HP0004.jpg                          A   783165  Fri Nov 12 15:48:34 2010
  HP0005.jpg                          A   782811  Fri Nov 12 15:49:08 2010

                31232 blocks of size 512. 15744 blocks available
getting file \HPCM1312\HP0005.jpg of size 782811 as HP0005.jpg (615.5 KiloBytes/sec)

Con la scansione da pannello della stampante si ha un controllo molto limitato dei parametri di acquisizione, ad esempio la risoluzione massima impostabile è di 300 dpi. La velocità della scansione è buona: un'intera pagina A4 in circa 15 secondi, ma la qualità lascia molto a desiderare.

Scansione via rete (richiede software non libero)

È possibile effettuare la scansione da computer via rete utilizzando il programma sane, purtroppo in questo caso è necessario installare un plugin software non libero.

I pacchetti Debian Jessie da installare sono questi (software libero):

  • hplip
  • sane
  • xsane
  • libsane-hpaio

L'utente non privilegiato deve appartenere ai gruppi scanner e lp per poter utilizzare lo scanner.

Con il cmando hp-makeuri (dal pacchetto hplip) è possibile scoprire gli identificativi della multifunzione:

hp-makeuri 192.168.3.3

CUPS URI: hp:/net/HP_Color_LaserJet_CM1312nfi_MFP?ip=192.168.3.3
SANE URI: hpaio:/net/HP_Color_LaserJet_CM1312nfi_MFP?ip=192.168.3.3
HP Fax URI: hpfax:/net/HP_Color_LaserJet_CM1312nfi_MFP?ip=192.168.3.3

Per utilizzare il backend hpaio di sane si lancia il comando:

xsane 'hpaio:/net/HP_Color_LaserJet_CM1312nfi_MFP?ip=192.168.3.3'

Si ottiene l'errore Error during device I/O, in /var/log/syslog si scopre che manca una libreria non libera:

xsane: scan/sane/soapht.c 86: unable to load restricted library /usr/share/hplip/scan/plugins/bb_soapht.so:
    /usr/share/hplip/scan/plugins/bb_soapht.so: cannot open shared object file: No such file or directory

Si deve quindi procedere all'installazione del plugin software non libero.

FIXME

Il file mancante è contenuto nell'archivio hplip-3.12.2-plugin.run. Attenzione al numero di versione che deve corrispondere alla versione di hplip installata da pacchetto Debian.

In teoria il comando hp-setup (vedi avanti) provvede a scaricare il file giusto, installarlo e configurare tutto il necessario (stampante, scanner, fax?), ma lo fa al di fuori del sistema gestione pacchetti Debian.

Per avere un maggior controllo della situazione si può installare il solo archivio hplip-3.12.2-plugin.run non compreso in Debian perché contiene firmware e software non libero. Per installarlo bisogna eseguire come root e con accesso al display grafico (solo per mostrare la licenza da accettare):

sh ./hplip-3.12.2-plugin.run

Viengono installati alcuni file:

  • /usr/share/hplip/plugin.spec
  • /usr/share/hplip/scan/plugins/
    • bb_marvell.so
    • bb_soapht.so
    • bb_soap.so
  • /usr/share/hplip/prnt/plugins/
    • hbpl1.so
    • hbpl1-x86_32.so

Con la versione hplip-3.10.6-plugin era stato possibile scompattare l'archivio ed estrarre solo la libreria che interessa (per noi architettura x86_32), copiandola nella directory opportuna:

mkdir hplip
cd hplip
../hplip-3.10.6-plugin.run --tar xvf
mkdir -p /usr/local/share/hplip/scan/plugins
cp bb_soapht-x86_32.so /usr/local/share/hplip/scan/plugins
ln -s bb_soapht-x86_32.so /usr/local/share/hplip/scan/plugins/bb_soapht.so

Finalmente si riesce ad eseguire xsane e fare una acquisizione: a 600 dpi occorre poco più di un minuto. Anche in questo caso la qualità non impressiona, soprattutto nelle zone scure si perdono molte delle sfumature.

Il programma xsane è in grado di rilevare automaticamente lo scanner hpaio - senza specificarlo sulla riga di comando - solo se questo è installato in CUPS (/etc/cups/printers.conf) nel modo in cui viene configurato da hp-setup (vedi avanti).

hp-setup

Con la procedura hp-setup (fornita dal pacchetto hplip) è possibile installare e configurare il software HPLIP per utilizzare la stampante, lo scanner ed il fax tramite i tradizionali sistemi CUPS e sane di GNU/Linux. Il tutto funziona al di fuori del meccanismo di controllo dei pacchetti Debian, vengono scaricate da internet e installate delle librerie di software non libero che servono soprattutto per la funzione scanner e fax.

La procedura modifica alcuni file di configurazione del sistema quindi deve essere eseguita con i privilegi di root.

Ecco un elenco delle directory che vengono create:

/usr/share/hplip/prnt/plugins/
/usr/share/hplip/data/firmware/
/usr/share/hplip/scan/plugins/
/usr/share/hplip/fax/plugins/
/usr/share/hplip/ui4/
/usr/share/hplip/data/plugins

Vengono creati dei file PPD in /etc/cups/ppd/ (uno per la stampante ed uno per il fax), viene aggiunta una stampante al file /etc/cups/printers.conf, vengono aggiunte delle regole udev in /etc/udev/rules.d/ (di nome 86-hpmud-hp_laserjet_*).

Questi sono i parametri impostati da hp-setup in CUPS:

  • Protocollo per la stampante hp:/net/HP_Color_LaserJet_CM1312nfi_MFP?zc=NPIAB5810
  • Protocollo per il fax: hpfax:/net/HP_Color_LaserJet_CM1312nfi_MFP?zc=NPIAB5810
  • Driver per la stampante: HP Color LaserJet cm1312nfi MFP pcl3, hpcups 3.10.6

FIXME Al termine della procedura (lanciata senza interfaccia grafica con hp-setup –interactive) viene eseguito un test che produce il seguente messaggio di errore:

/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py:127:
    RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK

Per verificare se la stampante multifunzione è configurata correttamente si può eseguire il comando:

hp-check -r

Aggiornamento firmware

L'aggiornamento del firmware si può fare solo da Windows, infatti il pacchetto è distribuito solo come eseguibile compilato.

È stato necessario disporre di una macchina Windows XP con Service Pack 3 e driver di stampa HP Universal Printing PCL6 installato (upd-pcl6-x32-5.4.0.11744.exe). Il driver di stampa si configura indicando l'indirizzo IP della stampante.

Dopo aver lanciato l'eseguibile CM1310_CM2320_MFP_Series_FW_Update-20120104.exe, la stampante viene individuata tramite il driver di stampa e il programma provvede all'upload del nuovo firmware.

Tenuta in esercizio

Colore Installazione Esaurito Pagine stampate
Nero (prima fornitura) 2010-11-11 2011-12-27 446
Ciano (prima fornitura) 2010-11-11
Magenta (prima fornitura) 2010-11-11
Giallo (prima fornitura) 2010-11-11
doc/appunti/hardware/hpcm1312.1475492570.txt.gz · Last modified: 2016/10/03 13:02 by niccolo