Les imprimantes Canon LBP-660 et LBP-460 sont des imprimantes
GDI (ou "winprinters"), qui utilisent un protocole
propriétaire et non documenté, que j'ai
décodé en utilisant les techniques
présentées par Rildo Pragana (voir Outils et techniques).
Heureusement, certaines parties du protocole sont les mêmes
que celles utilisées par la Samsung ML-85G. J'ai donc pu
baser mon travail sur le driver écrit par Rildo Pragana.
Vous pouvez télécharger ici un driver Linux pour
cette imprimante.
Ce driver devrait supporter les formats de papier A4 et Letter,
toutefois je ne l'ai testé qu'avec des feuilles A4.
Se reporter à la version anglaise de cette page.
Vérifier que Ghostscript est installé.
Extraire l'archive, puis taper :
# make
Se connecter en tant que root et taper :
# make install
Vérifier que CUPS est installé.
Puis taper, en remplaçant 660 par 460 si vous utilisez une Canon LBP-460 :
# make cups-install-660-a4
ou
# make
cups-install-660-letter
selon le format de papier à
utiliser.
Si vous decidez d'installer l'imprimante manuellement dans CUPS, entrez file:/dev/null comme device (et JAMAIS xxxx:/dev/lp0).
Voici la procédure que j'ai utilisée pour écrire ce driver :
D'abord, j'ai lu les excellents articles de Rildo Pragana (Adventures in Linux Programming), et j'ai installé Windows 98 dans Bochs, qui est un émulateur permettant de faire tourner Windows sur Linux.
Je n'ai pas réussi à faire fonctionner mon imprimante avec la dernière version de Bochs (2.1.1), et j'ai donc adapté les patchs de Rildo Pragana à cette version. (télécharger mon patch ici).
J'ai utilisé ce fichier .bochsrc (note: vous devez définir le paramètre ips, cf. la documentation de Bochs pour la méthode à suivre).
Et j'ai utilisé :
# tail -f bochsout.txt | grep DEV >
output.log
pour "logger" toutes les lectures et écritures sur le port parallèle (désactiver/activer ceci en tapant 1/2 sur le pavé numérique avec le "numlock" activé). J'ai finalement écrit plusieurs scripts Perl pour traiter ces données et les renvoyer dans un format plus compréhensible.
La séquence d'initialisation est totalement différente de celle utilisée par la Samsung ML-85G, mais, par chance, l'algorythme de compression est exactement le même.
Rildo Pragana, pour son driver pour une autre imprimante GDI (la Samsung ML-85G), sur lequel j'ai basé mon travail, et pour ces articles qui m'ont beaucoup aidé.
Rildo Pragana, encore, qui a testé ce driver avec la Canon LBP-460.