{{tag>Focal matériel imprimante Canon}}
----
====== Installer le pilote d'imprimantes Canon CAPT ======
**[[:liste_imprimantes_canon|Consulter la liste des imprimantes Canon]] pour savoir si votre imprimante est supportée par ce pilote fourni par Canon.**
De nombreux problèmes subsistent avec la LBP2900 et peut-être d'autres LBP, cela est peut-être lié au dernier pilote de Canon (la version 2.7x). Un [[pilote_canon_capt_alternatif|pilote alternatif]] a été développé et fonctionne très bien avec ce modèle et probablement d'autres LBP. Une autre solution est proposée [[https://askubuntu.com/questions/956674/how-to-make-canon-lbp2900b-work-on-ubuntu-16-04-lts|ici]].
**en**, (installer le pilote 32 bits en 64 bits) et [[https://forum.ubuntu-fr.org/viewtopic.php?id=2010140|là]] **fr**.
=====Installation automatique=====
Il existe un script qui vous installer votre imprimante automatiquement. Vous pouvez le trouver sur [[https://github.com/hieplpvip/ubuntu_canon_printer|Github]].
=====Installation manuelle=====
Le script proposé au point précédent est l'automatisation de ce qui va suivre.
==== Téléchargement du pilote====
Le pilote Canon CAPT se présente sous la forme d'un fichier unique de type archive au format **[[:tar|tar.gz]]**.\\
Cette archive d'environ 127 Mo nommée : **linux-capt-drv-v271-uken.tar.gz** est à télécharger **[[https://sg.canon/en/support/0100459601/7|ici]]**.
Une fois télécharger, les fichiers devrait se trouver par défaut dans le dossier //**Téléchargements**// du compte utilisateur en cours.\\
[[:archivage|Extrayez]] l'archive //linux-capt-drv-v271-uken.tar.gz// ce qui libérera un dossier :<< **linux-capt-drv-v271-uken** >>.
Le dossier **linux-capt-drv-v271-uken** inclut les sous-dossiers par [[:architecture_materielle#mon_ubuntu_est-il_en_32_bits_ou_en_64_bits|architectures]] :
* //**32-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 32bits**((il y a également les paquets au format RPM 32-bits)). //Voir la méthode : [[#Installation du pilote pour 32 bits]].//
* //**64-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 64bits**((il y a également les paquets au format RPM 64-bits)). //Voir la méthode : [[#Installation du pilote pour 64 bits|Installation du pilote pour 64 bits]].//
* //**Doc**// : Contient les informations légales relatives à l'utilisation et à __l'installation du pilote__. \\
==== Installation du pilote====
Le pilote Canon CAPT nécessite l'[[:tutoriel:comment_installer_un_paquet|installation des paquets]] : **[[apt>libglade2-0,libcanberra-gtk-module]]**
Vérifier que l'imprimante est allumée et connectée à l'ordinateur.
=== Installation du pilote pour 32 bits===
Depuis le dossier **linux-capt-drv-v271-uken**, 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_3.21-1_i386.deb**
* **cndrvcups-capt_2.71-1_i386.deb**
Pour [[:tutoriel;comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.21-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.71-1_i386.deb** afin de finaliser l'installation du pilote.
=== Installation du pilote pour 64 bits ===
Au préalable le pilote CAPT pour les versions 64 bits nécessite aussi l'installation des paquets 32bits suivants : **[[apt>libatk1.0-0:i386,libcairo2:i386,libgtk2.0-0:i386,libpango1.0-0:i386,libstdc++6:i386,libxml2:i386,libpopt0:i386,zlib1g:i386,libc6:i386]]** \\.
Depuis le dossier **linux-capt-drv-v271-uken**, 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_3.21-1_amd64.deb**
* **cndrvcups-capt_2.71-1_amd64.deb**
Pour [[:tutoriel:comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.21-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.71-1_amd64.deb** afin de finaliser l'installation du pilote.
==== Installation de l'imprimante ====
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 ppd(([[wpfr>Printer_Postscript_Description|Printer Postscript Description]]))** 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 **[[:liste_imprimantes_canon#lasershot_lbp_et_i-sensys_lbp|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 systemctl stop cups
sudo systemctl start cups
* L'installation se passe en trois étapes :
* Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser,
* Indiquer au démon ccpd((démon spécifique à Canon pour la gestion de l'imprimante)) cette imprimante,
* Démarrer le démon ccpd.
* Installez l'imprimante dans CUPS en tapant 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
Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/majuscule)).
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 en tapant 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'[[#commande d'installation|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 // // et // // du fichier ** /etc/cups/cupsd.conf **.\\
=== Démarrer le démon ccpd ===
1. Adapter le démon ccpd au fonctionnement d'Ubuntu : \\
[[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier : **/etc/init.d/ccpd** et ajoutez ces lignes après les 2 premières :
### BEGIN INIT INFO
# Provides: ccpd
# Required-Start: $local_fs $remote_fs $syslog $network $named
# Should-Start: $ALL
# Required-Stop: $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start Canon Printer Daemon for CUPS
### END INIT INFO
Terminez en enregistrant ce fichier.\\
Vous devez avoir ceci :
#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (ccpd)
### BEGIN INIT INFO
# Provides: ccpd
# Required-Start: $local_fs $remote_fs $syslog $network $named
# Should-Start: $ALL
# Required-Stop: $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start Canon Printer Daemon for CUPS
### END INIT INFO
if [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]; then
while [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]
do
........................................
\\
2. 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 :
● ccpd.service
Loaded: loaded (/etc/init.d/ccpd; bad; vendor preset: enabled)
Active: active (running) since mar. 2016-05-03 15:29:37 CEST; 1min 31s ago
Docs: man:systemd-sysv-generator(8)
Process: 11374 ExecStart=/etc/init.d/ccpd start (code=exited, status=0/SUCCESS
Tasks: 5 (limit: 512)
CGroup: /system.slice/ccpd.service
├─11382 /usr/sbin/ccpd
├─11383 /usr/sbin/ccpd
└─11384 captmonlbp5000 --data-write-fd=4 --data-read-fd=11 --cmd-writ
mai 03 15:29:37 user1-System-Product-Name systemd[1]: Starting ccpd.service...
mai 03 15:29:37 user1-System-Product-Name ccpd[11374]: Starting /usr/sbin/ccpd:
mai 03 15:29:37 user1-System-Product-Name systemd[1]: Started ccpd.service.
lines 1-14/14 (END)
Taper sur la touche **q** pour reprendre la main dans le terminal.Si vous ne voyez ce type de réponse, [[:tutoriel:comment_modifier_un_fichier|éditez avec les droits d'administration]] le fichier **/etc/ccpd.conf** et ajoutez ceci (remplacez //LBP5000// et ///dev/usb/lp0// par ce que vous avez indiqué précédemment) :
DevicePath /dev/usb/lp0
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 = 59787
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 de l'imprimante dans CUPS|installation dans cups]].\\
La commande doit ouvrir la fenêtre du //Canon Statusmonitor//((Le //Canon Statusmonitor// donne accès à certaines fonctionnalités avancées de l'imprimante telles que : nombres pages imprimées, niveaux toners, calibrage, nettoyage ou encore mise en veille)) avec le message "**Ready to print** (ou sleeping)".\\
Si toutefois la commande retourne le message "**capstatusui Socket Error**", vous pouvez essayer de redémarrer le démon ccpd et le service d'impression avec les commandes suivantes :
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.
Tant que vous n'aurez pas réalisé la partie [[#Automatiser le démarrage du démon ccpd]], il faudra lancer le démon ccpd manuellement à chaque redémarrage de l'ordinateur. sudo service ccpd start
4. Définir cette imprimante par défaut (si vous le souhaitez) :\\
Ouvrez l'application "//Imprimantes//" faites un clic droit sur l'icone de l'imprimante et sélectionnez "//Définir par défaut//".
Il se peut que vous trouviez une deuxième imprimante identifiée "//LBPxxxx-2//". Elle aura été créée par le système de détection automatique des imprimantes. Ignorez là, le système ne sait pas installer correctement ces imprimantes et si vous la supprimez elle reviendra.
=== Automatiser le démarrage du démon ccpd ===
Une fois correctement installée, pour que l'imprimante fonctionne d'une façon transparente pour l'utilisateur, il faut automatiser le démarrage du démon ccpd.
Taper la commande suivante dans un [[:terminal]] : sudo update-rc.d ccpd defaults
===== 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'[[#commande d'installation|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)[[https://help.ubuntu.com/community/CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]]
* (en) [[http://v0xel.wordpress.com/2006/05/23/canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com
* (en) [[https://ubuntuforums.org/showthread.php?t=1315665|Fil de discussion]] sur ubuntuforums.org
----
//Contributeurs:// [[:utilisateurs:murex]], [[:utilisateurs:fabux]], [[:utilisateurs:Antoine P]]