Pagina 1 di 1

Ubuntu 10.10 Oneiric e le vecchie stampanti Epson che fanno uso dei driver PIPS

Inviato: martedì 22 novembre 2011, 21:56
da bingel
Sottotitolo: Oneiric - come far funzionare più stampanti collegate ad un unico pc quando alcune di queste, per funzionare fanno uso del modulo "usblp" mentre altre, qualora tale modulo risulti caricato, non funzionano.

E' uscito di recente (oggi o qualche giorno fa) un importante aggiornamento di CUPS che probabilmente risolve buona parte dei problemi che gli utenti di Oneiric hanno incontrato nell'installare o nell'usare le proprie stampanti indipendentemente dalla marca e dal modello.

Entrando nello specifico, la mia vecchia stampante Epson Stylus Color CX3650, supportata piuttosto bene anche dai driver free "gutenprint", coi driver PIPS (i driver proprietari di Epson/Avasys) aveva invece due grossi problemi:

- il primo di essi era legato al modulo "usblp" messo in blacklist a partire da Oneiric affinché, da quel poco che ho potuto capire, non entri in conflitto con le nuove versioni di cups che a quanto pare ora comunica direttamente con le periferiche usb (correggetemi se ho detto una cavolata).
Ebbene, per chi usa una sola stampante (che necessiti ovviamente di tale modulo) è sufficiente caricarlo all'avvio del sistema togliendolo dalla blacklist, tuttavia nei sistemi con installate più stampanti, tale modulo potrebbe pregiudicare il funzionamento delle altre stampanti. Inoltre, se come nel mio caso, si fa uso di entrambi i driver della stessa stampante (quelli proprietari e quelli liberi), togliendo permanentemetne il modulo "usblp" dalla blacklist si avrà come risultato che i driver liberi non funzioneranno più.

- il secondo problema era invece legato ai filtri forniti col pacchetto ghostscript-cups. Tali filtri, se usati insieme ai driver PIPS davano a loro volta dei problemi che sembrano essere stati risolti a partire dalla nuova versione del pacchetto rilasciata in questi giorni insieme ad altri importanti aggiornamenti riguardanti CUPS.

Il secondo problema pertanto diciamo pure che si è risolto "da solo" mentre il primo io l'ho risolto avvalendomi di un software denominato "tea4cups". Per chi, come me si trovasse nella necessità di dover caricare il modulo "usblp" solo quando è necessario, può infatti usare tale programma per montarlo automaticamente quando si lancia una stampa su una stampante che ne fa uso e smontarlo quando la stampa è terminata.

Di seguito, anche a titolo di promemoria, riporto come fare:

1) scaricare ed installare innanzitutto il software "tea4cups" avvalendosi di subversion (se subversion non è installato installarlo così: sudo apt-get install subversion):

Codice: Seleziona tutto

sudo apt-get install subversion
cd /tmp
svn co http://svn.pykota.com/tea4cups/trunk tea4cups
sudo cp /tmp/tea4cups/tea4cups /usr/lib/cups/backend
sudo chmod 700 /usr/lib/cups/backend/tea4cups
sudo cp /tmp/tea4cups/tea4cups.conf /etc/cups
2) Modificare il file "/etc/cups/printers.conf" inserendo il prefisso "tea4cups://" (va bene anche soltanto "tea4cups:") davanti all'indirizzo URI della stampante interessata:

Codice: Seleziona tutto

MakeModel EPSON  Stylus CX3500/3600 Series, Photo Image Print System
DeviceURI tea4cups://ekplp:/var/ekpd/ekplp0
3) Aggiungere queste due righe in fondo al file "/etc/cups/tea4cups.conf"

Codice: Seleziona tutto

prehook_load_usblp : sudo modprobe usblp
posthook_unload_usblp: while [ `sudo modprobe -r usblp 2>&1 | wc -l` -gt 0 ]; do sleep 5; done
4) Riavviare cups per sicurezza (anche se mi pare che non serva):

Codice: Seleziona tutto

sudo restart cups
5) Se qualcuno, come nel mio caso usa i driver Epson/Avasys PIPS riavviare, sempre per sicurezza, anche anche il servizio "ekpd":

Codice: Seleziona tutto

sudo service ekpd restart
Ora non resta che provare a stampare.

Ovviamente il ragionamento, in caso fosse necessario, immagino, anche se non ho provato, che possa essere ribaltato ovvero si può fare in modo che usblp venga caricato all'avvio (togliendolo dalla blacklist) e rimosso, sempre avvalendosi di tea4cups, ogni volta che si deve stampare con una stampante che non lo tollera (e quindi ricaricato una volta finito di stampare).
A proposito, il file da modificare per rimuverlo dalla blacklist è /etc/modprobe.d/blacklist-cups-usblp.conf (basta mettere il solito cancelletto "#" davanti alla riga "blacklist usblp").

Re: Ubuntu 10.10 Oneiric e le vecchie stampanti Epson che fanno uso dei driver PIPS

Inviato: mercoledì 23 novembre 2011, 14:11
da bingel
Preciso che qualora una stampante, per funzionare, necessitasse del modulo "usblp", è possibile che se tale modulo non è caricato, tale stampante non si riesca neppure ad installarla.

Pertanto, per installarla potrebbe essere sufficiente caricare a priori tale modulo in questo modo:

Codice: Seleziona tutto

sudo modprobe usblp
e quindi controllare che sia stato correttamente caricato attraverso il seguente comando:

Codice: Seleziona tutto

lsmod | grep usblp
se si otterrà dell'output significa che è caricato.

Se una volta installata la stampante lo si vuol rimuovere:

Codice: Seleziona tutto

sudo modprobe -r usblp


Questa procedura appena descritta potrebbe essere utile a chi è in possesso di stampanti HP che non riesce ad installare neppure col classico comando:

Codice: Seleziona tutto

sudo hp-setup -i
Quindi è possibile (ma non l'ho testato) che una volta caricato il modulo, poi il processo di installazione vada a buon fine.