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)