GNU/Linux >> Tutoriels Linux >  >> Linux

Debian ARM et Brother DCP195C avec CUPS

Court :vous devez extraire le fichier ppd du pilote linux

longue :

PREMIER

  • Allez au site Web Brothers Driver et recherchez DCP195 :http://support.brother.com
  • Téléchargez la version Linux deb du "pilote d'imprimante CUPSwrapper (paquet deb)"
  • Ouvrez le fichier deb avec un outil de compression et suivez le chemin jusqu'à "dcp195ccupswrapper-1.1.3-1.i386/opt/brother/Printers/dcp195c/cupswrapper"
  • Extraire le fichier "brother_dcp195c_printer_en.ppd"

SECONDE

  • Ouvrez l'interface Web de cups via https://192.168.1.2:631/admin [remplacez l'ip par des pi]
  • Cliquez sur "Ajouter une imprimante" Sélectionnez "Brother DCP-195C (Brother DCP-195C)" et appuyez sur "continuer"
  • Modifiez les informations à venir si nécessaire, cochez "partager l'imprimante" et appuyez sur "continuer"
  • Dans "Ou fournissez un fichier PPD", accédez au fichier "brother_dcp195c_printer_en.ppd" extrait et téléchargez-le Suivez les étapes suivantes...fait

Après cela, l'imprimante était disponible, mais avec une erreur :"Fichier "/usr/lib/cups/filter/brlpdwrapperdcp195c" non disponible"Parce que j'ai installé le pilote sur mon ordinateur portable Ubuntu, je pouvais simplement copier le fichier de mon ordinateur portable à / usr/lib/cups/filter/ au pi

Après cela, mon ordinateur portable a pu trouver l'imprimante


Vous pouvez faire fonctionner le pilote i386 sur le Raspberry Pi grâce à l'émulation, même s'il a un jeu d'instructions différent. C'est très lent et prend quelques minutes jusqu'à ce que l'impression arrive, mais ça marche.

J'ai trouvé l'indice sur ce post du forum :https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=15526&start=25#p708038

Étape 1 :Installez le pilote comme indiqué dans la documentation Brother

Vous devriez avoir un répertoire tel que /opt/brother/Printers/dcp195c/lpd avec le filtre binaire brdcp195cfilter . Ce binaire est appelé par le filterdcp195c script shell juste à côté dans le même répertoire.

Je crois qu'ils proposent maintenant un script d'installation, mais je l'ai fait sans. Il y a des instructions quelque part qui doivent être préinstallées.

Étape 2 :Faites fonctionner l'émulation i386

Ceci suit les étapes sur https://wiki.debian.org/QemuUserEmulation

À la fin de l'étape 2, vous devriez être en mesure d'exécuter des fichiers binaires i386 comme des fichiers binaires normaux. En ps ax , ils afficheront

Installer Qemu

Installez les packages qemu , binfmt-support et qemu-user-static .

Exécutez update-binfmts --display pour voir quels formats binaires sont pris en charge. Ils devraient être automatiquement activés sur Raspbian et Debian.

Installer les bibliothèques de support x86

Sur Raspbian, ajoutez une ligne comme celle-ci à votre /etc/apt/sources.list :

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

Un autre référentiel Debian fera également l'affaire.

Le référentiel Raspbian n'a pas de binaires x86, alors ajoutez un [arch=armhf] ligne à vos lignes existantes commençant par deb . Les lignes commençant par deb-src peut être conservé tel quel.

Dites à Raspbian que vous voulez un système multiarch avec des packages i386 et obtenez la libc i386. Pour le update étape pour fonctionner, vous devrez importer et faire confiance aux clés GPG Debian pour la gestion des paquets.

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

À ce stade, vous devriez pouvoir exécuter le brdcp195cfilter binaire fourni avec le pilote :

$ ./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 vous voyez cette sortie, cela a fonctionné. Le Error: invalid option !! la ligne est brdcp195cfilter se plaindre que vous auriez dû passer des arguments.

Facultatif :Supprimez le ld.so message d'erreur

Raspbian utilise /etc/ld.so.preload pour précharger le libarmmem bibliothèque dans tous les processus. La bibliothèque remplace certaines routines de mémoire coûteuses par des routines plus rapides écrites en assemblage ARM, mais n'est pas strictement nécessaire pour exécuter Raspbian.

Il est prudent d'ignorer l'avertissement, mais également de supprimer ou de commenter cette ligne de /etc/ld.so.preload . L'avertissement apparaîtra dans les journaux d'erreurs CUPS s'il n'est pas désactivé.

Étape 3 :Faites en sorte que cela fonctionne avec CUPS

Vous devriez avoir une installation CUPS en suivant les instructions du site Web de Brother.

Connexion USB irrégulière

Sur mon Raspberry, le dmesg log alternait rapidement entre ces lignes à un moment donné :

[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

Ce qui m'a résolu le problème était d'aller à localhost:631 (l'interface Web de CUPS) et modifiez l'imprimante dans la section "Imprimantes" afin qu'elle utilise le périphérique USB reconnu par CUPS plutôt que le usb://dev/usb/lp0 appareil.

Laissez l'imprimante recevoir les données à une vitesse normale

brdcp195cfilter est une étape du processus d'impression qui reçoit un énorme bitmap d'entrée et le convertit en quelque chose qui sera ensuite acheminé vers le périphérique d'impression. J'ai mesuré une taille d'entrée d'environ 90 Mo pour un simple message "Hello world" en haut de la page.

L'émulation sur le Raspberry n'est pas assez rapide pour alimenter l'imprimante en données. L'impression fonctionne, mais j'ai entendu des bruits malsains provenant des moteurs de l'imprimante actifs pendant l'attente des données.

Pour résoudre ce problème, installez l'utilitaire sponge du moreutils empaqueter et éditer filterdcp195c de sorte que la sortie de $BRCONV $BRCONV_OP (alias brdcp195cfilter ) est canalisé via sponge . Il doit y avoir trois lignes dans les cas "PostScript", "PDF" et "*" à la fin du fichier, se terminant par ... | $BRCONV $BRCONV_OP | sponge .

Ce que cela fait, c'est engloutir toute la sortie du processus de conversion de longue durée et ne l'envoyer à l'imprimante qu'en une seule fois lorsque le convertisseur est terminé. De cette façon, le démarrage de l'impression prend plus de temps, mais l'imprimante reçoit ses données à un rythme normal.

(sponge stocke les données qu'il met en mémoire tampon dans un répertoire temporaire, vous n'êtes donc pas limité par la RAM du Raspberry Pi)


Linux
  1. Trucs et astuces pour utiliser CUPS pour imprimer avec Linux

  2. Accélérez Apache avec mod_pagespeed et Memcached sur Debian 8

  3. Configurer Apache et Php avec mod_fcgid sur Ubuntu/Debian

  4. Installer phpMyAdmin sur Debian 11 avec Apache

  5. Debian ARM et Brother DCP195C avec CUPS

Surveillance de serveur avec Munin et Monit sur Debian 10

Hébergement virtuel avec vsftpd et MySQL sur Debian Squeeze

Surveillance de serveur avec Munin et Monit sur Debian 8 (Jessie)

Comment configurer Mailman avec Debian et ISPConfig

Comment installer Discourse Forum sur Debian 10 avec Nginx et Let's Encrypt

Obtenir les détails du système et du matériel avec uname et lscpu sur Debian