Installare stampanti con porta USB utilizzando CUPS

Guida da adottare! Bannermv.png


Premessa

Questa guida è stata scritta da un'utente alle prime esperienze con Linux (Debian) i contenuti del presente articolo sono frutto di ricerche effettuate sul Web, rielaborate e a volte tradotte, tutte le informazioni presenti sono state testate, quindi possono ritenersi attendibili.

Introduzione

Il kernel di Linux permette di comunicare con ogni stampante che si possa collegare ad una porta USB, sfortunatamente, questo da solo non è sufficiente; bisogna essere anche in grado di generare dati che la stampante possa capire, per questo serve un software di spool nel nostro caso CUPS. Detto questo, prima di accingersi alla configurazione di una stampante USB dobbiamo verificare i requisiti per l'istallazione. della stampante, 3 cose sono importanti:

1) Verificare se la nostra stampante è compatibile con Linux

Infatti alcune stampanti necessitano di driver esterni a CUPS (Common UNIX Printing Solution), driver che possono essere ricercati nel sito linuxprinting.org: basta cercare la propria stampante e troverete i driver necessari al suo funzionamento. Per istallare i driver seguire le informazioni contenute nelle pagine indicate da http://linuxprinting.org in funzione del proprio driver scelto, ad esempio vedi questo link per il driver (hplip) http://hpinkjet.sourceforge.net/ cliccando su [istallation istruction]. Fortunatamente se facciamo un'istallazione di CUPS completa dei pacchetti foomatic, gimpprint come descritto più avanti abbiamo ottime probabilità di trovare i driver per le stampanti più comuni (HP,epson,ecc...)

2) Verificare se i moduli per il funzionamento della stampante USB sono caricati dal kernel

Prima di tutto dobbiamo controllare se nel kernel è attivato il supporto per la stampante USB ed i moduli necessari per la stampa: da root digitiamo il seguente comando

  # modconf 

così che i moduli vengano sempre caricati all'avvio di Debian. Si aprirà il pannello di configurazione del programma modconf:

  • andiamo sulla riga kernel/drivers/parport [invio] e controlliamo che (parport) e (parport_pc) siano attivati (se son attivati avranno un segno, altrimenti attiviamoli);
  • andiamo sulla riga kernel/drivers/usb/core [invio] e controlliamo che sia attivato (se è attivato avrà un segno, altrimenti attiviamolo);
  • andiamo sulla riga kernel/drivers/usb/hosts [invio] e controlliamo che (ehci_hcd)(ohci_hcd)(uhci_hcd) siano attivati (se son attivati avranno un segno, altrimenti attiviamoli);
  • andiamo sulla riga kernel/drivers/usb/class [invio] e controlliamo che (usblp) sia attivato (se è attivato avrà un segno, altrimenti attiviamolo).

A questo punto si rende necessario riavviare il PC: avendo usato il comando modconf dobbiamo rendere effettive le modifiche fatte al kernel digitando il seguente comando da root

  # reboot

Quindi colleghiamo la stampante accesa al connettore USB del PC ed attendiamo il caricamento del kernel, poi da shell verifichiamo se la stampante viene riconosciuta.

3) Verificare se la stampante viene riconosciuta dal sistema

da root digitiamo il seguente comando:

 # dmesg | grep usb

dovrebbe apparire una linea del genere:

 drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0alt 0 proto 2 vid 0x04B8 pid 0x0005

oppure si può utilizzare questo comando della suite CUPS (se già installato cups)

  # lpstat -a (per elencare le stampanti disponibili)
  hp656 accepting requests since Jan 01 00:00

Se non controlliamo l'efficienza di questa tre cose è inutile procedere con il software di spool.
Questa procedura di riconoscimento della stampante può essere eseguita anche senza riavviare il sistema caricando i seguenti moduli sempre da root con il comando modprobe:

  # modprobe usblp
  # modprobe uhci-hcd
  # modprobe ehci-hcd
  # modprobe ohci-hcd

gli altri moduli descritti sopra generalmente li troviamo già precaricati dal kernel 2.6.x. Comunque, io prediligo la procedura con il comando modconf in modo che ad ogni avvio di sistema ci troviamo tutto configurato senza ripetere il caricamento dei moduli ed in più con la procedura sopra descritta comprendiamo più a fondo quello che stiamo facendo e di cosa abbiamo bisogno per stampare e per riconoscere una stampante USB.

Configura stampante con CUPS

Per eseguire questa procedura abbiamo bisogno di installare il software CUPS, non è argomento trattato in questa guida comunque è possibile farlo dai repository cercando e installando tutti i vari pacchetti collegati a CUPS, scaricare sempre dai repository tutti i pacchetti dei driver della nostra stampante, tutti i pacchetti di "foomatic" e di "ghostscript".

Installare CUPS

Installazione di CUPS Common UNIX Printing System digitando il seguente comando da root

  # apt-get install cupsys cupsys-client cupsys-driver-gimpprint
  # apt-get install foomatic-db-engine foomatic-db-hpijs 
  # apt-get install foomatic-filters-ppds foomatic-gui

Successivamente controlliamo se CUPS è stato installato correttamente sempre da root con il comando:

  # lpinfo -v
 Dovremmo vedere qualcosa del genere:
  network socket
  network http
  network ipp
  network lpd
  direct canon:/dev/lp0
  direct epson:/dev/lp0
  direct parallel:/dev/lp0
  direct usb:/dev/usb/lp0
  direct usb:/dev/usb/lp1
  direct usb:/dev/usb/lp2
  direct usb:/dev/usb/lp3
  direct usb:/dev/usb/lp4
  direct usb:/dev/usb/lp5
  direct usb:/dev/usb/lp6
  direct usb:/dev/usb/lp7
  direct usb:/dev/usb/lp8
  direct usb:/dev/usb/lp9
  direct usb:/dev/usb/lp10
  direct usb:/dev/usb/lp11
  direct usb:/dev/usb/lp12
  direct usb:/dev/usb/lp13
  direct usb:/dev/usb/lp14
  direct usb:/dev/usb/lp15

Arrivati a questo punto, avremo il software CUPS correttamente istallato e la stampante USB riconosciuta. Possiamo quindi passere alla configurazione del software di spool CUPS e della stampante avvalendoci dell'interfaccia web messa a disposizione da CUPS e raggiungibile da un qualunque browser all'indirizzo http://127.0.0.1:631, dove l'IP è il localhost e "631" è la porta di ascolto del server CUPS. Se non si riesce a visualizzare la pagina web principale di CUPS provare questo comando sempre da root

  # /etc/init.d/cupsys reload (per riavviare il server)

Configurare CUPS

Portarsi di nuovo all'indirizzo http://127.0.0.1:631, se tutto è andato per il verso giusto nel browser visualizzeremo un output di questo tipo:

figura 1 Questa è la pagina principale di cups
 
[cliccare] sopra il link Printers visualizzando questa pagina:(fig1.2)
figura 1.2 Indica che non ci sono stampanti istallate
 
[cliccare] sopra il link Add Printer visualizzando questa pagina:(fig1.3)
figura 1.3 Pannello di amministrazione
 
Per procedere con l'amministrazione di CUPS tramite interfaccia web è necessario accedere al pannello di fig.1.3 tramite il nome UTENTE e PASSWORD generalmente quelli root dopo di che si apre il pannello di amministrazione. Se ciò non dovesse funzionare, significa che dovete abilitare root o il vostro utente alla gestione delle stampanti. Per fare ciò seguiamo i consigli della FAQ di CUPS, disponibile all'indirizzo: http://www.cups.org/articles.php?L237+I10+TMine+P1+Q Da root digitare:

 # usermod -G -a lpadmin nomeutente

In questo modo aggiungerete l'utente selezionato al gruppo lpadmin. Se il gruppo non dovesse esistere, sempre da root digitare:

 # groupadd lpadmin 

per creare il gruppo lpadmin.

  N.B.:
non è obbligatorio utilizzare il nome "lpadmin". Potete inserire il nome del gruppo che preferite. L'importante è che coincida con il nome impostato nel file di configurazione di CUPS: /etc/cups/cupsd.conf alla riga:
SystemGroup lpadmin 

Se non esiste, basta inserirla.


Superato questo "inghippo" di accesso al pannello di amministrazione si passa alla configurazione della stampante seguendo e compilando i campi di fig.1.3.

  • [name], aggiungi un breve nome indicativo, usato dal sistema per identificare la stampante. Questo nome non deve contenere spazi o altri caratteri speciali. Per esempio, la stampante HP 656 c potrebbe diventare hp656c.
  • [location], ovvero il luogo dove la stampante è fisicamente collocata (per esempio nella propria stanza, nello studio,ecc). Ciò può essere utile per poter gestire molte stampanti contemporaneamente.
  • [description], dove si può indicare una completa descrizione della stampante. Per esempio il nome completo "HP 656 c Deskjet"

[cliccare] sopra il link Continue visualizzando questa pagina:(fig1.4)
figura 1.4 Selezionare il dispositivo dove è in ascolto la stampante
 
C'è una vasta gamma di scelta all'interno dell'elenco dei device per i diversi tipi di installazione (stampanti di rete,stampanti seriali,ecc) ma a noi interessa l'USB, quindi non tratteremo gli altri tipi di configurazione. Selezionare USB Printer # 1 o successivi se vi sono altri dispositivi collegati alle porte USB del PC.
[cliccare] sopra il link Continue visualizzando questa pagina:(fig1.5)
figura 1.5 Selezionare il modello del dispositivo di stampa
 
[cliccare] sopra il link Continue visualizzando questa pagina:(fig1.6)
figura 1.6 Selezionare il driver del dispositivo di stampa
 
in questa fase è possibile scorrere il menu con tutti i driver disponibili in CUPS dopo aver istallato i driver foomatic, gimp-print oppure i driver esterni come spiegato nell'introduzione e di scegliere quello più adatto per il proprio dispositivo
[cliccare] sopra il link Continue visualizzando questa pagina:(fig1.7)
figura 1.7 Indica che la stampante è installata con successo
 
CUPS informerà che la stampante è stata correttamente aggiunta al sistema. Adesso è possibile entrare nella pagina di amministrazione della stampante.
[cliccare] sopra il link hp656(ognuno avrà il nome del proprio dispositivo configurato) visualizzando questa pagina:(fig1.8)
figura 1.8 Pannello di gestione della stampante
 
All'interno di questa pagina troviamo il menu per la gestione della stampante: [cliccare] sopra il link Configure Printer visualizzando una pagina tipo questa: (fig 1.9)
figura 1.9 Pannello di configurazione della stampante
 
Settiamo i parametri come la carta, la risoluzione, il colore a seconda delle specifiche del nostro dispositivo USB, torniamo alla pagina di fig.1.8, nel pannello di gestione della stampante e [cliccare] sopra il link Print Test Page e se tutto è andato bene avremo la stampa della pagina di prova, ora il nostro sistema è configurato.

Conclusioni

Questa guida è stata scritta per utenti alle prime armi con Linux, tratta in modo non approfondito la configurazione del server CUPS ma pone comunque delle soluzioni per superare alcune problematiche, e rimane un modo veloce per configurare una stampante in LOCALE e renderla funzionante in poco tempo: può essere quindi particolarmente indicata per soluzioni di tipo casalingo.Si invitano comunque gli utenti ad approfondire le informazioni sulla configurazione del file cupsd.conf.