Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:installer_pilote_canon_lbp [Le 25/06/2014, 18:08]
murex correction erreur dans ligne de commande
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​matériel imprimante Canon}} 
  
----- 
- 
-====== Installer et tester une imprimante Canon LBPxxxx en ligne de commande ====== 
- 
-Cette page, utilisant uniquement le [[:​terminal]],​ est destinée à ceux qui, après avoir suivi le tutoriel d'​**[[:​installer_canon_lbp|installation du pilote dédié à leur imprimante Canon]] série Lasershot** ((nommée LBP-xxxx, où xxxx est le numéro d'​identification de votre imprimante)),​ ne veulent ou ne peuvent pas suivre la [[:​tutoriel:​installer_imprimante_preinstalles|méthode d'​installation d'une imprimante à partir de pilotes pré-installés]] qui est une technique en mode graphique.\\ 
-N'​oubliez pas que la documentation fournie dans l'​archive d'​installation de votre pilote vous donnera des informations complémentaires à cette page. 
-<​note>​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 << **[[:​impression_sous_ubuntu|Comprendre l'​impression sous Ubuntu]]** >>​.</​note>​ 
- 
-===== Pré-requis ===== 
- 
-  * Maîtriser un minimum le [[:​terminal]];​ 
-  * Avoir [[:​installer_canon_lbp|installé le pilote]] ​ correspondant à votre imprimante d'​après la [[:​liste_imprimantes_canon|liste des imprimantes Canon]]; 
-  * Avoir allumé votre imprimante; ​ 
-  * Avoir redémarré votre ordinateur; 
-  * Connaître le nom du fichier ppd(([[http://​fr.wikipedia.org/​wiki/​Printer_Postscript_Description|Printer Postscript Description]])) du pilote, correspondant à votre imprimante : <​code>​ls /​usr/​share/​cups/​model/​ | grep CNCUPS</​code>​ 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 driver Canon CAPT nécessite la gestion des bibliothèques 32bits pour les systèmes 64bits. \\ 
-Actuellement,​ ce driver utilise le paquet //​ia32-libs//​ pour cette gestion. Ce paquet a notamment pour rôle d'​installer l'​ensemble des bibliothèques 32 bits pour les systèmes 64bits. 
- 
-Depuis [[:12.04]], Ubuntu utilise une autre technique qui ne repose plus sur //​ia32-libs//​ et les bibliothèques s'​installent différemment. \\ 
-Comme mentionné au [[#Pour la versions Ubuntu 64 bits : 12.04 LTS|paragraphe 3]], avec [[:12.04]] il est encore possible d'​installer l'​ancien //​ia32-libs//​ car les dépendances sont encore assurées. 
- 
-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, ce qui rend pratiquement impossible l'​installation de cet ancien paquet //​ia32-libs//​ avec 14.04 et 13.10 en 64bits. 
- 
-Pour cette raison, il ne semble pas possible de faire fonctionner les imprimantes utilisant le driver CAPT sous 14.04 et 13.10 en 64bits. \\ 
-En attendant que Canon sorte une nouvelle version du driver qui prendra en charge cette évolution de Debian/​Ubuntu (?), le plus simple peut consister à utiliser 12.04 LTS ou une version plus récente d'​Ubuntu **en 32 bits**. 
- 
-FIXME 
- 
-===== Pour la versions Ubuntu 64 bits : 12.04 LTS ==== 
-Avec les versions 64bits, il faut installer le paquet //​ia32-libs//​. Il fournit les bibliothèques 32bits pour les systèmes 64bits. Elles sont indispensables au fonctionnement du pilote Canon. \\  
-Depuis [[:12.04]], la gestion des bibliothèques 32bits pour les systèmes 64bits a changé dans Ubuntu. Le paquet //​ia32-libs//,​ fourni dans les dépôts correspondants,​ n'est plus compatible avec le pilote Canon.\\ Il faut donc __installer manuellement une version antérieure du paquet //​ia32-libs//​__.\\ Cette opération peut paraître complexe, aussi lisez et suivez attentivement les opérations qui vont suivre. \\  
- 
-  - **[[:​tutoriel:​comment_installer_un_paquet|installez]] au préalable les dépendances** liées au paquet //​ia32-libs//​ : **[[apt>​lib32asound2,​lib32ffi6,​lib32bz2-1.0,​lib32gcc1,​lib32stdc++6,​lib32z1,​lib32ncurses5,​lib32ncursesw5,​libc6-i386]]** \\ \\ 
-  - Téléchargez puis **[[:​tutoriel:​comment_installer_un_paquet|installez]] une version antérieure du paquet //​ia32.libs//​**:​ **[[http://​fr.archive.ubuntu.com/​ubuntu/​pool/​universe/​i/​ia32-libs/​ia32-libs_20090808ubuntu36_amd64.deb|ia32-libs]]** \\ \\ Ces deux étapes peuvent être résumées dans un [[:​terminal]] en saisissant par exemple les commandes suivantes :<​code>​sudo apt-get update</​code>​ <​code>​sudo apt-get install lib32asound2 lib32ffi6 lib32bz2-1.0 lib32gcc1 lib32stdc++6 lib32z1 lib32ncurses5 lib32ncursesw5 libc6-i386</​code>​ <​code>​wget http://​fr.archive.ubuntu.com/​ubuntu/​pool/​universe/​i/​ia32-libs/​ia32-libs_20090808ubuntu36_amd64.deb</​code>​ <​code>​sudo dpkg -i ia32-libs_20090808ubuntu36_amd64.deb</​code>​ \\ 
-  - Maintenant que ce paquet est installé, il faut **[[:​apt-get#​bloquer_la_mise_a_jour_d_un_paquet|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 [[:​synaptic|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 : <​code>​echo "​ia32-libs hold" | sudo dpkg --set-selections</​code>​ Pour vérifier que le paquet n'a plus le statut //install// mais //hold// : <​code>​dpkg --get-selections | grep ia32-libs</​code>​ doit vous retourner : <​file>​ia32-libs ​  ​ hold</​file>​ 
- 
-<​note>​Si vous utilisez la méthode ci-dessus (ligne de commande), à l’ouverture du [[:​gestionnaire_de_mises_a_jour|Gestionnaire de mises à jour]], le paquet //​ia32-libs//​ apparaîtra dans la liste des mises à jour, mais comme il est bloqué (hold) vous ne pourrez pas le sélectionner.</​note>​ 
- 
-===== Installation de l'​imprimante,​ toutes versions 32 et 64bits===== 
- 
-Elle 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, 
-  - Automatiser la reconnaissance de l'​imprimante. 
-  
- 
-==== Installation de l'​imprimante dans CUPS ==== 
- 
-Taper la commande suivante dans un terminal :  
- 
-<​code>​sudo /​usr/​sbin/​lpadmin -p [nom de l'​imprimante] -m [fichier ppd] -v [uri périphérique] -E</​code>​ 
-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%%''​\\ ​ 
-  * -E : active l'​imprimante déterminée et autorise les demandes d'​impression sur ce périphérique. \\  
- 
-Exemple pour une LBP5000 : 
- 
-<​code>​sudo /​usr/​sbin/​lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://​localhost:​59787 -E</​code>​ 
- 
-<note important>​Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/​majuscule)) 
-</​note>​ 
- 
-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** : <​code>​sudo mkdir /var/ccpd 
-sudo mkdir /​var/​captmon 
-sudo mkfifo /​var/​ccpd/​fifo0 
-sudo chown -R lp:lp /​var/​ccpd/</​code>​ 
-  - Installer l'​imprimante dans CUPS avec la commande suivante :\\ (exemple pour une LBP5000) <​code>​sudo /​usr/​sbin/​lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/​var/​ccpd/​fifo0 -E</​code> ​ 
- 
- 
-==== Enregistrer l'​imprimante dans le démon ccpd ==== 
- 
-Taper la commande suivante dans un terminal :  
- 
-<​code>​sudo /​usr/​sbin/​ccpdadmin -p [nom de l'​imprimante] -o [device]</​code>​ 
-où : 
- 
-  * [Nom de l'​imprimante] est le nom que vous avez choisi lors de l'​[[#​commande d'​installation|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 : <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP5000 -o /​dev/​usb/​lp0</​code>​\\ Exemple de retour de cette commande pour une LBP5000 :  <​file>​ 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!! </​file>​ 
-    * **Valeur de [device] pour une connexion en réseau :** 
-      * net:​[adresse IP] 
-      * Exemple pour une LBP5000 : <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP-5000 -o net:​192.168.0.20</​code>​ 
-  ​ 
-   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 ensuite le démon ccpd : 
-<​code>​sudo service ccpd start</​code>​ 
- 
-Puis vérifiez son bon fonctionnement :  
-<​code>​sudo service ccpd status</​code>​ 
- 
-vous devriez avoir en retour quelque chose du type : 
-<​file>​Canon Printer Daemon for CUPS: ccpd: 8956 8954</​file>​ 
- 
- 
-<note tip>Si vous ne voyez qu'un seul nombre à la fin de la ligne, [[:​tutoriel:​comment_modifier_un_fichier|éditez avec les droits d'​administration]] le fichier **/​etc/​ccpd.conf** et ajoutez ceci (remplacez LBP5000 par ce que vous aviez indiqué précédemment) :  
-<​file>​ 
-<Printer LBP5000> 
-DevicePath /​dev/​usb/​lp0 
-</​Printer>​ 
- 
-</​file>​ 
-Redémarrer le démon ccpd et vérifier de nouveau son statut ​ 
-<​code>​ 
-sudo service ccpd restart 
-sudo service ccpd status</​code>​ 
-</​note>​ 
- 
-A ce stade, l'​imprimante devrait-être opérationnelle et vous pouvez paramétrez le système pour que le démon ccpd [[#​Automatiser la détection de l'​imprimante|se lance correctement en fonction de l'​allumage de l'​imprimante]].\\ 
- 
- 
-==== 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]]. 
- 
-[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez ou créez avec les droits d'​administration]] le fichier : **/​etc/​udev/​rules.d/​85-canon-capt.rules** et ajoutez ces lignes : 
-<​file>​ 
-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" 
-</​file>​ 
-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 [[#Lancer ou relancer ccpd à chaque mise en service de l'​imprimante|vous venez de créer]]. \\  [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier : ///​lib/​udev/​rules.d/​70-printers.rules//​ et commentez ((ajoutez un dièse (#) au début)) toutes les lignes :\\ (Exemple pour le fichier de [[:12.04]]) 
-<​file>#​ 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"</​file> ​ 
- 
-<note important>​Attention,​ le fichier //​70-printers.rules//​ est un fichier système susceptible d'​être modifié lors de prochaines mises à jour. Pensez à vérifier l'​état de ce fichier si votre imprimante cesse de fonctionner...</​note>​\\ 
- 
- 
-=== 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 : 
-  * __avant que le PC ne soit démarré :__ La séquence de démarrage d'​Ubuntu,​ lance [[:UDEV]] avant [[:CUPS]]. Donc, la règle UDEV que nous venons de créer va détecter l’imprimante et lancera ccpd avant CUPS. 
-  * __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.\\ \\  
- 
-[[:​tutoriel:​comment_modifier_un_fichier|Créez avec les droits d'​administration]] un fichier : **/​etc/​init/​ccpd-restart.conf** pour y insérer ceci: 
- 
-<​file>​ 
-# 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</​file> ​ 
- 
-Terminez en enregistrant ce fichier. Le job [[:​Upstart]] est prêt à fonctionner.\\ 
- 
- 
-===== Vérification de l'​installation ===== 
- 
-Si vous avez suivi toutes les étapes mais que votre imprimante ne veut rien imprimer depuis vos logiciels habituels, il peut-être utile de vérifier que l'​installation s'est correctement déroulée.\\ 
-Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'​ordinateur. 
- 
-Dans un [[:​terminal]] saisissez : 
-<​code>​sudo ccpdadmin</​code>​la commande doit vous renvoyer : 
-<​file>​ 
-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 ​ : 
-</​file>​ 
-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.\\ 
- 
-===== Astuces =====  
- 
-Le fonctionnement du pilote Canon pour Linux n'​étant pas parfait, il peut-être nécessaire de connaître ces quelques astuces. 
- 
-==== Connaître le statut de l'​imprimante ==== 
- 
-La commande suivante permet de connaître le statut de l'​imprimante : 
-<​code>​captstatusui -P [nom de l'​imprimante]</​code> ​ 
-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 vous 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 un message "​**Ready to print**"​.\\ 
-Si toutefois la commande retourne le message "​**capstatusui Socket Error**",​ vous pouvez essayer de [[#​redémarrer le service d'​impression]]. 
-Si cela ne suffit pas, laissez l'​imprimante allumée et connectée puis redémarrez l'​ordinateur. 
- 
-==== Redémarrer le service d'​impression ====  
-Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd : 
-<​code>​sudo service cups restart 
-sudo service ccpd restart</​code>​ 
- 
-==== 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 :  
-<​code>​sudo /​usr/​sbin/​ccpdadmin -x [nom de l'​imprimante]</​code>​ 
-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 :  
-<​code>​sudo /​usr/​sbin/​ccpdadmin </​code>​ 
- 
-donnera un résultat de ce type :  
-<​file>​ 
-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 ​ 
- ​------------------------------------------------------ 
-</​file>​ 
- 
-===== 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) [[http://​ubuntuforums.org/​showthread.php?​t=1315665|Fil de discussion]] sur ubuntuforums.org 
- 
----- 
-//​Contributeurs://​ [[:​utilisateurs:​fabux]],​ [[:​utilisateurs:​murex]] 
  • tutoriel/installer_pilote_canon_lbp.1403712521.txt.gz
  • Dernière modification: Le 25/06/2014, 18:08
  • par murex