Installer le pilote d'imprimantes Canon CAPT

Consulter la liste des imprimantes Canon pour savoir si votre imprimante est supportée par ce pilote fourni par Canon.

Sous Ubuntu 16.04 et ultérieur, ou bien cela est lié au dernier pilote de Canon (la version 2.7x), de nombreux problèmes subsistent avec la LBP2900 et peut-être d'autres LBP. Un 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 ici. en, (installer le pilote 32 bits en 64 bits) et fr.
Si cette page ne vous a pas aidé à faire fonctionner votre imprimante vous pouvez toujours essayer le pilote alternatif.

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 127 Mo nommée : linux-capt-drv-v271-uken.tar.gz est à télécharger ici.

Extraction de l'archive

Les fichiers téléchargés sous Ubuntu se trouvent par défaut dans le dossier Téléchargements du compte utilisateur en cours.
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 architectures :

Le pilote Canon CAPT nécessite l'installation des paquets : 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 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

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 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.

Pour les versions Ubuntu 64 bits

Le pilote CAPT nécessite aussi l'installation des paquets 32bits suivants : libatk1.0-0:i386,libcairo2:i386,libgtk2.0-0:i386,libpango1.0-0:i386,libstdc++6:i386,libxml2:i386,libpopt0:i386

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.

Si vous n'êtes pas familier avec le vocabulaire utilisé ou si vous désirez avoir une vision d'ensemble de l'impression sous Ubuntu, consultez la page : Comprendre l'impression sous Ubuntu.

Pré-requis

Connaître le nom du fichier ppd3) 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 systemctl stop cups
sudo systemctl start cups


Pour les versions Ubuntu 32 bits et 64 bits

Elle se passe en trois étapes :

  1. Installer la nouvelle imprimante dans CUPS en indiquant quel pilote utiliser,
  2. Indiquer au démon ccpd4) cette imprimante,
  3. Démarrer le démon ccpd.

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
Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse5).

Si cette méthode ne fonctionne pas, vous pouvez toujours utiliser l'ancienne procédure qui consistait à :

  1. 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/
  2. 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 …)
L'imprimante doit être allumée et connectée car le fichier /dev/usb/lpxx est recréé automatiquement à chaque connexion de l'imprimante.
  • 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

1. Adapter le démon ccpd au fonctionnement d'Ubuntu :
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, é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) :
<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         = 59787
 Entry Num  :Spooler   :Backend  :   FIFO path       : Device Path  : Status
 -------------------------------------------------------------------
   [0]    :LBP-XXX     : ccp    : //localhost:59787 : /dev/usb/lp0  :

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 Statusmonitor6) 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.

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.

Pour la version 16.04 et plus récentes

Taper la commande suivante dans un terminal :

sudo update-rc.d ccpd defaults

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 
 ------------------------------------------------------



Contributeurs: murex, fabux, Antoine P


1)
il y a également les paquets au format RPM 32-bits
2)
il y a également les paquets au format RPM 64-bits
4)
démon spécifique à Canon pour la gestion de l'imprimante
5)
minuscule/majuscule
6)
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
  • imprimante_canon_capt2.txt
  • Dernière modification: Le 08/05/2019, 11:05
  • (modification externe)