J'ai téléchargé le pilote Linux CAPT V2.60 de Canon et installé les deux packages .deb, qui étaient répertoriés dans le dossier 64 bits avec Ubuntu Software-Center. Mon imprimante Canon ne sera toujours pas reconnue. Y a-t-il autre chose que je dois faire? Mon imprimante est connectée via USB.
Ubuntu ferait un excellent remplacement pour mon bureau, mais malheureusement sans support d'imprimante, je vais toujours compter sur Windows.
Réponses:
Le pilote d'imprimante Canon CAPT est une source fermée et les bibliothèques binaires fournies par Canon sont compilées pour i386. Donc, si vous êtes sur amd64, vous devrez d'abord activer le multiarchitecture et installer certaines bibliothèques:
Installez des gobelets si vous ne les avez pas déjà:
Téléchargez et décompressez le pilote d'imprimante Canon CAPT:
Installez le pilote 32 bits ou 64 bits en fonction de votre architecture:
32 bits
64 bits
Maintenant , regardez dans
/usr/share/cups/model
les fichiers ppd qui décrivent les imprimantes et choisissez celui qui correspond à (ou est le plus proche de) votre imprimante:Dans ce cas, nous avons choisi celui
CNCUPSLBP6018CAPTS.ppd
qui correspond au modèle LBP6000.Ajouter une imprimante:
Et configurez votre système pour démarrer automatiquement le démon Canon ccpd:
Problèmes
Il y a plusieurs problèmes avec le pilote d'imprimante Canon:
Il a été construit pour Debian et la dernière version d'Ubuntu prise en charge était 12.04. Cela fonctionne cependant en 14.04.
Il comprend des bibliothèques binaires fermées conçues pour i386 32 bits, donc ne peut pas être exécutée en mode natif sur amd64 (même dans le package 64 bits)
captstatusui inclut un appel illimité à
strcpy
cnsktmodule.c qui échoue avec une erreuraborted *** buffer overflow detected ***
sur certains systèmesLe pilote d'imprimante Canon est en fait un démon distinct qui communique avec les cups sur un socket local ou réseau - il laisse un port réseau ouvert sur votre système, et je doute que le code Canon ait jamais été audité pour les failles de sécurité
L'imprimante peut apparaître deux fois dans des tasses (une fois pour une imprimante USB détectée automatiquement, une fois en tant que démon Canon CCPD) mais l'imprimante "USB" ne fonctionnera pas si vous essayez d'imprimer dessus. Dans les paramètres de l'imprimante, si vous voyez votre imprimante configurée comme imprimante USB, vous devez la désactiver manuellement (clic droit, désactiver)
Canon utilise son propre logiciel et protocole propriétaire pour parler à l'imprimante, c'est pourquoi il n'est pas intégré aux gobelets, n'est pas détecté automatiquement et nécessite l'installation manuelle d'un pilote. Il est raisonnable de s'attendre à ce qu'une imprimante soit automatiquement détectée et fonctionne, mais ce n'est pas possible avec Canon LBP. Ma prochaine imprimante sera une imprimante qui "fonctionne tout simplement" avec des pilotes open source, probablement une imprimante réseau qui prend en charge la norme PCL - Printer Command Language , comme la Brother HL-2250DN (imprimante réseau duplex bon marché, auparavant l'imprimante laser la plus vendue d'Amazon). ou une imprimante recommandée par HP Linux qui fonctionne avec leur logiciel HPLIP open source .
Les scripts de construction du code source sont anciens et un peu désordonnés. En raison de l'inclusion de bibliothèques binaires i386 à source fermée et du manque de prise en charge de multiarchitecture dans les scripts de construction, il serait très difficile de compiler une version 64 bits pleinement opérationnelle. La compilation d'une version 32 bits, sur un système 32 bits, est possible une fois que vous avez contourné les différents bogues du système de génération.
Problème: ccpd se bloque
Parfois, ccpd se bloque et la file d'attente dit simplement "Traitement depuis ..."
Essayez un redémarrage manuel:
Problème: ccpd ne fonctionne pas - un seul processus ccpd s'exécute après le démarrage du système
Pour un fonctionnement normal, deux processus ccpd doivent être exécutés dans un système. Le démon ccpd dépend de l'exécution du démon cups avant de lancer le deuxième processus. Vous pouvez utiliser la méthode suivante pour contourner le problème:
Activez le script init cups (update-rc.d cups par défaut).
Demandez au script d'initialisation ccpd de s'exécuter après l'initialisation de cups (mises à jour ccpd par défaut de update-rc.d 99), ou ajoutez «sleep 10 && /etc/init.d/ccpd start» dans le script /etc/rc.local.
Si vous souhaitez utiliser des règles UDEV et un script de démarrage, sachez que les règles UDEV s’exécutent avant le script d’initialisation CUPS, il peut donc être utile de redémarrer le script d’initialisation ccpd plutôt que de simplement démarrer. Par exemple, vous pouvez placer la chaîne suivante dans "/etc/rc.local":
sleep 10 && /etc/init.d/ccpd restart
(Solution du wiki Ubuntu )
Signaler des bogues et des problèmes au support Canon
Canon a une adresse e-mail officielle pour signaler tout bogue et problème avec le pilote:
Construire à partir de la source
Si vous êtes tenté d'essayer de construire et d'installer à partir des sources, suivez ces instructions (le script de construction Arch peut également vous aider):
J'inclus ceci juste comme une note pour toute personne encline à suivre cette voie. La plupart des gens ne devraient pas essayer de construire cela à partir de la source. Même sur un système amd64, le package résultant inclura les bibliothèques fermées i386.
la source
hp-setup
) qui fera le téléchargement et le configurera.libstdc++6:i386 libxml2:i386 zlib1g:i386
était nécessaire? Les instructions ont mentionnéia32-libs
, qui a depuis été absent dans les versions ultérieures d'Ubuntu, donc je me suis demandé quel était le remplacement.file canon/libcapt.so
il identifiera les bibliothèques Canon comme "ELF 32 bits", nous savons donc qu'il a besoin de bibliothèques dynamiques 32 bits. Exécutez ldd comme cecildd canon/libcapt.so
- l'éditeur de liens imprimera toutes les bibliothèques dynamiques requises et affichera celles qui ne sont pas trouvées. Vous pouvez ensuite utiliserapt-file search libpthread.so
pour trouver le package dans lequel se trouvent les bibliothèques.