CUPS – Cosa fare se non viene vista la nostra stampante usb

Non so voi, ma a me e’ capitato piu volte di combattere con cups che non voleva saperne di vedere la mia stampante usb.

E alla fine i problemi si possono ricondurre a due casi distinti. Che spieghero’ come risolvere in questo articolo.

Prima di tutto controllate che lsusb riconosca la vostra stampante (il risultato se la vostra stampante viene rilevata, e simile al seguente):

Bus 004 Device 007: ID 04b8:082f Seiko Epson Corp. Stylus DX4050

1. Il primo caso succede per un conflitto di moduli per la gestione dell’usb, in quanto nelle ultime versione cups ha implementato la sua libreria usb, il problema e’ che quando viene inserita una stampanate, viene spesso caricato il modulo usblp (utilizzato precedentemente da cups per rilevare le stampanti), questo va in conflitto con il la libreria usb di cups impedendone il rilevamento. Quindi la soluzione migliore e’ blacklistare il modulo usblp.

Sulle distribuzioni archlinux/debian/ubuntu e derivate basta farlo semplicemente editando il file /etc/modprobe.d/modprobe.conf e aggiungere la riga:

blacklist usblp

2. Un altro problmea invece, se il primo non ha risolto, potrebbe essere legato ai permessi del device. Questo accade spesso quando avete una stampante multifunzione, e avete gia provveduto a isntallare il driver per lo scanner (sane) con la relativa regola udev per renderlo accessibile agli utenti, simile alla seguente:



ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="082f", MODE="0664", GROUP="scanner",
  ENV{libsane_matched}="yes"

Questa regola in pratica per il device che ha come idVendor il valore 04b8  e idProduct il valore 082f (i valori restituiti da lsusb per la stampante)  venga assegnato al gruppo scanner. Questo  comporta che in fase di creazione del device /dev/usb/lpX che matcha la regola udev (essendo una stampante multifunzione ovviamente sia lo scanner che la stampante hanno gli stessi valori di idVendor e idProduct) l’ownership che gli viene assegnata e’:

root:scanner

Questo impedisce a cups di trovare la stampante in quanto lui si aspetta come ownership:

root:lp

Per risolvere questo, io ho eliminato la regola udev relativa a sane e creata una per la stampante molto simile, in /etc/udev/rules.d/ dal nome 10-cups-usb.rules:

ATTR{idVendor}=="04b8", ATTR{idProduct}=="082f", MODE:="0664", GROUP:="lp", 
ENV{libsane_matched}:="yes"

che invece di assegnare l’ownership al gruppo scanner la assegna al gruppo lp. Il problema potrebbe essere che gli utenti non potrebbero piu vedere lo scanner, ma per risolvere bastera’ aggiungerli al gruppo lp.

Ho scritto questo articolo perche l’ultima volta ci ho sbattuto 4 giorni per risolvere sto problema. E la soluzione abbastanza banale, non e’ poi cosi ovvia.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.