GNU/Linux >> Tutoriales Linux >  >> Linux

Debian ARM y Brother DCP195C con CUPS

Breve:debe extraer el archivo ppd del controlador de Linux

largo:

PRIMERO

  • Vaya al sitio web de Brothers Driver y busque DCP195:http://support.brother.com
  • Descargue la versión deb de Linux del "controlador de impresora CUPSwrapper (paquete deb)"
  • Abra el archivo deb con una herramienta de compresión y siga la ruta hasta "dcp195ccupswrapper-1.1.3-1.i386/opt/brother/Printers/dcp195c/cupswrapper"
  • Extraiga el archivo "brother_dcp195c_printer_en.ppd"

SEGUNDO

  • Abra la interfaz web de cups a través de https://192.168.1.2:631/admin [reemplace la ip con pi's]
  • Haga clic en "Agregar impresora" Seleccione "Brother DCP-195C (Brother DCP-195C)" y presione "continuar"
  • Edite la próxima información si es necesario, marque "compartir impresora" y presione "continuar"
  • En "O proporcione un archivo PPD", busque el archivo extraído "brother_dcp195c_printer_en.ppd" y cárguelo. Siga los siguientes pasos... Listo

Después de eso, la impresora estuvo disponible, pero con un error:"Archivo "/usr/lib/cups/filter/brlpdwrapperdcp195c" no disponible"Debido a que instalé el controlador en mi computadora portátil Ubuntu, simplemente pude copiar el archivo de mi computadora portátil en / usr/lib/cups/filter/ al pi

Después de esto, mi computadora portátil pudo encontrar la impresora


Puede hacer que el controlador i386 funcione en Raspberry Pi a través de la emulación, aunque tenga un conjunto de instrucciones diferente. Es muy lento y toma minutos hasta que llega la copia impresa, pero funciona.

Encontré la pista en esta publicación del foro:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=15526&start=25#p708038

Paso 1:Instale el controlador como se indica en la documentación de Brother

Debería tener un directorio como /opt/brother/Printers/dcp195c/lpd con el filtro binario brdcp195cfilter . Este binario es llamado por el filterdcp195c shell script justo al lado en el mismo directorio.

Creo que ahora ofrecen un script de instalación, pero lo hice sin él. Hay instrucciones en alguna parte sobre lo que debe preinstalarse.

Paso 2:Hacer funcionar la emulación i386

Esto es siguiendo los pasos en https://wiki.debian.org/QemuUserEmulation

Al final del paso 2, debería poder ejecutar los binarios i386 como los binarios regulares. En ps ax , mostrarán

Instalar Qemu

Instale los paquetes qemu , binfmt-support y qemu-user-static .

Ejecutar update-binfmts --display para ver qué formatos binarios son compatibles. Deberían habilitarse automáticamente en Raspbian y Debian.

Instalar bibliotecas de soporte x86

En Raspbian, agregue una línea como esta a su /etc/apt/sources.list :

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

Otro repositorio de Debian también funcionará.

El repositorio de Raspbian no tiene archivos binarios x86, así que agregue un [arch=armhf] línea a sus líneas existentes que comienzan con deb . Las líneas que comienzan con deb-src se puede mantener como está.

Dígale a Raspbian que desea un sistema multiarquitectura con paquetes i386 y obtenga la libc i386. Para el update paso a trabajar, deberá importar y confiar en las claves GPG de Debian para la gestión de paquetes.

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

En este punto, debería poder ejecutar el brdcp195cfilter binario que viene con el controlador:

$ ./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 !!

Si ve este resultado, funcionó. El Error: invalid option !! la línea es brdcp195cfilter quejándose de que deberías haber aprobado los argumentos.

Opcional:Elimina el ld.so mensaje de error

Raspbian usa /etc/ld.so.preload para precargar el libarmmem biblioteca en todos los procesos. La biblioteca reemplaza algunas costosas rutinas de memoria con rutinas más rápidas escritas en ensamblador ARM, pero no es estrictamente necesario para ejecutar Raspbian.

Es seguro ignorar la advertencia, pero también eliminar o comentar esa línea de /etc/ld.so.preload . La advertencia aparecerá en los registros de errores de CUPS si no está desactivada.

Paso 3:Haz que esto funcione con CUPS

Debe tener una instalación de CUPS siguiendo las instrucciones del sitio web de Brother.

Conexión USB escamosa

En mi Raspberry, el dmesg log alternaba rápidamente entre estas líneas en algún momento:

[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

Lo que me solucionó fue ir a localhost:631 (la interfaz web de CUPS) y modifique la impresora en la sección "Impresoras" para que use el dispositivo USB reconocido por CUPS en lugar del usb://dev/usb/lp0 dispositivo.

Deje que la impresora reciba datos a una velocidad normal

brdcp195cfilter es un paso en el proceso de impresión que recibe un gran mapa de bits de entrada y lo convierte en algo que luego se canaliza al dispositivo de impresión. Medí un tamaño de entrada de ~90 MB para un mensaje simple de "Hola mundo" en la parte superior de la página.

La emulación en la Raspberry no es lo suficientemente rápida como para seguir alimentando la impresora con datos. La impresión funciona, pero escuché ruidos poco saludables de los motores de la impresora activos mientras esperaban datos.

Para solucionar esto, instale la utilidad sponge del moreutils empaquetar y editar filterdcp195c para que la salida de $BRCONV $BRCONV_OP (también conocido como brdcp195cfilter ) se canaliza a través de sponge . Debe haber tres líneas dentro de los casos "PostScript", "PDF" y "*" al final del archivo, terminando en ... | $BRCONV $BRCONV_OP | sponge .

Lo que esto hace es engullir todos los resultados del proceso de conversión de larga duración y solo enviarlos a la impresora de una sola vez cuando el convertidor haya terminado. De esa forma, la impresión tarda más en comenzar, pero la impresora recibe los datos a un ritmo normal.

(sponge almacena los datos que almacena en un directorio temporal, por lo que no está limitado por la RAM de Raspberry Pi)


Linux
  1. Consejos y trucos para usar CUPS para imprimir con Linux

  2. Acelere Apache con mod_pagespeed y Memcached en Debian 8

  3. ¿Recortar con Lvm y Dm-crypt?

  4. Configure Apache y Php con mod_fcgid en Ubuntu/Debian

  5. Debian ARM y Brother DCP195C con CUPS

Supervisión de servidores con Munin y Monit en Debian 10

Alojamiento virtual con vsftpd y MySQL en Debian Squeeze

Supervisión del servidor con Munin y Monit en Debian 8 (Jessie)

Cómo configurar Mailman con Debian e ISPConfig

Cómo instalar Discourse Forum en Debian 10 con Nginx y Let's Encrypt

Obtenga detalles del sistema y hardware con uname y lscpu en Debian