Montare le stampanti su / dev / usb e utilizzare ancora CUPS


12

A causa di una nuova versione di CUPS, improvvisamente ho perso il percorso diretto delle mie stampanti precedentemente disponibile in /dev/usb/lpXXX. L'ho usato per stampare direttamente dalla riga di comando. echo "test" > /dev/usb/lp0.

Dopo aver cercato ho trovato un modo per risolvere questo problema, commentando blacklist usblpin /etc/modprobe.d/blacklist.conf. Funziona davvero, ma se lo faccio CUPS non sarà più in grado di comunicare con nessuna stampante (e ne ho bisogno). Quindi, come posso avere una sorta di percorso diretto verso la mia stampante e far funzionare ancora CUPS?

NOTA: alcune delle stampanti (ricevute) non sono riconosciute da CUPS, quindi lprnon funzioneranno per quelle.


L'ArchWiki ha alcuni paragrafi su questo tema , alla fine si consiglia di utilizzare il usblpmodulo di per caricare il firmware (ad esempio cat sihp1020.dl > /dev/usb/lp0) e rmmodche successivamente . (Brutto, davvero.)
sr_


Per riferimento futuro, confermo che DEVICE_URI="usb://HP/LaserJet%20102?serial=XYZ" /usr/lib/cups/backend/usb 1 1 1 1 '' ~/sihp1020.dlè un libusbmodo efficace per inviare il firmware a una stampante che ne ha bisogno (e che, usando usblp, lo ha inviato a via cat sihp1020.dl > /dev/usb/lp0prima). Questo potrebbe anche essere usato per inviare file arbitrari alla stampante USB, quindi l'OP potrebbe provarlo.
sr_

Un'altra cosa da provare, secondo questo , potrebbe esserci un modo per usare CUPS con il usblpmodulo, configurandolo per usare file:/dev/usb/lp0 invece di usb:/dev/usb/lp0 .
sr_

Risposte:


1

Posso confermare che la soluzione di cui sopra funziona bene per me. Uso OpenWRT con CUPS su di esso per stampare tramite il router (TL-WR1043ND). Uso un HP Laserjet P1005. Questo richiede un firmware caricato ogni volta che si accende. Ho inserito il firmware /usr/libe utilizzato il seguente comando:

DEVICE_URI="usb://HP/HP%20LaserJet%20P1005?serial=BB0417Y" /usr/lib/cups/backend/usb 1 1 1 1 '' /usr/lib/sihpP1005.dl

Dove usb://HP/HP%20LaserJet%20P1005?serial=BB0417Ydeve essere sostituito con il tuo. Puoi trovarlo usando il comando / usr / lib / cups / backend / usb.


0

Qual è la tua versione di CUPS e la sua distribuzione? A partire da 1.4.x, CUPS può utilizzare libusbper comunicare con i nodi del dispositivo USB invece di passare lpusb.


0

Puoi indicare la marca e il modello della tua stampante, per favore? Inoltre, qual è la tua distribuzione? Inoltre, qual è la tua versione CUPS? Non sono chiaro quale sia il problema descritto nel primo paragrafo. È possibile configurare la stampa con CUPS tramite USB. Non è (di solito) un grosso problema. Puoi approfondire come lo hai impostato originariamente? Nota che CUPS ha lprun'utilità, che almeno in Debian è nel cups-bsdpacchetto, e può essere usata per stampare dalla riga di comando, usando CUPS come backend, nel solito modo, cioè lpr filename.

Normalmente quando si configura USB, il tuo /etc/cups/printers.confaspetto sarà simile a questo. La mia stampante attuale utilizza USB.

# Printer configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<DefaultPrinter SamsungLaser>
Info SamsungLaser
MakeModel Samsung ML-2850 Series PS
DeviceURI usb://Samsung/ML-2850%20Series
[...]

Questo è di solito impostato usando il comando da riga di comando lpadmin. Il comando è simile al seguente:

/usr/sbin/lpadmin -p printer -E -v device -P ppd_file

Esegui questo come root o come utente nel lpadmingruppo. In questo è il dispositivo usb://something. Per trovare il dispositivo USB corrispondente alla tua stampante, prova

lpinfo -l -v

Ovviamente devi assicurarti che sia collegato e acceso. Qualcuno ha suggerito di correre /usr/lib/cups/backend/usb, che ha funzionato anche per me. Ma lpinfoè più standard. Come sei arrivato a utilizzare /dev/usb/lpXXXin primo luogo?

Sul mio computer ottengo il seguente output:

/usr/lib/cups/backend/usb

DEBUG: list_devices_libusb
DEBUG: usb_find_busses=2
DEBUG: usb_find_devices=5
direct usb://Samsung/ML-2850%20Series "Samsung ML-2850 Series" "Samsung ML-2850 Series" "MFG:Samsung;CMD:PCL5E,PCL6,POSTSCRIPT;MDL:ML-2850 Series;CLS:PRINTER;STATUS:BUSY;" ""

È possibile consultare il Manuale dell'amministratore del software CUPS per ulteriori informazioni. Apple ha fatto qualcosa di strano con la documentazione per le versioni CUPS più recenti, quindi questo è per CUPS 1.1 ma dovrebbe essere ancora valido.

Nota: non inizierei i moduli nella lista nera a meno che tu non sia davvero sicuro che questo sia il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.