GNU/Linux >> Linux Esercitazione >  >> Linux

Debian ARM e Brother DCP195C con CUPS

In breve:devi estrarre il file ppd dal driver linux

lungo:

PRIMA

  • Vai al sito web di Brothers Driver e cerca DCP195:http://support.brother.com
  • Scarica la versione Linux deb del "driver della stampante CUPSwrapper (pacchetto deb)"
  • Apri il file deb con uno strumento di compressione e segui il percorso fino a "dcp195ccupswrapper-1.1.3-1.i386/opt/brother/Printers/dcp195c/cupswrapper"
  • Estrai il file "brother_dcp195c_printer_en.ppd"

SECONDO

  • Apri l'interfaccia web delle tazze tramite https://192.168.1.2:631/admin [sostituisci l'ip con i pi]
  • Fai clic su "Aggiungi stampante" Seleziona "Brother DCP-195C (Brother DCP-195C)" e premi "continua"
  • Modifica le informazioni imminenti se necessario, seleziona "condividi stampante" e premi "continua"
  • In "Oppure fornisci un file PPD" cerca il file "brother_dcp195c_printer_en.ppd" estratto e caricalo Segui i passaggi successivi...fatto

Successivamente, la stampante era disponibile, ma con un errore:"File "/usr/lib/cups/filter/brlpdwrapperdcp195c" non disponibile "Poiché ho installato il driver sul mio laptop Ubuntu, ho potuto semplicemente copiare il file dal mio laptop in / usr/lib/cups/filter/ al pi

Successivamente, il mio portatile potrebbe trovare la stampante


Puoi far funzionare il driver i386 sul Raspberry Pi tramite l'emulazione, anche se ha un set di istruzioni diverso. È molto lento e ci vogliono minuti prima che arrivi la stampa, ma funziona.

Ho trovato il suggerimento in questo post del forum:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=15526&start=25#p708038

Passaggio 1:installa il driver come indicato nella documentazione Brother

Dovresti avere una directory come /opt/brother/Printers/dcp195c/lpd con il filtro binario brdcp195cfilter . Questo binario è chiamato dal filterdcp195c script di shell proprio accanto ad esso nella stessa directory.

Credo che ora offrano uno script di installazione, ma l'ho fatto senza. Ci sono istruzioni da qualche parte su ciò che deve essere preinstallato.

Passaggio 2:fai funzionare l'emulazione i386

Questo sta seguendo i passaggi su https://wiki.debian.org/QemuUserEmulation

Alla fine del passaggio 2, dovresti essere in grado di eseguire i binari i386 proprio come i normali binari. In ps ax , mostreranno

Installa Qemu

Installa i pacchetti qemu , binfmt-support e qemu-user-static .

Esegui update-binfmts --display per vedere quali formati binari sono supportati. Dovrebbero essere abilitati automaticamente su Raspbian e Debian.

Installa le librerie di supporto x86

Su Raspbian, aggiungi una riga come questa al tuo /etc/apt/sources.list :

## Debian i386
deb [arch=i386] http://http.debian.net/debian stable main contrib non-free

Va bene anche un altro repository Debian.

Il repository Raspbian non ha binari x86, quindi aggiungi un [arch=armhf] line alle righe esistenti che iniziano con deb . Le righe che iniziano con deb-src può essere mantenuto così com'è.

Dì a Raspbian che vuoi un sistema multiarch con pacchetti i386 e ottieni i386 libc. Per il update passo per funzionare, dovrai importare e fidarti delle chiavi Debian GPG per la gestione dei pacchetti.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386

A questo punto, dovresti essere in grado di eseguire brdcp195cfilter binario fornito con il driver:

$ ./brdcp195cfilter 
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Error: invalid option !!

Se vedi questo output, ha funzionato. Il Error: invalid option !! la riga è brdcp195cfilter lamentarsi che avresti dovuto passare argomenti.

Facoltativo:rimuovi ld.so messaggio di errore

Raspbian usa /etc/ld.so.preload per precaricare il libarmmem libreria in tutti i processi. La libreria sostituisce alcune costose routine di memoria con routine più veloci scritte in assembly ARM, ma non è strettamente necessaria per eseguire Raspbian.

È sicuro ignorare l'avviso, ma anche rimuovere o commentare quella riga da /etc/ld.so.preload . L'avviso verrà visualizzato nei log degli errori di CUPS se non disabilitato.

Passaggio 3:fallo funzionare con CUPS

Dovresti avere un'installazione di CUPS seguendo le istruzioni dal sito web di Brother.

Connessione USB instabile

Sul mio Raspberry, il dmesg log stava alternando rapidamente queste righe ad un certo punto:

[58981.586842] usblp0: removed
[59222.794260] usblp 1-1.3:1.0: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0222

Ciò che mi ha risolto è stato passare a localhost:631 (l'interfaccia web di CUPS) e modificare la stampante nella sezione "Stampanti" in modo che utilizzi il dispositivo USB riconosciuto da CUPS anziché il usb://dev/usb/lp0 dispositivo.

Lascia che la stampante riceva i dati a una velocità normale

brdcp195cfilter è una fase del processo di stampa che riceve un'enorme bitmap di input e la converte in qualcosa che successivamente viene reindirizzato al dispositivo della stampante. Ho misurato una dimensione di input di ~90 MB per un semplice messaggio "Ciao mondo" nella parte superiore della pagina.

L'emulazione sul Raspberry non è abbastanza veloce per tenere il passo con l'alimentazione della stampante con i dati. La stampa funziona, ma ho sentito rumori malsani dai motori della stampante attivi durante l'attesa dei dati.

Per risolvere questo problema, installa l'utility sponge dal moreutils package e modifica filterdcp195c in modo che l'output di $BRCONV $BRCONV_OP (ovvero brdcp195cfilter ) viene convogliato tramite sponge . Dovrebbero esserci tre righe all'interno dei casi "PostScript", "PDF" e "*" alla fine del file, che terminano con ... | $BRCONV $BRCONV_OP | sponge .

Ciò che fa è assorbire tutto l'output dal processo di conversione di lunga durata e inviarlo alla stampante tutto in una volta solo quando il convertitore è terminato. In questo modo, l'avvio della stampa richiede più tempo, ma la stampante riceve i dati a una velocità normale.

(sponge memorizza i dati che memorizza nel buffer in una directory temporanea, quindi non sei limitato dalla RAM del Raspberry Pi)


Linux
  1. Suggerimenti e trucchi per l'utilizzo di CUPS per la stampa con Linux

  2. Velocizza Apache con mod_pagespeed e Memcached su Debian 8

  3. Taglia con Lvm e Dm-crypt?

  4. Configura Apache e Php con mod_fcgid su Ubuntu/Debian

  5. Installa phpMyAdmin su Debian 11 con Apache

Monitoraggio del server con Munin e Monit su Debian 10

Hosting virtuale con vsftpd e MySQL su Debian Squeeze

Monitoraggio del server con Munin e Monit su Debian 8 (Jessie)

Come configurare Mailman con Debian e ISPConfig

Come installare Discourse Forum su Debian 10 con Nginx e Let's Encrypt

Ottieni dettagli di sistema e hardware con uname e lscpu su Debian