Installare stampanti con porta USB utilizzando CUPS

Da Guide@Debianizzati.Org.
Versione del 24 ago 2006 alle 10:10 di Geomod (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

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 piu 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 verranno 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 son attivati avranno un segno , altrimenti attiviamoli.)
  • 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 son attivati avranno un segno , altrimenti attiviamoli.)

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

 # reboot

A questo punto 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 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 sopradescritta 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 la 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

Sucessivamente 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 passeremo alla configurazione del software di spool CUPS e della stampante avvalendoci dell'interfaccia web messa a disposizione da CUPS raggiungibile da un qualunque browsware all'indirizzo http://127.0.0.1:631, dove l'IP è il localhosts 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 brosware visualizzeremo un output di questo tipo:

figura 1 Questa è la pagina principale di cups
Inizialecups.PNG
[cliccare] sopra il link Printers visualizzando questa pagina:(fig1.2)
figura 1.2 Indica che non ci sono stampanti istallate
Printer.PNG
[cliccare] sopra il link Add Printer visualizzando questa pagina:(fig1.3)
figura 1.3 Pannello di amministrazione
Aggiunginuovacups.PNG
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, questo è quanto si legge in alcune guide presenti in rete, non so per quale motivo a me non funziona. Altre guide dicono di creare un utente con il comando lppasswd -a <nome utente> e <password> in quanto l'utente e la password richieste dall'autenticazione sono riferite all'amministratore del server di stampa e non all'amministratore di sistema comunque anche con il seguente comando non sono riuscito ad entrare nel pannello di amministrazione,ho letto in diversi post cercati su internet di situazioni uguali a queste ma non ho trovato risposte risolutive. Sarebbe un bene se qualcuno più esperto intervenisse su questa guida per spiegare ed approfondire questa parte riguardante L'ACCESSO AL SERVER CUPS.
La cosa sicura è che centra la configurazione del file cupsd.conf che è il cuore del server di stampa infatti per eliminare questo problema ho agito su quel file che si trova in /etc/cups/cupsd.conf cambiando dei parametri e sono riuscito ad entrare nel pannello di configurazione per settare la mia stampante, a discapito comunque della sicurezza del server cups. Quindi seguite questi passi solo se non riuscite in alcun modo ad entrare nel pannello di amministrazione, oppure leggetevi ed informatevi in rete http://www.cups.org sul funzionamento del server CUPS e del suo file di configurazione cupsd.conf in quanto non è argomento trattato in questa guida.

editare con un qualsiasi editor...vi..emacs..mc.. il file /etc/cups/cupsd.conf raggiungete la location amministratore e settate i seguenti parametri:

 <location /admin>
 AuthType None  (indica che non si richiede alcuna autenticazione)
 AuthClass Anonymous (annulla qualunque richiesta di autenticazione)
 </location>

digitare da root questo comando:

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

Nota: tutte le volte che si modifica il file cupsd.conf è necessario riavviare il server

In questo modo si avrà accesso al pannello di amministrazione...ma come ripeto a discapito della sicurezza (questa è una soluzione estrema per utenti alle prime armi con linux utile per familiarizzare con il file cupsd.conf e accedere alla configurazione e amministrazione di una stampante)

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....). 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 è inascolto la stampante
Devicecups.PNG
C'è una vasta gamma di scelta all'interno dell'elenco dei device per i divesi tipi di installazione stampanti di rete..stampanti seriali...ma a noi interessa l'USB quindi non tratteremo gli altri tipi di configurazione che non sono oggetto di questa guida, selezionare USB Printer # 1 o sucessivi 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
Cupstypedriver.PNG
[cliccare] sopra il link Continue visualizzando questa pagina:(fig1.6)
figura 1.6 Selezionare il driver del dispositivo di stampa
Cupsselectdriver.PNG
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'itroduzione 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
Printok2.PNG
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
Pannellostampantecups.PNG
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
Gestionestampantecups.PNG
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 con molta superficialità la configurazione del server CUPS ma pone comunque delle soluzioni forse estreme per avallare alcune problematiche, e rimane un modo veloce per configurare una stampante in LOCALE e renderla funzionante in poco tempo, puo essere indicata per soluzioni di tipo casalingo.Si invatano comunque gli utenti ad approfondire le informazioni sulla configurazione del file cupsd.conf.


Geomod