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.
Pacchetti Debian Squeeze installati
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:
Si è preferito l'ultimo che è quello scelto dalla procedura automatica hp-setup
.
È 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.
È 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):
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: cannot open shared object file: No such file or directory
Si deve quindi procedere all'installazione del software non libero; è possibile procedere in tre modi diversi.
Il comando hp-setup
(fornito dal pacchetto hplip) provvede a scaricare da internet il software, lo installa e lo configura per supportare stampante, scanner, fax, ecc. La cosa brutta è che lo fa al di fuori del sistema gestione pacchetti Debian. Vedi più avanti una descrizione dettagliata.
Per avere un maggior controllo si può installare il solo archivio hplip-X.YY.Z-plugin.run scaricandolo dal repository di OpenPrinting. Si deve scaricare l'esatta versione corrispondente al pacchetto hplip installato (per Debian Jessie è hplip-3.14.6-plugin.run). Si deve eseguire come root e con accesso al display grafico (display che serve solo per mostrare la licenza da accettare):
sh ./hplip-3.14.6-plugin.run
Vengono installate diversi file in alcune directory:
/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
,
In questo modo si controlla esattamente quali file installare a dove, ad esempio è preferibile usare la gerarchia /usr/local/share/
invece di /usr/share/
.
Nell'archivio hplip-X.YY.Z-plugin.run vengono fornite solo le architetture i386 e amd64 (file x86_32.so e x86_64.so rispettivamente), è necessario copiare solo quelle relative al proprio sistema, in questo esempio x86_64):
# Make directories for plugin binaries. mkdir -p /usr/local/share/hplip/scan/plugins ln -s /usr/local/share/hplip/scan/plugins /usr/share/hplip/scan/ mkdir -p /usr/local/share/hplip/prnt/plugins ln -s /usr/local/share/hplip/prnt/plugins /usr/share/hplip/prnt/ # Download and unpack archive. wget http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-3.14.6-plugin.run chmod 755 hplip-3.14.6-plugin.run mkdir hplip cd hplip ../hplip-3.14.6-plugin.run --tar xvf # Copy binaries. cp bb_marvell-x86_64.so bb_soap-x86_64.so bb_soapht-x86_64.so /usr/local/share/hplip/scan/plugins/ ln -s bb_marvell-x86_64.so /usr/local/share/hplip/scan/plugins/bb_marvell.so ln -s bb_soap-x86_64.so /usr/local/share/hplip/scan/plugins/bb_soap.so ln -s bb_soapht-x86_64.so /usr/local/share/hplip/scan/plugins/bb_soapht.so cp hbpl1-x86_64.so /usr/local/share/hplip/prnt/plugins/ ln -s hbpl1-x86_64.so /usr/local/share/hplip/prnt/plugins/hbpl1.so # Copy additional files. cp plugin.spec /usr/local/share/hplip/ ln -s /usr/local/share/hplip/plugin.spec /usr/share/hplip/plugin.spec # Create status file. cat << EOF > /var/lib/hp/hplip.state [plugin] installed = 1 eula = 1 version = 3.14.6 EOF chmod 644 /var/lib/hp/hplip.state
Per la funzione scan via rete dovrebbe essere sufficiente la sola libreria 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).
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:
hp:/net/HP_Color_LaserJet_CM1312nfi_MFP?zc=NPIAB5810
hpfax:/net/HP_Color_LaserJet_CM1312nfi_MFP?zc=NPIAB5810
HP Color LaserJet cm1312nfi MFP pcl3, hpcups 3.10.6
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
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.
Colore | Installazione | Esaurito | Pagine stampate | Progressivo |
---|---|---|---|---|
Nero (prima fornitura) | 2010-11-11 | 2011-12-27 | 446 | 446 |
Ciano (prima fornitura) | 2010-11-11 | |||
Magenta (prima fornitura) | 2010-11-11 | |||
Giallo (prima fornitura) | 2010-11-11 | |||
Ciano | 2012-06-29 | 2016-11-15 | 438 | 2994 |
Magenta | 2012-06-29 | 2016-11-15 | 438 | 2994 |
Giallo | 2013-05-05 | |||
Nero | 2015-05-21 | |||
Ciano | 2016-11-15 | |||
Magenta | 2016-11-15 |