Ceci est une ancienne révision du document !
BROUILLON Comment installer le pilote d'imprimantes Canon CAPT.
Consulter la liste des imprimantes Canon pour savoir si votre imprimante est supportée par ce pilote propriétaire1) fourni par Canon.
Téléchargement du pilote Canon CAPT
Le pilote Canon CAPT se présente sous la forme d'un fichier unique de type archive au format gzip.
Cette archive d'environ 64 Mo nommée : Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz est à télécharger ici.
Extraction de l'archive
Méthode graphique
Les fichiers téléchargés sous Ubuntu se trouvent par défaut dans le dossier Téléchargements du compte utilisateur en cours.
Accédez à ce dossier en utilisant votre gestionnaire de fichiers habituel pour y extraire l'archive2) Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz, libérant ainsi un dossier :
« Linux_CAPT_PrinterDriver_V260_uk_EN ».
Méthode en ligne de commande
Pour résumer les étapes précédentes et leur exécution en ligne de commande :
- se positionner dans le dossier Téléchargements de votre compte utilisateur :
cd ~/Téléchargements
- décompresser l'archive :
tar xvzf Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz
- aller au dossier Linux_CAPT_PrinterDriver_V260_uk_EN :
cd ./Linux_CAPT_PrinterDriver_V260_uk_EN
Le dossier Linux_CAPT_PrinterDriver_V260_uk_EN inclut les sous-dossiers :
- 32-bit_Driver : Contient les paquets .deb pour l'installation sur architecture 32bits3). Voir la méthode « Installation du pilote pour 32 bits ».
- 64-bit_Driver : Contient les paquets .deb pour l'installation sur architecture 64bits4). Voir la méthode « Installation du pilote pour 64 bits ».
- Src : Contient deux archives tar.gz pour la compilation des pilotes.
- Doc : Contient les informations légales relatives à l'utilisation et à l'installation du pilote.
Installation du pilote Canon CAPT
Le pilote Canon CAPT nécessite l'installation du paquet libglade2-0.
Utiliser votre gestionnaire de paquets ou taper dans un terminal :
sudo apt-get install libglade2-0
pour installer ce paquet.
Installation du pilote pour 32 bits
Depuis le dossier Linux_CAPT_PrinterDriver_V260_uk_EN, naviguez jusqu'au chemin 32-bit_Driver.
Dans ce dernier, se trouve un dossier Debian qui contient les deux pilotes mis sous forme de paquet :
- cndrvcups-common_2.60-1_i386.deb
- cndrvcups-capt_2.60-1_i386.deb
Méthode graphique
Pour installer les pilotes, depuis votre gestionnaire de fichiers, il suffira généralement de faire un double-clic sur le paquet cndrvcups-common_2.60-1_i386.deb et de suivre les instructions de votre gestionnaire de paquets.
Vous ferez ensuite un double-clic sur le paquet cndrvcups-capt_2.60-1_i386.deb afin de finaliser l'installation du pilote.
Méthode en ligne de commande
- Depuis le dossier où l'archive a été décompressée, il faut aller dans le dossier ./Linux_CAPT_PrinterDriver_V260_uk_EN/32-bit_Driver/Debian.
Si vous êtes déjà dans le bon dossier, passez au point 2, sinon entrez la commande suivante dans un terminal :cd ./Linux_CAPT_PrinterDriver_V260_uk_EN/32-bit_Driver/Debian
- Une fois dans le dossier Debian, installez les deux paquets :
sudo dpkg -i cndrvcups-common_2.60-1_i386.deb cndrvcups-capt_2.60-1_i386.deb
Relancer CUPS
Pour que l'installation du pilote soit prise en compte par CUPS, entrer les commandes suivantes dans un terminal :
sudo service cups stop
puis
sudo service cups start
Installation du pilote pour 64 bits
Depuis le dossier Linux_CAPT_PrinterDriver_V260_uk_EN, naviguez jusqu'au chemin 64-bit_Driver.
Dans ce dernier, se trouve un dossier Debian qui contient les deux pilotes mis sous forme de paquet :
- cndrvcups-common_2.60-1_amd64.deb
- cndrvcups-capt_2.60-1_amd64.deb
Méthode graphique
Pour installer les pilotes, depuis votre gestionnaire de fichiers, il suffira généralement de faire un double-clic sur le paquet cndrvcups-common_2.60-1_amd64.deb et de suivre les instructions de votre gestionnaire de paquets.
Vous ferez ensuite un double-clic sur le paquet cndrvcups-capt_2.60-1_amd64.deb afin de finaliser l'installation du pilote.
Méthode en ligne de commande
- Depuis le dossier où l'archive a été décompressée, il faut aller dans le dossier ./Linux_CAPT_PrinterDriver_V260_uk_EN/64-bit_Driver/Debian.
Si vous êtes déjà dans le bon dossier, passez au point 2, sinon entrez la commande suivante dans un terminal :cd ./Linux_CAPT_PrinterDriver_V260_uk_EN/64-bit_Driver/Debian
- Une fois dans le dossier Debian, installez les deux paquets :
sudo dpkg -i cndrvcups-common_2.60-1_amd64.deb cndrvcups-capt_2.60-1_amd64.deb
Relancer CUPS
Pour que l'installation du pilote soit prise en compte par CUPS, entrer les commandes suivantes dans un terminal :
sudo service cups stop
puis
sudo service cups start
Installation de l'imprimante
Il faut maintenant installer l'imprimante pour qu’elle puisse fonctionner.
Cette partie utilise le terminal.
N'oubliez pas que la documentation fournie dans l'archive d'installation du pilote peut vous donner des informations complémentaires à cette page.
Pré-requis
Connaître le nom du fichier ppd5) du pilote, correspondant à votre imprimante.
Tapez cette commande dans un terminal pour obtenir la liste des fichiers ppd disponibles :
ls /usr/share/cups/model/ | grep CNCUPS
Pour la plupart des modèles, vous trouverez 2 fichiers correspondants à votre imprimante: CNCUPSxxxxCAPTK.ppd et CNCUPSxxxxCAPTJ.ppd.
La documentation Canon recommande le CNCUPSxxxxCAPTK.ppd.
Si après avoir suivi ce tutoriel votre imprimante ne fonctionne pas, essayez avec le fichier CNCUPSxxxxCAPTJ.ppd.
Pour les versions Ubuntu 64 bits : 14.04 LTS et 13.10
Pour son fonctionnement, le pilote Canon CAPT nécessite la gestion des bibliothèques 32bits pour les systèmes 64bits.
Actuellement, il utilise le paquet ia32-libs pour cette gestion. Ce paquet a notamment pour rôle d'installer l'ensemble des bibliothèques 32bits pour les systèmes 64bits.
Depuis 12.04, Ubuntu utilise une autre technique6) qui ne repose plus sur ia32-libs et les bibliothèques s'installent différemment. De plus, avec 13.10 et 14.04 certaines dépendances et/ou bibliothèques installées par ia32-libs sont supprimées (lib32asound2 …) et d'autres ont changé de version. Ceci rend pratiquement impossible l'installation d'un paquet ia32-libs avec ces deux dernières versions (en 64bits).
Pour cette raison, il ne semble pas possible de faire fonctionner les imprimantes utilisant le pilote CAPT sous 14.04 et 13.10 (en 64bits).
En attendant que Canon publie une nouvelle version du driver qui prendrait en charge cette évolution de Debian/Ubuntu, le plus simple peut consister à utiliser 12.04 LTS 64 bits ou une version plus récente d'Ubuntu en 32bits.
Pour la version Ubuntu 64 bits : 12.04 LTS
Depuis 12.04, la gestion des bibliothèques 32bits pour les systèmes 64bits a changé dans Ubuntu. Le paquet ia32-libs, encore fourni dans les dépôts correspondants, n'est plus compatible avec le pilote Canon.
Cependant il est encore possible avec 12.04, d'installer manuellement une version antérieure du paquet ia32-libs qui sera compatible avec le pilote CAPT.
Cette opération peut paraître complexe, aussi lisez et suivez attentivement les opérations qui vont suivre.
- installez au préalable les dépendances liées au paquet ia32-libs : lib32asound2,lib32ffi6,lib32bz2-1.0,lib32gcc1,lib32stdc++6,lib32z1,lib32ncurses5,lib32ncursesw5,libc6-i386
- Téléchargez puis installez une version antérieure du paquet ia32.libs: ia32-libs
Ces deux étapes peuvent être résumées dans un terminal en saisissant les commandes suivantes :sudo apt-get update
sudo apt-get install lib32asound2 lib32ffi6 lib32bz2-1.0 lib32gcc1 lib32stdc++6 lib32z1 lib32ncurses5 lib32ncursesw5 libc6-i386
wget http://fr.archive.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_20090808ubuntu36_amd64.deb
sudo dpkg -i ia32-libs_20090808ubuntu36_amd64.deb
- Maintenant que ce paquet est installé, il faut bloquer cette version pour qu'elle ne soit pas automatiquement remplacée lors de la prochaine mise à jour de votre système. Si vous avez installé le Gestionnaire de paquets Synaptic, utilisez-le pour bloquer la version du paquet ia32-libs que vous venez d'installer.
Sinon, vous pouvez taper la commande suivante dans un terminal :echo "ia32-libs hold" | sudo dpkg --set-selections
Pour vérifier que le paquet n'a plus le statut install mais hold :
dpkg --get-selections | grep ia32-libs
doit vous retourner :
ia32-libs hold
Pour les versions d'Ubuntu : 32 ET 64 bits
Elle se passe en trois étapes :
- Installer la nouvelle imprimante dans CUPS en indiquant quel pilote utiliser,
- Indiquer au démon ccpd7) cette imprimante,
- Automatiser la reconnaissance de l'imprimante.
Installation de l'imprimante dans CUPS
Taper la commande suivante dans un terminal :
sudo /usr/sbin/lpadmin -p [nom de l'imprimante] -m [fichier ppd] -v [uri périphérique] -E
où :
- -p [nom de l'imprimante]: modèle de l'imprimante;
- -m [fichier ppd]: nom du fichier .ppd du pilote (cf pré-requis pour connaître son nom) ;
- -v [uri périphérique]: définit l'attribut device-uri de la file d'attente de l'imprimante.
Ici on mettra :ccp://localhost:59787
- -E : active l'imprimante déterminée et autorise les demandes d'impression sur ce périphérique.
Exemple pour une LBP5000 :
sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E
Si cette méthode ne fonctionne pas, vous pouvez toujours utiliser l'ancienne procédure qui consistait à :
- Vérifier l'existence ou créer les dossiers et fichiers /var/ccpd, /var/captmon et /var/ccpd/fifo0 :
sudo mkdir /var/ccpd sudo mkdir /var/captmon sudo mkfifo /var/ccpd/fifo0 sudo chown -R lp:lp /var/ccpd/
- Installer l'imprimante dans CUPS avec la commande suivante :
(exemple pour une LBP5000)sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
Enregistrer l'imprimante dans le démon ccpd
Taper la commande suivante dans un terminal :
sudo /usr/sbin/ccpdadmin -p [nom de l'imprimante] -o [device]
où :
- [Nom de l'imprimante] est le nom que vous avez choisi lors de l'installation dans cups
- [device] est l'emplacement du fichier du périphérique : Vérifier dans le répertoire /dev/usb le nom exact (lp0; lp1; lp2 …)
- Valeur de [device] pour une connexion en usb sur /dev/usb/lp0 :
- [device] sera remplacé par : /dev/usb/lp0
- Exemple pour une LBP5000 :
sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0
Exemple de retour de cette commande pour une LBP5000 :Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 59787 Entry Num : Spooler : Backend : FIFO path : Device Path : Status ---------------------------------------------------------------------------- [0] : LBP5000 : ccp : //localhost:59787 : /dev/usb/lp0 : New!!
- Valeur de [device] pour une connexion en réseau :
- net:[adresse IP]
- Exemple pour une LBP5000 :
sudo /usr/sbin/ccpdadmin -p LBP-5000 -o net:192.168.0.20
Il peut-être nécessaire d'ajouter une ligne Allow From [adresse IP] dans les sections <Location /> et <Location /admin> du fichier /etc/cups/cupsd.conf .
Démarrez le démon ccpd
Tapez la commande suivante :
sudo service ccpd start
Vérifications de l'installation
Taper dans un terminal la commande suivante pour vérifier le fonctionnement du démon ccpd :
sudo service ccpd status
vous devriez avoir en retour quelque chose du type :
Canon Printer Daemon for CUPS: ccpd: 8956 8954
<Printer LBP5000> DevicePath /dev/usb/lp0 </Printer>
Redémarrer le démon ccpd et vérifier de nouveau son statut
sudo service ccpd restart sudo service ccpd status
Tapez dans un terminal la commande suivante pour vérifier l'enregistrement dans le démon ccpd :
sudo ccpdadmin
la commande doit vous renvoyer :
Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 39787 Entry Num :Spooler :Backend :FIFO path :Device Path :Status ------------------------------------------------------------------- [0] :LBP-XXX : ccp : //localhost:59787 : /dev/usb/lp0 :
où LBP-XXX et /dev/usb/lp0 sont à adapter selon la manière dont vous avez installé votre imprimante dans le démon ccpd.
S'il y a une erreur, elle apparaîtra en fin de ligne.
Taper dans un terminal la commande suivante pour vérifiez l'état de l'imprimante :
captstatusui -P [nom de l'imprimante]
où [nom de l'imprimante] est le nom que vous avez donné lors de l'installation dans cups.
La commande doit ouvrir la fenêtre du Canon Statusmonitor9) avec le message "Ready to print".
sudo service ccpd stop
sudo service cups restart
sudo service ccpd start
Si cela ne suffit pas, laissez l'imprimante allumée et connectée puis redémarrez l'ordinateur. Penser ensuite à lancer le démon ccpd
Si ces vérifications sont positives, l'imprimante devrait-être opérationnelle.
Essayer d'imprimer un document à partir de l'application de votre choix. Si les impressions sortent correctement vous pouvez passer à l'étape suivante.
Automatiser la détection de l'imprimante
Une fois correctement installée, pour que l'imprimante fonctionne d'une façon transparente pour l'utilisateur, il faut automatiser la gestion du démon ccpd.
Ceci demande deux conditions :
- Que le démon ccpd soit lancé ou relancé à chaque mise en service de l'imprimante.
- Que le service CUPS soit actif lors du démarrage du démon ccpd.
Lancer ou relancer ccpd à chaque mise en service de l'imprimante :
Ceci peut être automatisé en utilisant udev.
Ouvrez ou créez avec les droits d'administration le fichier : /etc/udev/rules.d/85-canon-capt.rules et ajoutez ces lignes :
KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="04a9", RUN+="/etc/init.d/ccpd start" KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/etc/init.d/ccpd stop"
Terminez en enregistrant ce fichier.
UDEV détectera automatiquement cette nouvelle règle, il n'est donc pas nécessaire de le relancer.
La détection automatique des imprimantes, définie dans le fichier système : /lib/udev/rules.d/70-printers.rules, contrarie la règle udev que vous venez de créer.
Ouvrez avec les droits d'administration le fichier : /lib/udev/rules.d/70-printers.rules et commentez10) toutes les lignes :
(Exemple pour le fichier de 12.04)
# Low-level USB device add trigger #ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="07", ATTR{bInterfaceSubClass}=="01", TAG+="udev-configure-printer", RUN+="udev-configure-printer add %p" # usblp device add trigger (needed when usblp is already loaded) #ACTION=="add", KERNEL=="lp*", TAG+="udev-configure-printer", RUN+="udev-configure-printer add %p" # Low-level USB device remove trigger #ACTION=="remove", SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:0701*:*", RUN+="udev-configure-printer remove %p"
CUPS actif lors du démarrage du démon ccpd :
Si le démon ccpd est lancé avant CUPS, il plantera à la première demande d’impression sans qu’aucun message d’erreur n’apparaisse. Il va alors prendre 100 % du CPU et ne pourra être stoppé que par la commande “kill -9”.
Cette situation peut se produire si l’imprimante est allumée et branchée :
- lors d’une mise à jour de CUPS : Ce service est stoppé puis, relancé alors que ccpd reste actif.
Pour pallier à ces problèmes particuliers vous devez générer un job Upstart, en plus de la règle UDEV créée précédemment.
Il redémarrera ccpd pour garantir son fonctionnement correct si l’imprimante est détectée sur le bus USB.
Créez avec les droits d'administration un fichier : /etc/init/ccpd-restart.conf pour y insérer ceci:
# ccpd-restart - Relance ccpd si l'imprimante est allumée avant le PC. description "restart daemon ccpd for Canon printer LBP-serie" start on started cups stop on runlevel [016] script if [ -e /dev/usb/lp* ]; then /etc/init.d/ccpd stop sleep 5 /etc/init.d/ccpd start fi end script
Terminez en enregistrant ce fichier. Le job Upstart est prêt à fonctionner.
Retirer une imprimante
En cas d'erreur de manipulation, il peut être utile d'avoir à retirer une imprimante installée de manière erronée.
Dans un terminal, on saisira :
sudo /usr/sbin/ccpdadmin -x [nom de l'imprimante]
où [nom de l'imprimante] est le nom que vous avez donné lors de l'installation dans cups.
Lorsque aucune imprimante n'est installée, la commande :
sudo /usr/sbin/ccpdadmin
donnera un résultat de ce type :
Usage: ccpdadmin [-p Printer-name -o Printer-dev-path] ccpdadmin [-x Remove-Printer-name] CUPS_ConfigPath = /etc/cups/ LOG Path = None UI Port = 59787 Entry Num :Spooler :Backend :FIFO path :Device Path :Status ------------------------------------------------------
Sources
- Documentation Canon fournie avec le pilote d'installation
- la page man de lpadmin
- (en) Canon lbp-1120 How to sur v0xel.wordpress.com
- (en) Fil de discussion sur ubuntuforums.org