Utiliser une imprimante Canon Pixma TR8550 sous Linux

 x0r   5
linux canon retour pixma imprimante scanner expérience

Suite à la mort inopinée de ma précédente imprimante, une HP OfficeJet 6700 Premium qui m’avait inspiré, il y a longtemps, à écrire un billet de blog coup de gueule à propos des pilotes d’imprimante, j’ai été obligé de racheter en catastrophe une nouvelle imprimante multifonction.

Canon Pixma TR8550
Mon imprimante Canon Pixma TR8550.

J’ai jeté mon dévolu sur une Canon Pixma TR8550, qui est une imprimante plutôt compacte et adaptée à mon usage : des impressions occasionnelles de documents, mais surtout beaucoup de scans.

Puisque faire fonctionner cette machine sous Linux était un peu plus compliqué que prévu, je vous propose donc ce petit retour d’expérience, dans lequel je décris ce qu’il a fallu que je fasse pour profiter pleinement de cette imprimante sous Gentoo.

Installer le pilote d’impression, cnijfilter

Il s’agit malheureusement d’un de ces appareils qui nécessite la compilation et l’installation, depuis les sources, de son pilote, qui est de plus fourni avec une collection de bibliothèques sous forme de « blob » binaire. Bref, donc pour ceux qui abhorrent l’idée de faire tourner des logiciels propriétaires sur leur poste libre, cette imprimante n’est pas pour vous.

Sous Gentoo, le pilote est heureusement déjà disponible dans l’arbre Portage. Pour l’installer, il suffit en théorie de taper :

# emerge cnijfilter2

Sauf qu’au jour où j’écris ces lignes, la version de cnijfilter2 dans l’arbre Portage est trop ancienne : il faut la version 5.50 alors que Portage propose la version 5.40. Cependant, un ebuild à jour a déjà été soumis à Gentoo, donc il suffit en théorie de le télécharger et l’installer :

# mkdir -p /usr/local/portage/net-print
# cd /usr/local/portage/net-print
# cp -r /usr/portage/net-print/cnijfilter2 .
# cd cnijfilter2

Placez ensuite le fichier cnijfilter2-5.50.ebuild que vous avez préalablement téléchargé dans /usr/portage/net-print/cnijfilter2. Puis tapez la commande :

# ebuild cnijfilter2-5.50.ebuild manifest

Ajoutez dans votre /etc/portage/package.keywords la ligne suivante :

net-print/cnijfilter2

Enfin, ajoutez /usr/local/portage à votre PORTDIR_OVERLAY si ce n’est pas déjà le cas. Vous pourrez alors installer le pilote avec :

# emerge cnijfilter2

Ajout de l’imprimante dans CUPS

Pour ajouter l’imprimante dans CUPS, c’est heureusement plus facile. Il suffit de visiter l’URL http://localhost:631. Dans l’onglet « Administration », cliquez sur « Add printer » ; si l’imprimante est allumée, elle devrait alors immédiatement apparaître dans la section « Discovered network printers ».

Lorsque CUPS demande le pilote à utiliser, il faudra choisir le pilote « Canon TR8500 series Ver.5.50 » (ils n’ont pas fait de fichier PPD pour le modèle exact, ce qui est étonnant). Le reste est suffisamment simple et pour ma part, la page de test est sortie du premier coup.

Pour scanner, ça se complique

En revanche, ce qui m’a donné de loin le plus de fil à retordre était la partie scanner. Pour l’utiliser, Il faut passer par l’utilitaire propre à Canon, baptisée « ScanGear MP » ; je n’ai pas réussi à faire fonctionner SANE.

La principale raison est qu’un bug s’est glissé dans ScanGear. Après avoir pas mal lutté pour l’installer sur ma machine, j’ai voulu scanner une page de test. Las ! l’outil segfaulte juste après avoir sélectionné l’emplacement lequel écrire le PDF.

Il s’avérait donc que c’était tout simplement la faute d’un pointeur non initialisé à NULL avant sa première utilisation. Il m’a fallu corriger ce petit bug avant que ça marche.

Pour le reste, j’ai écrit un ebuild, que j’ai soumis à Gentoo. Il m’a fallu environ une soirée pour le mettre au point, et une petite heure de plus pour le mettre au propre. Mais un jour, peut-être, vous pourrez installer l’utilitaire de scan avec la commande emerge scangearmp2.

Pour le reste, rien de vraiment folichon : l’outil se lance avec la commande scangearmp2, propose quelques réglages élémentaires et un bouton pour scanner. La résolution du scan est fixée ; à combien, je l’ignore, mais elle est égale ou supérieure à 300 ppp, ce qui suffit largement pour mon utilisation.

Capture d’écran de ScanGear MP
La fenêtre principale de ScanGear MP.

Conclusion

Je peux m’estimer heureux que le bug de ScanGear se résumait à un simple pointeur non initialisé, parce qu’en activant les avertissements de compilation (-Wall), le résultat fait un peu peur.

Quoi qu’il en soit, je me suis rapproché du service client de Canon, et je leur ai transmis le patch en leur expliquant le problème que j’ai corrigé. J’espère donc que ce correctif finisse par être intégré officiellement.

Bien que je trouve légèrement frustrante la nécessité d’installer des logiciels propriétaires de Canon, je saurai m’en accommoder si cette imprimante s’avère être fiable. On verra bien dans combien de temps il me faudra la changer, mais en attendant, croisons les doigts.

Commentaires

Poster un commentaire

TicTacBoum

Bonjour,

Tout d'abord bravo pour votre travail. Le fait de publier vos bidouilles et donc de les partager est vraiment appréciable. Je me permet de vous contacter car je suis aussi dans votre cas: j'ai eu le "malheur" d'acheter la Tr8550.. et de tourner sous linux.. J'ai lu et relu votre article concernant l'installation de votre scanner. et je n'arrive pas à mes fins! J'y ai passé pas mal d'heures sans résultats.. ou presque. Du coté de l'impression en réseau pas de problème en revanche pour le scanner pas moyen d'installer correctement scangearMp. Souvenez vous de la démarche? voici mon soucis: https://www.forum-francophone-linuxmint.fr/viewtopic.php?f=18&t=11674

ps: je ne veux pas non plus vous prendre trop de votre temps!!

Cordialement

x0r

Faut croire que les packages .deb et .rpm précompilés ne valent pas mieux… Le plus simple est peut-être de télécharger les sources de scangearmp2 et de les compiler. Mais je crois me souvenir que les instructions ne sont pas claires ; les ebuilds (qui sont grosso modo des scripts shell indiquant comment compiler et installer un paquet) utilisent une procédure différente de ce qui a été documenté.

On dirait que votre souci est lié à un conflit de fichiers, l’un étant déjà installé par libcanon-proprio-bin et l’autre étant fourni par scangearmp2. Avez-vous essayé votre commande dpkg avec l’option --force-overwrite ? (Ça ne devrait pas être nécessaire en temps normal, mais puisque les .deb de Canon semblent avoir été faits à la tractopelle…)

TicTacBoum

Merci beaucoup pour votre réponse. J'essaye tout ça ce week end!! Cordialement

x0r

Excellent. Et c’est une bonne chose d’avoir une procédure pour d’autres distributions. Tout le monde n’utilise pas Gentoo, après tout… :)

Poster un commentaire