Différences
Ci-dessous, les différences entre deux révisions de la page.
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 27/04/2012, 18:08] murex MàJ pour 12.04LTS |
tutoriel:installer_pilote_canon_lbp [Le 14/07/2014, 15:18] murex Remplacée par : imprimante_canon_capt2 |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
====== Installer et tester une imprimante Canon LBPxxxx en ligne de commande ====== | ====== 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 des drivers dédiés à 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.\\ | + | 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 toutefois plus d'informations que cette page. | + | 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> | <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> | ||
Ligne 12: | Ligne 12: | ||
* Maîtriser un minimum le [[:terminal]]; | * Maîtriser un minimum le [[:terminal]]; | ||
- | * Avoir installé les drivers correspondants à votre imprimante d'après la [[:liste_imprimantes_canon|liste des imprimantes Canon]]; | + | * 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 allumé votre imprimante; | ||
* Avoir redémarré votre ordinateur; | * 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 : <code>ls /usr/share/cups/model/ | grep CNCUPS</code> | + | * 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//. |
- | * Avoir vérifié l'existence ou créer les dossiers et fichiers : | + | |
- | * **/var/ccpd** | + | |
- | * **/var/captmon** | + | |
- | * **/var/ccpd/fifo0**<code>sudo mkdir /var/ccpd | + | |
- | sudo mkdir /var/captmon | + | |
- | sudo mkfifo /var/ccpd/fifo0</code> \\ | + | |
- | ==== Pour les versions Ubuntu 64bits, 11.10 comprise ==== | + | ===== Pour les versions Ubuntu 64 bits : 14.04 LTS et 13.10 ==== |
- | Installer le paquet ia32-libs : **[[apt>ia32-libs]]** \\ Il fournit les bibliothèques 32bits pour les systèmes 64bits. Elles sont indispensables au fonctionnement des drivers Canon. | + | 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. | ||
- | ==== Pour la version Ubuntu 12.04 64bits ==== | + | Depuis [[:12.04]], Ubuntu utilise une autre technique qui ne repose plus sur //ia32-libs// et les bibliothèques s'installent différemment. \\ |
- | Le paquet ia32-libs a été remplacé par multiarch. Les drivers Canon ne prennent pas en compte cette évolution d'Ubuntu.\\ Il faudra donc __installer manuellement le paquet ia32-libs de la version [[:11.10]]__. Cette opération peut paraître complexe, aussi lisez et suivez attentivement les opérations qui vont suivre. \\ //__Nota:__ le paquet ia32-libs, présent dans les dépôts [[:12.04]], est maintenant un paquet de transition qui ne convient pas pour cette installation. | + | 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. |
- | // | + | |
- | - **[[:tutoriel:comment_installer_un_paquet|installer]] 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]] le paquet ia32.libs de la version [[:11.10]]**: [[http://packages.ubuntu.com/oneiric/ia32-libs]] \\ \\ | + | |
- | - 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 satut install mais hold : <code>dpkg --get-selections | grep ia32-libs</code> doit vous retourner : <code>ia32-libs hold</code> | + | |
- | <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> | + | |
- | ===== Préalable pour la version 11.10 uniquement ===== | + | 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. |
- | La version de [[:CUPS]] livrée avec [[:11.10]] n'utilise plus le module usblp(([[https://bugs.launchpad.net/ubuntu/+source/cups/+bug/842823|launchpad.net]])) pour communiquer avec les imprimantes USB. | + | |
- | De ce fait [[:tutoriel:tout_savoir_sur_les_modules_linux#empecher_le_chargement_d_un_module|ce module est "blacklisté"]] pour empêcher son chargement. \\ | + | |
- | Actuellement les drivers Canon n’intègrent pas cette évolution. Il faut donc rétablir le chargement du module usblp.\\ \\ | + | |
- | [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/modprobe.d/blacklist-cups-usblp.conf** et modifier //blacklist usblp// pour avoir ceci : | + | |
- | <file># cups talks to the raw USB devices, so we need to blacklist usblp to avoid | + | |
- | # grabbing them | + | |
- | # blacklist usblp</file> | + | |
- | Cette modification permettra au module usblp de créer le répertoire : ///dev/usb/lp0// à l'apparition de l'imprimante sur le bus USB.\\ | + | |
- | <note tip>Malgré cette modification si l'imprimante est allumée **avant** que le PC ne démarre/redémarre, il peut arriver que le répertoire : ///dev/usb/lp0// ne soit pas automatiquement créé, malgré le chargement correct du module usblp.\\ Dans ce cas même si l'imprimante a été bien installée, elle ne pourra pas imprimer.\\ \\ | + | 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. \\ |
- | __Une solution simple consistera alors à débrancher et rebrancher la prise USB de l'imprimante.__\\ | + | 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**. |
- | Cette action forcera la création du répertoire ///dev/usb/lp0// qui a été "ratée" lors de la séquence de démarrage.\\ \\ | + | |
- | Si cette prise USB est difficilement accessible, voici une autre possibilité pour que la création du répertoire ///dev/usb/lp0// ne soit pas "ratée" lors de la séquence de démarrage.\\ | + | |
- | [[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier **/etc/modules** et modifier le pour y ajouter //usblp// comme ceci : | + | |
- | <file># /etc/modules: kernel modules to load at boot time. | + | |
- | # | + | |
- | # This file contains the names of kernel modules that should be loaded | + | |
- | # at boot time, one per line. Lines beginning with "#" are ignored. | + | |
- | + | ||
- | usblp | + | |
- | lp | + | |
- | rtc | + | |
- | </file> | + | |
- | </note> | + | |
+ | FIXME | ||
- | Une fois ces opérations effectuées, il faut redémarrer l'ordinateur en laissant l'imprimante allumée. \\ | + | ===== Pour la version Ubuntu 64 bits : 12.04 LTS ==== |
- | Normalement le répertoire: ///dev/usb/lp0// a bien été créé. | + | 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_2.7ubuntu26.1_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_2.7ubuntu26.1_amd64.deb</code> <code>sudo dpkg -i ia32-libs_2.7ubuntu26.1_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 ===== | + | ===== Installation de l'imprimante, toutes versions 32 et 64bits===== |
- | Elle se passe en trois étapes: | + | Elle se passe en trois étapes : |
- Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser, | - 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, | - Indiquer au démon ccpd ((démon spécifique à Canon pour la gestion de l'imprimante)) cette imprimante, | ||
Ligne 74: | Ligne 49: | ||
- | ==== Commande d'installation ==== | + | ==== Installation de l'imprimante dans CUPS ==== |
- | La commande suivante permettra d'installer 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> | <code>sudo /usr/sbin/lpadmin -p [nom de l'imprimante] -m [fichier ppd] -v [uri périphérique] -E</code> | ||
Ligne 82: | Ligne 57: | ||
* -p [nom de l'imprimante]: modèle de l'imprimante; | * -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) ; | * -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.\\ | + | * -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%%''\\ |
- | Ici on mettra // ccp:/var/ccpd/fifo0 // \\ | + | * -E : active l'imprimante déterminée et autorise les demandes d'impression sur ce périphérique. \\ |
- | * -E : active l'imprimante déterminée et autorise les demandes d'impression sur ce périphérique. | + | |
- | exemple pour une LBP5000 : | + | Exemple pour une LBP5000 : |
- | <code>sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E</code> | + | |
+ | <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 important>Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/majuscule)) | ||
</note> | </note> | ||
- | ==== Validation de l'installation ==== | + | 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> | ||
- | La commande suivante permettra d'installer l'imprimante dans le démon ccpd : | + | |
+ | ==== 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> | <code>sudo /usr/sbin/ccpdadmin -p [nom de l'imprimante] -o [device]</code> | ||
Ligne 100: | Ligne 83: | ||
* [Nom de l'imprimante] est le nom que vous avez choisi lors de l'[[#commande d'installation|installation dans cups]] | * [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 : | + | * [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 :** | + | |
- | * sous Ubuntu 8.04 LTS et ultérieur [device] sera remplacé par // /dev/usb/lp0 // | + | <note> |
- | * exemple: <code>sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0</code> | + | Penser à connecter l'imprimante au préalable (le répertoire ///dev/usb// est créé automatiquement lors de la connexion de l'imprimante). |
+ | </note> | ||
+ | |||
+ | * **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 :** | * **Valeur de [device] pour une connexion en réseau :** | ||
* net:[adresse IP] | * net:[adresse IP] | ||
- | * exemple: <code>sudo /usr/sbin/ccpdadmin -p LBP-1120 -o net:192.168.0.20</code> | + | * 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 **. | + | 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 | + | |
+ | Démarrez ensuite le démon ccpd : | ||
<code>sudo service ccpd start</code> | <code>sudo service ccpd start</code> | ||
- | puis vérifiez son bon fonctionnement par: | + | |
+ | Puis vérifiez son bon fonctionnement : | ||
<code>sudo service ccpd status</code> | <code>sudo service ccpd status</code> | ||
- | qui devrait vous répondre quelque chose comme: | + | |
- | <code>Canon Printer Daemon for CUPS: ccpd: 8956 8954</code> | + | vous devriez avoir en retour quelque chose du type : |
- | <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 LBP810 par ce que vous aviez indiqué précédemment) : | + | <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> | <file> | ||
- | <Printer LBP810> | + | <Printer LBP5000> |
- | DevicePath /dev/usb/lp0 | + | DevicePath /dev/usb/lp0 |
</Printer> | </Printer> | ||
+ | |||
</file> | </file> | ||
- | avant de redémarrer le démon ccpd et vérifier de nouveau son status <code> | + | Redémarrer le démon ccpd et vérifier de nouveau son statut |
+ | <code> | ||
sudo service ccpd restart | sudo service ccpd restart | ||
sudo service ccpd status</code> | sudo service ccpd status</code> | ||
</note> | </note> | ||
- | Paramétrez enfin le système pour que le démon ccpd [[#Automatiser la détection de l'imprimante|se lance en même temps que la machine]].\\ | + | 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 ==== | ==== 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 ce qui demande deux conditions : | + | |
+ | 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 démon ccpd soit lancé ou relancé à chaque mise en service de l'imprimante. | ||
- | - Que le démon ccpd soit lancé après [[:CUPS]], pour qu’il démarre correctement. | + | - 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=== | + | ===Lancer ou relancer ccpd à chaque mise en service de l'imprimante :=== |
- | Il peut-arriver que votre imprimante ne soit pas ou plus détectée si vous l'éteignez après usage.\\ | + | Ceci peut être automatisé en utilisant [[:udev]]. |
- | Afin de régler ce problème il faut [[#Redémarrer le service d'impression|relancer]] le démon ccpd, ce qui 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: | + | [[: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> | <file> | ||
- | KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="04a9", RUN+="/etc/init.d/ccpd start" | + | KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="04a9", RUN+="/etc/init.d/ccpd start" |
- | KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="remove", RUN+="/etc/init.d/ccpd stop" | + | KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/etc/init.d/ccpd stop" |
</file> | </file> | ||
- | Terminez en enregistrant ce fichier. \\ | + | Terminez en enregistrant ce fichier.\\ |
- | Il est possible que vous soyez obligé de relancer le service [[:udev]], sur d'anciennes versions d'Ubuntu. | + | [[:UDEV]] détectera automatiquement cette nouvelle règle, il n'est donc pas nécessaire de le relancer. |
- | <code>sudo service udev restart</code> | + | |
- | Avec les versions plus récentes d'Ubuntu, [[:udev]] détecte automatiquement les changements. Il n'est donc plus nécessaire de le relancer. | + | |
- | <note>Sur d'anciennes versions d'Ubuntu il est possible que vous ayez automatisé le lancement de ccpd avec cette commande. \\ | + | |
- | <code>sudo update-rc.d ccpd defaults 90</code>C'est notamment le cas si vous avez utilisé l'[[:installer_canon_lbp#installation_automatisee_utilisant_un_script_bash|installation automatisée utilisant un script BASH]].\\ | + | \\ 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]]) |
- | Il sera alors nécessaire d'annuler cette action pour ne pas interférer avec la nouvelle règle udev en saisissant: | + | |
- | <code>sudo update-rc.d -f ccpd remove</code></note> | + | |
- | * __**Pour la version 12.04 :**__ \\ La détection automatique des imprimantes définie dans le fichier: ///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)) la ligne n°4 : | + | |
<file># Low-level USB device add trigger | <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" | + | #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) | # usblp device add trigger (needed when usblp is already loaded) | ||
#ACTION=="add", KERNEL=="lp*", TAG+="udev-configure-printer", RUN+="udev-configure-printer add %p" | #ACTION=="add", KERNEL=="lp*", TAG+="udev-configure-printer", RUN+="udev-configure-printer add %p" | ||
# Low-level USB device remove trigger | # 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>\\ \\ | + | #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”. | ||
- | ===Lancer ccpd après CUPS=== | + | 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. | ||
- | Dans l'ordre de la séquence de démarrage d'Ubuntu, [[:UDEV]] est lancé avant [[:CUPS]]. \\ | + | 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. |
- | Donc, si l'imprimante est allumée et branchée avant le démarrage du PC, la règle [[:UDEV]] que nous venons de créer va détecter l'imprimante et lancera ccpd avant [[:CUPS]]. \\ | + | Il redémarrera ccpd pour garantir son fonctionnement correct si l’imprimante est détectée sur le bus USB.\\ \\ |
- | Dans ce cas, le démarrage incorrect de ccpd va le faire planter à la première demande d'impression sans qu'aucun message d'erreur n'apparaisse. \\ | + | |
- | De plus ccpd va prendre 100% du CPU et il ne peut être stoppé qu'avec une commande "kill -9". | + | |
- | Pour pallier à ce problème particulier, vous devez générer un job [[:Upstart]] en plus de la règle UDEV créée précédemment.\\ | + | [[:tutoriel:comment_modifier_un_fichier|Créez avec les droits d'administration]] un fichier : **/etc/init/ccpd-restart.conf** pour y insérer ceci: |
- | Dans la séquence de démarrage, il détectera la présence ou non de l'imprimante sur le bus USB. et redémarrera ccpd si nécessaire pour garantir son lancement correct. | + | |
- | [[: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> | <file> | ||
# ccpd-restart - Relance ccpd si l'imprimante est allumée avant le PC. | # ccpd-restart - Relance ccpd si l'imprimante est allumée avant le PC. | ||
Ligne 185: | Ligne 190: | ||
if [ -e /dev/usb/lp* ]; then | if [ -e /dev/usb/lp* ]; then | ||
/etc/init.d/ccpd stop | /etc/init.d/ccpd stop | ||
- | sleep 3 | + | sleep 5 |
/etc/init.d/ccpd start | /etc/init.d/ccpd start | ||
fi | fi | ||
end script</file> | end script</file> | ||
+ | |||
Terminez en enregistrant ce fichier. Le job [[:Upstart]] est prêt à fonctionner.\\ | Terminez en enregistrant ce fichier. Le job [[:Upstart]] est prêt à fonctionner.\\ | ||
- | <note important>Si vous utilisez [[:11.10]] **__et__** si vous avez modifié le fichier ///etc/modules// comme indiqué dans: [[#Préalable pour la version 11.10 uniquement]], utilisez ceci pour [[:tutoriel:comment_modifier_un_fichier|Créez avec les droits d'administration]] le fichier **/etc/init/ccpd-restart.conf**\\ | ||
- | <file># ccpd-restart.conf = Relance ccpd si l'imprimante est allumée avant le PC. | ||
- | # Copier dans: /etc/init/ | ||
- | # Pour Ubuntu 11.10 uniquement : | ||
- | # - Retirer usblp blacklist dans: /etc/modpobe.d/blacklist-cups-usblp.conf | ||
- | # - Ajouter usblp dans: /etc/modules | ||
- | description "stop puis start ccpd démon car la commande: ccpd restart n'est pas fiable" | ||
- | |||
- | start on (started module-init-tools and started cups) | ||
- | stop on runlevel [016] | ||
- | |||
- | script | ||
- | if [ -e /dev/usb/lp* ]; then | ||
- | /etc/init.d/ccpd stop | ||
- | sleep 3 | ||
- | /etc/init.d/ccpd start | ||
- | fi | ||
- | end script | ||
- | </file> | ||
- | Si vous n'avez pas souhaité modifier le fichier ///etc/modules//, alors créez le fichier **/etc/init/ccpd-restart.conf** comme indiqué précédemment. | ||
- | </note> | ||
- | Avec la règle [[:UDEV]] et le job [[:Upstart]] ainsi créés, il ne sera plus nécessaire de s'occuper du démon ccpd, quel que soit le moment où l'imprimante est allumée/éteinte. \\ L'imprimante devrait désormais être disponible à chaque fois que vous en avez besoin, sans intervention. \\ \\ | ||
- | <note tip>L'utilisation d'[[:Upstart]] est conforme au processus d'évolution d'Ubuntu puisqu'à terme il remplacera [[:script_sysv|système V]] pour gérer la séquence de démarrage. \\ Si toutefois vous préférez utiliser un [[:script_sysv|script système V]] à la place du job [[:Upstart]] proposé, il vous faudra [[:tutoriel:comment_modifier_un_fichier|créer avec les droits d'administration]] un fichier **/etc/init.d/ccpd-restart** pour y insérer ceci: | ||
- | <file> | ||
- | #!/bin/sh | ||
- | ### BEGIN INIT INFO | ||
- | # Provides: Restart ccpd | ||
- | # Required-Start: $local_fs $remote_fs $syslog | ||
- | # Required-Stop: $remote_fs $syslog | ||
- | # Default-Start: 2 3 4 5 | ||
- | # Default-Stop: 0 1 6 | ||
- | # Description: Restart Canon Printer Daemon for CUPS | ||
- | ### END INIT INFO | ||
- | |||
- | if [ -e /dev/usb/lp* ]; then | ||
- | /etc/init.d/ccpd stop | ||
- | sleep 3 | ||
- | /etc/init.d/ccpd start | ||
- | fi | ||
- | exit 0 | ||
- | </file> puis donner des droits d'exécution à ce fichier:<code>sudo chmod a+x /etc/init.d/ccpd-restart </code> et enregistrer ce script dans les différents runlevel: | ||
- | <code>sudo update-rc.d ccpd-restart defaults 90</code> | ||
- | \\ | ||
- | |||
- | __**Nota:**__\\ | ||
- | Si vous utilisez la version Ubuntu [[:10.04]] ou antérieure, vous devez utiliser ce [[:script_sysv|script système V]].\\ | ||
- | Sur ces versions, [[:Upstart]] ne gère pas encore le démarrage de [[:CUPS]]. | ||
- | </note> | ||
===== Vérification de l'installation ===== | ===== Vérification de l'installation ===== | ||
Ligne 245: | Ligne 203: | ||
Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'ordinateur. | Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'ordinateur. | ||
- | Dans un [[:terminal]] saisissez: | + | Dans un [[:terminal]] saisissez : |
- | <code>sudo ccpdadmin</code>la commande doit vous renvoyer: | + | <code>sudo ccpdadmin</code>la commande doit vous renvoyer : |
- | <code> | + | <file> |
Usage: | Usage: | ||
ccpdadmin [-p Printer-name -o Printer-dev-path] | ccpdadmin [-p Printer-name -o Printer-dev-path] | ||
Ligne 256: | Ligne 214: | ||
Entry Num :Spooler :Backend :FIFO path :Device Path :Status | Entry Num :Spooler :Backend :FIFO path :Device Path :Status | ||
------------------------------------------------------------------- | ------------------------------------------------------------------- | ||
- | [0] :LBP-XXX :ccp :/var/ccpd/fifo0 :/dev/usb/lp0 : | + | [0] :LBP-XXX : ccp : //localhost:59787 : /dev/usb/lp0 : |
- | </code>où //LBP-XXX// et ///dev/usb/lp0// sont à adapter selon la manière dont vous avez installé votre imprimante dans le démon ccpd.\\ | + | </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.\\ | S'il y a une erreur, elle apparaîtra en fin de ligne.\\ | ||
Ligne 266: | Ligne 225: | ||
==== Connaître le statut de l'imprimante ==== | ==== Connaître le statut de l'imprimante ==== | ||
- | La commande suivante permet de 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> | <code>captstatusui -P [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]].\\ | + | 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 une fenêtre avec un message **Ready to print**.\\ | + | 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 l'imprimante n'avait pas été allumée et/ou connectée avant le démarrage de l'ordinateur, la commande retournera le message "**capstatusui Socket Error**".\\ | + | Si toutefois la commande retourne le message "**capstatusui Socket Error**", vous pouvez essayer de [[#redémarrer le service d'impression]]. |
- | <note>Si cela arrive, 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. |
- | Si cela ne suffit pas, laissez l'imprimante allumée et connectée puis redémarrer l'ordinateur.</note> | + | |
==== Redémarrer le service d'impression ==== | ==== Redémarrer le service d'impression ==== | ||
- | + | Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd : | |
- | Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd | + | |
<code>sudo service cups restart | <code>sudo service cups restart | ||
sudo service ccpd restart</code> | sudo service ccpd restart</code> | ||
- | Selon votre version d'Ubuntu, il s'agira de remplacer **cups** par **cupsys**. | ||
==== Retirer une imprimante ==== | ==== 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.\\ | 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 : | Dans un [[:terminal]], on saisira : | ||
Ligne 292: | Ligne 247: | ||
donnera un résultat de ce type : | donnera un résultat de ce type : | ||
- | <code> | + | <file> |
Usage: | Usage: | ||
ccpdadmin [-p Printer-name -o Printer-dev-path] | ccpdadmin [-p Printer-name -o Printer-dev-path] | ||
Ligne 301: | Ligne 256: | ||
Entry Num :Spooler :Backend :FIFO path :Device Path :Status | Entry Num :Spooler :Backend :FIFO path :Device Path :Status | ||
------------------------------------------------------ | ------------------------------------------------------ | ||
- | </code> | + | </file> |
===== Sources ===== | ===== Sources ===== | ||
- | * Documentation fournie avec le driver d'installation | + | * Documentation Canon fournie avec le pilote d'installation |
* la page man de lpadmin | * la page man de lpadmin | ||
- | * (en) [[https://help.ubuntu.com/community/HardwareSupportComponentsPrinters/CanonPrinters/Canon_LBP_2900|Canon LBP 2900]] sur Ubuntu.com | ||
* (en)[[https://help.ubuntu.com/community/CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]] | * (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://v0xel.wordpress.com/2006/05/23/canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com |