Ceci est une ancienne révision du document !
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 tar.gz.
Cette archive d'environ 64 Mo nommée : Linux_CAPT_PrinterDriver_V260_uk_EN.tar.gz est à télécharger ici.
Pour les versions Ubuntu 64 bits
Sur les systèmes 64bits, le pilote Canon CAPT utilise le paquet ia32-libs pour la gestion des bibliothèques 32bits qui sont nécessaires à son fonctionnement. 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 technique2) qui ne repose plus sur le paquet 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 13.10 et 14.04 (en 64bits).
Cela reste encore possible avec 12.04 64bits, moyennant quelques opérations préalables.
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).
ou 12.04 en 64bits.
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'archive3) 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 dans un terminal :
- 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 32bits4). Voir la méthode : Installation du pilote pour 32 bits.
- 64-bit_Driver : Contient les paquets .deb pour l'installation sur architecture 64bits5). Voir la méthode : Installation du pilote pour 64 bits.
- 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
Pour l'installer, vous pouvez aussi taper dans un terminal :
sudo apt-get install libglade2-0
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
Installation du pilote pour 64 bits (12.04)
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
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 ppd6) 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.
Vous trouverez également ici la liste des fichiers PPD pour votre imprimante.
Relancer CUPS
Pour que l'installation du pilote CAPT soit prise en compte par CUPS, entrer les commandes suivantes dans un terminal :
sudo service cups stop
sudo service cups start
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
Pour résumer ces 2 étapes et leur exécution en ligne de commande :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_2.7ubuntu26.1_amd64.deb
sudo dpkg -i ia32-libs_2.7ubuntu26.1_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 Ubuntu 32 bits et 12.04 64 bits
Elle se passe en trois étapes :
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] : nom que vous avez choisi lors de l'installation dans cups
- [device] : 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émarrer le démon ccpd
Tapez la commande suivante :
sudo service ccpd start
Vérifications de l'installation
1) 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
2) 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.
3) 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 ------------------------------------------------------
Liste des fichiers PPD
Liste selon la documentation officielle Canon :
Nom de l'imprimante | Nom du fichier PPD |
---|---|
LBP9100C | CNCUPSLBP9100CCAPTK.ppd |
LBP7210C | CNCUPSLBP7210CCAPTK.ppd |
LBP7200C | CNCUPSLBP7200CCAPTK.ppd |
LBP7010C / LBP7018C | CNCUPSLBP7018CCAPTK.ppd |
LBP 6310 | CNCUPSLBP6310CAPTK.ppd |
LBP6300 | CNCUPSLBP6300CAPTK.ppd |
LBP6300n | CNCUPSLBP6300nCAPTK.ppd |
LBP6200 | CNCUPSLBP6200CAPTK.ppd |
LBP 6020 | CNCUPSLBP6020CAPTK.ppd |
LBP6000 / LBP6018 | CNCUPSLBP6018CAPTK.ppd |
LBP5300 | CNCUPSLBP5300CAPTK.ppd |
LBP5100 | CNCUPSLBP5100CAPTK.ppd |
LBP5050 | CNCUPSLBP5050CAPTK.ppd |
LBP5000 | CNCUPSLBP5000CAPTK.ppd |
LBP3500 | CNCUPSLBP3500CAPTK.ppd |
LBP3310 | CNCUPSLBP3310CAPTK.ppd |
LBP3300 | CNCUPSLBP3300CAPTK.ppd |
LBP3250 | CNCUPSLBP3250CAPTK.ppd |
LBP3210 | CNCUPSLBP3210CAPTK.ppd |
LBP3200 | CNCUPSLBP3200CAPTK.ppd |
LBP3100 / LBP3108 / LBP3150 | CNCUPSLBP3150CAPTK.ppd |
LBP3010 / LBP3018 / LBP3050 | CNCUPSLBP3050CAPTK.ppd |
LBP3000 | CNCUPSLBP3000CAPTK.ppd |
LBP2900 | CNCUPSLBP2900CAPTK.ppd |
LBP-1210 | CNCUPSLBP1210CAPTK.ppd |
LBP-1120 11) | CNCUPSLBP1120CAPTK.ppd |
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