Page 1 sur 1

Ajout d'une imprimante réseau Canon MG5450

Posté : lun. 23 mars 2020 18:06
par Mauvaise Mint
Bonjour,

J'ai une imprimante Canon PIXMA MG5450 en fonctionnement et connectée en Wifi. Ça fonctionne bien depuis un ordinateur sous Windows mais je n'arrive pas à l'ajouter sur ma distro Linux Mint 19.3 Cinnamon. J'ai tenté plusieurs méthodes :

Méthode 1, en utilisant l'assistant de gestion d'imprimantes (dans l'interface standard que je n'ai pas personnalisé du tout, bouton Mint en bas à gauche, puis Administration, puis Imprimantes), j'appuie sur le bouton "Ajouter" puis "Imprimante réseau". Là, je vois mon imprimante apparaitre avec le nom "Canon MG5400 (XXX.XXX.XXX.XXX)" avec à la place des X l'adresse IP locale de l'imprimante. Il faut encore choisir une des deux sortes de connexions proposées : "Imprimante réseau IPP via DNS-SD" ou bien "Driverless IPP (ipp/printer)". Si je prends par exemple le premier et je fais "Suivant", j'ai pendant quelques secondes une boite qui me dit "Recherche de pilotes" puis un menu qui me permet de donner un nom à mon imprimante, une description (optionnelle) et un emplacement (optionnel). Je clique sur "Appliquer" et j'obtiens une boite qui s'intitule "Erreur du serveur CUPS" et qui "Une erreur s'est produite lors de l'opération CUPS : « server-error-internal-error ». Si je choisis la connexion "Driverless IPP (ipp/printer)", on me demande l'URI de l'imprimante mais un truc est entré par défaut et, quoi qu'il en soit, ça donne exactement le même résultat.

Méthode 2, utiliser les drivers fournis par Canon sur son site. Canon ne donne pas d'instruction sur comment installer ses pilotes, mais il y a un README dans l'archive, dont je copie le contenu ici :

Code : Tout sélectionner

How to build rpm:
=================
    * When you build one printer driver package.
    --------------------------------------------
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --define="MODEL [Printer Model Name]" --define="MODEL_NUM [Printer Model ID]" --with build_common_package	


    * When you build plural printer driver packages.
    ------------------------------------------------
	step 1)
    $ rpmbuild -tc cnijfilter-source-X.XX-Y.tar.gz --with prepare_fastbuild
	step 2)
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --with fastbuild --define="MODEL [Printer Model Name]" --define="MODEL_NUM [Printer Model ID]" --with build_common_package	
	step 3) and after step 3)
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --with fastbuild --define="MODEL [Printer Model Name]" --define="MODEL_NUM [Printer Model ID]"

    You can set the following [Printer Model Name]/[Printer Model ID].
        [Printer Model Name]        [Printer Model ID]
    ------------------------------------------------------------------
         mp230                       401
         mg2200                      402
         e510                        403
         mg3200                      404
         mg4200                      405
         ip7200                      406
         mg5400                      407
         mg6300                      408


Example:
========
    * Example for build MP230 package:
	----------------------------------
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --define="MODEL MP230" --define="MODEL_NUM 401" --with build_common_package	

    * Example for build MG2200/E510/MG3200 packages:
	-----------------------------------------------
    $ rpmbuild -tc cnijfilter-source-X.XX-Y.tar.gz --with prepare_fastbuild
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --with fastbuild --define="MODEL MG2200" --define="MODEL_NUM 402" --with build_common_package	
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --with fastbuild --define="MODEL E510" --define="MODEL_NUM 403"	
    $ rpmbuild -tb cnijfilter-source-X.XX-Y.tar.gz --with fastbuild --define="MODEL MG3200" --define="MODEL_NUM 404"
Je tente donc à tout hasard la commande :

Code : Tout sélectionner

sudo rpmbuild -tb cnijfilter-source-3.80-1.tar.gz --define="MODEL mg5400" --define="MODEL_NUM 407" --with build_common_package
qui correspond à la version du pilote et mon modèle d'imprimante. Mais je n'ai pas rpm installé. Je lance donc un petit :

Code : Tout sélectionner

sudo apt install rpm
puis je relance la commande. J'obtiens :

Code : Tout sélectionner

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Oa3xtI
+ umask 022
+ cd /home/XXXXXX/rpmbuild/BUILD
+ echo /home/XXXXXX/rpmbuild/BUILDROOT/cnijfilter-mg5400series-3.80-1.x86_64
/home/XXXXXX/rpmbuild/BUILDROOT/cnijfilter-mg5400series-3.80-1.x86_64
+ cd /home/XXXXXX/rpmbuild/BUILD
+ rm -rf cnijfilter-source-3.80-1
+ /bin/gzip -dc /home/XXXXXX/Téléchargements/cnijfilter-source-3.80-1.tar.gz
+ /bin/tar -xof -
+ STATUS=0
+ [ 0 -ne 0 ]
+ cd cnijfilter-source-3.80-1
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.wBLoga
+ umask 022
+ cd /home/XXXXXX/rpmbuild/BUILD
+ cd cnijfilter-source-3.80-1
+ pushd ppd
/var/tmp/rpm-tmp.wBLoga: 29: /var/tmp/rpm-tmp.wBLoga: pushd: not found
error: Bad exit status from /var/tmp/rpm-tmp.wBLoga (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.wBLoga (%build)
Je cherche un peu sur les forums et je trouve qu'il y a script d'installation dans l'archive, dans le sous répertoire "scripts". En fait, ce répertoire contient deux sous-répertoires ("install_rpm" et "install_deb") ayant chacun un fichier "install.sh". Je tente dans les deux répertoire de faire :

Code : Tout sélectionner

sudo ./install.sh
et dans les deux cas, ça me donne :

Code : Tout sélectionner

==================================================

Canon Inkjet Printer Driver
Version 3.80
Copyright CANON INC. 2001-2012
All Rights Reserved.

==================================================
An error occurred. A necessary package could not be found in the proper location.
J'en suis là. Des idées ?

Re: Ajout d'une imprimante réseau Canon MG5450

Posté : lun. 23 mars 2020 21:10
par Tonher
Tente par un navigateur à l'adresse :

http://localhost:631/

Onglet HOME --> CUPS for Administrators --> Adding Printers and Classes
Ajouter une imprimante --> Imprimantes réseaux découvertes

Il devrait te la trouver ici

J'ai une MG 5350 et j'ai un peu honte car j'ai galéré aussi à l'installer et je pense que j'ai finalement fait comme ça :oops:

Sinon, il y a eu des .Deb Canon pour la séries des MG, il semble ne plus être disponibles car il y avait des conflits avec certaines librairies.

Pour utiliser le scanner ( avec simple scan par exemple), le pare feu bloque la connexion.
Il faut créer une règle, je vais devoir m'y replonger car celles que j'avais crées ne sont plus fonctionnelles :?

Re: Ajout d'une imprimante réseau Canon MG5450

Posté : mar. 24 mars 2020 11:50
par Mauvaise Mint
Bonjour,

cyrille, merci pour les liens. Comme j'ai vu qu'il y avait pas mal de trucs à lire sans que je sache bien par quoi commencer, j'ai opté pour tester la solution de Tonher en premier :P

Tonher, mille mercis, ça fonctionne ! C'est quand même bizarre que l'outil de gestion d'imprimantes dans le menu Mint ne soit pas capable de faire ce que l'outil Web de CUPS fait en 3 clicks.

Pour le scanner, pour l'instant je n'en ai pas besoin sur mon Linux Mint mais si je n'arrive pas à le faire fonctionner, je reviendrai faire un tour ici.

Problème résolu.

Re: Ajout d'une imprimante réseau Canon MG5450

Posté : mar. 24 mars 2020 13:40
par capdeframint
Le sujet a été souvent traité ici et pas que sur les forums Ubuntu. Premièrement, il ne faut pas prendre les packages en.RPM mais en.DEB pour une base Ubuntu ou Debian comme Linuxmint.
Les drivers pour Linux se trouvent sur le site de Canon et il n'y a aucun problème avec une Pixma MG des séries 5300,5400,5500,5600,etc.. Je possède une MG5350 et une MG5650 que j'ai installées à de très nombreuses reprises sur diverses distris que j'ai pu tester, en wifi à chaque fois, et ça a toujours fonctionné avec les pilotes de Canon et rarement avec ceux de Linux.
Pour le scanner, c'est un peu la loterie : parfois c'est OK avec Simple Scan mais c'est rare alors que c'est toujours nickel avec Scangearmp, l'outil de Canon. Attention à bien choisir celui spécifique à ton modèle d'imprimante et ensuite il suffit de se faire un lanceur sur le bureau qui pointe vers Scangearmp ou Scangearmp2 qui se trouve dans /usr/bin et c'est tout.