Tuto : Installer une imprimante ou un scanner réseau sous Linux sans pilote propriétaire

l’Almanet doLys Gnu/Linux – Open Source – Entreprises › Forums › L’almanet doLys Open Source › Tuto : Installer une imprimante ou un scanner réseau sous Linux sans pilote propriétaire

2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Articles
  • #13012
    nam1962nam1962
    Keymaster

      Je vais vous proposer ici de quoi installer et configurer une imprimante ou un multifonction réseau sous Linux de manière simple et efficace, sans pilote propriétaire et… sans fil, sauf si vous voulez vraiment les fils 😉

      Le principe est de s’appuyer autant que possible sur les standards actuels : IPP Everywhere pour l’impression et AirScan/eSCL ou WSD pour le scanner.

      Quand l’imprimante sait faire tout ça, pas besoin d’aller chercher un gros pilote constructeur pour lui demander d’imprimer une feuille A4 !

      J’ai notamment utilisé cette méthode avec des imprimantes Brother et HP, sous Arch / EndeavourOS / Manjaro et Debian et dérivées.

      Attention : ce tuto concerne principalement les imprimantes connectées au réseau en Wi-Fi ou Ethernet. Le cas USB est un peu différent et j’en parle à la fin.

      Lisez tranquillement le tuto pour comprendre les différentes étapes.

      Me souvenant que j’ai parfois bien ramé, je détaille !

      1 – Avant de commencer : vérifier ce que sait faire l’imprimante

      Pour une imprimante récente, cherchez dans ses caractéristiques ou son manuel des mentions comme :

      • IPP Everywhere ;
      • AirPrint ;
      • Mopria ;
      • AirScan ou eSCL pour le scanner ;
      • WSD ou WS-Scan pour le scanner.

      Avec ces protocoles, Linux peut généralement interroger directement l’imprimante pour connaître ses possibilités : formats de papier, bacs, qualité, recto-verso et autres options.

      Sur ma Brother HL-L2445DW par exemple, CUPS récupère directement en IPP Everywhere le format A4, les différents types de papier, les niveaux de qualité et le recto-verso. Aucun pilote Brother d’impression n’est installé.

      Pour une imprimante plus ancienne qui ne sait pas parler IPP correctement, un pilote constructeur ou une autre solution peut encore être nécessaire. Le mieux est donc de vérifier avant d’installer quoi que ce soit.

      2 – Connecter l’imprimante au réseau

      Pour un usage quotidien, je préfère connecter l’imprimante au réseau normal de la maison ou du bureau : Wi-Fi de la box ou Ethernet.

      Si vous avez Ethernet à proximité, branchez le câble et vous aurez généralement fini cette partie avant même d’avoir eu le temps de râler.

      En Wi-Fi, les petites imprimantes avec trois boutons et un écran microscopique peuvent être moins rigolotes. Selon le modèle, vous pouvez utiliser son assistant réseau, son application de configuration ou éventuellement le WPS de votre box.

      Le mot de passe demandé est alors celui de votre réseau Wi-Fi habituel, exactement comme pour connecter un téléphone ou un ordinateur.

      Une fois l’imprimante connectée à votre réseau, Linux devrait pouvoir la découvrir automatiquement.

      Les mots de passe à ne pas mélanger

      On peut facilement finir par ne plus savoir quel mot de passe l’imprimante réclame.

      Vous pouvez notamment rencontrer :

      Le mot de passe du Wi-Fi de votre box
      Il sert à connecter l’imprimante à votre réseau habituel.

      Le mot de passe Wi-Fi Direct de l’imprimante
      Il sert uniquement lorsque vous vous connectez directement au réseau Wi-Fi créé par l’imprimante.

      Le mot de passe d’administration de l’imprimante
      Il protège son interface web. Selon les modèles, il peut être indiqué sur une étiquette, affiché par l’imprimante, défini lors de la première utilisation ou expliqué dans son manuel.

      3 – Installer CUPS et les outils utiles

      CUPS s’occupe de l’impression. Avahi permet notamment de découvrir les services annoncés sur le réseau avec mDNS/DNS-SD.

      Arch / EndeavourOS / Manjaro

      sudo pacman -S cups avahi sane sane-airscan simple-scan system-config-printer
      sudo systemctl enable --now cups.service avahi-daemon.service

      Debian et dérivées

      sudo apt update
      sudo apt install cups avahi-daemon avahi-utils sane-airscan sane-utils simple-scan system-config-printer
      sudo systemctl enable --now cups.service avahi-daemon.service

      Si vous utilisez Nala, vous pouvez évidemment utiliser :

      sudo nala update
      sudo nala install cups avahi-daemon avahi-utils sane-airscan sane-utils simple-scan system-config-printer

      J’explique plus en détail pourquoi j’utilise aussi Nala ici :

      De apt à Nala : quand l’ergonomie fait la différence

      4 – Voir si Linux trouve l’imprimante

      Avant de configurer quoi que ce soit, regardons simplement si elle est annoncée sur le réseau :

      lpinfo --include-schemes dnssd -v

      Vous pouvez obtenir quelque chose de ce genre :

      network dnssd://Brother%20HL-L2445DW._ipp._tcp.local/?uuid=...

      Le morceau intéressant est :

      _ipp._tcp.local

      L’imprimante annonce bien un service IPP sur le réseau.

      Pour regarder plus précisément les annonces IPP :

      avahi-browse -rt _ipp._tcp

      Vous pourrez notamment y retrouver le nom de l’imprimante et son adresse réseau.

      Si rien n’apparaît, commencez par vérifier que l’ordinateur et l’imprimante sont sur le même réseau et que les services sont bien actifs :

      systemctl status cups.service
      systemctl status avahi-daemon.service

      5 – Ajouter l’imprimante

      Le plus simple : essayer d’abord sans rien bricoler

      Ouvrez le dialogue d’impression de Firefox, LibreOffice ou d’un autre logiciel.

      Une imprimante IPP correctement annoncée sur le réseau peut déjà y apparaître directement.

      Vous pouvez également lancer :

      system-config-printer

      ou chercher « Imprimantes » dans votre menu.

      Si votre machine est compatible, choisissez la variante IPP Everywhere, driverless ou équivalente plutôt qu’un vieux pilote constructeur.

      L’interface web de CUPS reste également disponible ici :

      http://localhost:631

      Voir la file réellement créée

      lpstat -t
      lpstat -v

      Par exemple, ma Brother fonctionne avec :

      ipp://adresse-de-l-imprimante:631/ipp/print

      et CUPS l’identifie bien comme :

      IPP Everywhere

      Pas de pilote Brother d’impression dans le circuit.

      Définir une imprimante par défaut

      Commencez par voir son nom :

      lpstat -p

      Puis :

      lpoptions -d Nom_de_l_imprimante

      Tester

      echo "Test d'impression" | lp

      Ou, pour envoyer un fichier à une imprimante précise :

      lp -d Nom_de_l_imprimante fichier.pdf

      6 – Recto-verso et autres possibilités de l’imprimante

      Pour voir ce que la file CUPS propose réellement :

      lpoptions -p Nom_de_l_imprimante -l

      Sur une imprimante qui sait faire du recto-verso, vous trouverez une option correspondante, par exemple :

      Duplex/Duplex: None DuplexNoTumble DuplexTumble

      Pour imprimer comme un livre, sur le bord long :

      lp -d Nom_de_l_imprimante -o sides=two-sided-long-edge fichier.pdf

      Pour retourner sur le bord court :

      lp -d Nom_de_l_imprimante -o sides=two-sided-short-edge fichier.pdf

      Pour en faire le réglage par défaut de votre utilisateur :

      lpoptions -p Nom_de_l_imprimante -o sides=two-sided-long-edge

      lpoptions -l est aussi très pratique pour voir les formats de papier, bacs, qualités d’impression et autres options réellement remontées par l’imprimante.

      7 – Scanner sans pilote propriétaire avec AirScan / eSCL

      Si vous avez un multifonction ou un scanner réseau compatible AirScan/eSCL ou WSD, sane-airscan permet de le faire fonctionner sans installer le pilote du constructeur.

      Sur le même réseau local, la découverte est normalement automatique.

      Commencez par :

      airscan-discover

      Puis :

      scanimage -L

      Un scanner AirScan correctement découvert apparaîtra dans la liste.

      Pour scanner tranquillement avec une interface graphique :

      simple-scan

      Si plusieurs scanners sont disponibles, choisissez celui qui correspond à votre appareil.

      Il n’est normalement pas nécessaire d’ajouter manuellement airscan dans /etc/sane.d/dll.conf. Le paquet sane-airscan installe le backend prévu pour cela.

      Si le scanner n’apparaît pas alors que l’impression fonctionne, vérifiez son interface web : certains modèles permettent d’activer ou désactiver AirScan/eSCL ou WSD séparément.

      8 – L’interface web de l’imprimante, EWS

      Beaucoup d’imprimantes possèdent leur propre petit serveur web, souvent appelé EWS pour Embedded Web Server.

      Dans votre navigateur, entrez simplement l’adresse IP de l’imprimante :

      http://adresse-ip-de-l-imprimante

      ou, si elle utilise HTTPS :

      https://adresse-ip-de-l-imprimante

      Selon le modèle, on peut y retrouver les niveaux de toner ou d’encre, les informations réseau, les réglages IPP, AirPrint/AirScan, Wi-Fi Direct, les journaux et pas mal d’autres choses.

      Le mot de passe d’administration dépend du constructeur et du modèle. Regardez l’étiquette, l’écran ou le manuel de votre imprimante plutôt que d’essayer des vieux mots de passe trouvés au hasard sur Internet.

      9 – Wi-Fi Direct : imprimer sans passer par la box

      Le Wi-Fi Direct est pratique si vous n’avez pas de réseau local disponible ou si vous voulez relier directement un ordinateur à l’imprimante.

      L’imprimante crée alors son propre réseau Wi-Fi, souvent avec un nom du genre :

      DIRECT-xx-Marque-Modèle

      Pour voir les réseaux de ce type depuis NetworkManager :

      nmcli -f IN-USE,SSID,SIGNAL,SECURITY device wifi list | grep -i DIRECT

      Puis, avec le SSID et le mot de passe fournis par votre imprimante :

      nmcli device wifi connect "DIRECT-xx-Marque-Modèle" password "mot_de_passe"

      Une fois connecté, recommencez simplement la découverte :

      lpinfo --include-schemes dnssd -v

      Et pour un multifonction :

      airscan-discover
      scanimage -L

      Le principe reste le même : IPP pour imprimer, AirScan/eSCL ou WSD pour scanner.

      Ne recopiez pas une adresse IP trouvée dans un tuto. L’adresse utilisée sur le réseau Wi-Fi Direct dépend du constructeur et de la configuration de l’imprimante.

      Pour regarder ce que la connexion a réellement reçu :

      ip -4 route

      L’EWS reste généralement accessible depuis le réseau Wi-Fi Direct si l’imprimante l’expose.

      Sur un portable avec une seule interface Wi-Fi, se connecter directement à l’imprimante peut couper momentanément la connexion au Wi-Fi de votre box. Pour la maison ou le bureau, je préfère donc laisser l’imprimante sur le réseau local et garder le Wi-Fi Direct pour les cas où il est réellement utile.

      Petit point sécurité sur le Wi-Fi Direct

      Le Wi-Fi Direct transforme votre imprimante en petit point d’accès Wi-Fi visible autour de vous.

      S’il ne vous sert jamais, autant le désactiver.

      Si vous l’utilisez, gardez sa protection activée et changez le mot de passe par défaut lorsque l’imprimante le permet.

      Voir le réseau DIRECT-... d’une imprimante voisine ne donne pas magiquement le droit d’imprimer dessus : encore faut-il pouvoir s’y connecter. Mais un mot de passe laissé par défaut, trop simple ou affiché à tout le monde transforme vite le gag de la feuille surprise dans l’imprimante du voisin en démonstration pratique 😉

      10 – Et les imprimantes ou scanners USB ?

      Une imprimante ou un scanner USB classique peut utiliser un backend différent et fonctionner parfaitement ainsi.

      Par exemple, mon scanner Brother ADS-1200 branché en USB est vu directement par SANE avec son backend Brother. Il fait son travail, il le fait bien, je ne vais pas l’embêter pour le plaisir.

      Certains périphériques USB récents parlent en réalité les mêmes protocoles IPP et eSCL que les appareils réseau. Dans ce cas, ipp-usb peut exposer ces services à Linux.

      Inutile cependant d’installer ipp-usb pour une imprimante déjà connectée en Ethernet ou en Wi-Fi.

      11 – Si ça ne marche pas

      Avant d’installer quinze pilotes et de sacrifier un poulet, regardez ce que la machine voit réellement.

      systemctl status cups.service
      systemctl status avahi-daemon.service
      
      lpstat -t
      lpstat -v
      
      lpinfo --include-schemes dnssd -v
      
      avahi-browse -rt _ipp._tcp
      
      airscan-discover
      scanimage -L

      Ces quelques commandes permettent déjà de savoir si le problème vient de CUPS, de la découverte réseau, de l’impression IPP ou du scanner.

      Vérifiez aussi que l’ordinateur et l’imprimante se trouvent bien sur le même réseau et qu’une option du routeur, un réseau invité ou un pare-feu n’empêche pas les appareils de communiquer entre eux.

      Et avant d’installer HPLIP, un pilote Brother ou le paquet récupéré sur le site du constructeur, vérifiez si votre imprimante apparaît déjà en IPP Everywhere. Il est inutile d’ajouter une couche propriétaire à une installation qui fonctionne très bien sans elle.

      N’hésitez surtout pas à signaler les problèmes que vous auriez rencontrés avec ce tuto, il est toujours améliorable !

      Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc

      #13018
      jlfh0816jlfh0816
      Moderator

        Merci nam 1962, voilà un tuto parfait que je vais m’empresser de diffuser autour de moi !!!

        Xubuntu-Voyager 18.04.4 LTS

      2 sujets de 1 à 2 (sur un total de 2)
      • Vous devez être connecté pour répondre à ce sujet.