Transformer simplement une imprimante USB en imprimante réseau

Installer et configurer une imprimante avec CUPS/Raspberry Pi

Pourquoi utiliser un serveur d'impression ?

Aujourd'hui, un foyer moyen possède de plus en plus de machines connectées capables d'imprimer, mais rarement autant imprimantes. Il peut être utile de partager une imprimante en la transformant en imprimante réseau :

  • Pour partager une imprimante entre plusieurs machines sans devoir passer la connexion de l'une à l'autre.

  • Parce que certaines imprimantes (USB) ne gèrent pas les files d'impressions et lorsqu'on imprime un document, il est imprimé immédiatement, peu importe si l'impression en cours n'est pas achevée.

  • Faciliter l'installation, la configuration et le partage du matériel.

  • Pour disposer d'une imprimante réseau (généralement chère) à partir d'une imprimante bon marché (ou recyler un vieux modèle).

Installation du serveur

Matériel

  • Une imprimante USB;

  • Une Raspberry Pi avec de quoi l'installer (carte SD) et la configurer au démarrage (clavier + écran, câble réseau).

Configuration de la Raspberry Pi

Installer une distibution Debian lite sur la Raspberry Pi à partir de l'image téléchargée sur le site officiel.

Activer le SSH pour accéder à distance depuis la configuration :

sudo raspi-config

Vous pouvez (devez) aussi changer le mot de passe de l'administrateur et éventuellement changer le nom de la machire pour lui donner un petit nom plus parlant.

À partir de là, vous pouvez redémarrer la Raspberry et retirer clavier et écran. Vous n'en avez plus besoin. Vous pouvez désormais vous connecter à distance.

ssh pi@{ip du serveur impression}

Configuration du serveur d'impression

Pour installer CUPS :

sudo apt-get install cups

Cette opération installe tous les paquets nécessaires au fonctionnement du serveur d'impression et crée un group lpadmin.

Éditer le fichier /etc/cups/cupsd.conf :

sudo nano /etc/cups/cupsd.conf

puis modifiez/ajoutez les lignes suivantes :

# Only listen for connections from the local machine.
#Listen localhost:631
#CHANGED TO LISTEN TO LOCAL LAN
Port 631
# Restrict access to the server...
<Location />
Order allow,deny
Allow @Local
</Location>

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @Local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @Local
</Location>

ce qui permettra de ne donner accès qu'aux machines du réseau local à la console web d'administration.

Mais il faut aussi ajouter :

sudo usermod -a -G lpadmin pi

afin de lui permettre de se connecter à l'interface web avec son compte utilisateur (unix) ou un autre utilisateur de votre choix.

Redémarrer le serveur d'impression pour prendre les modification en compte :

sudo service cups restart

Configuration des imprimantes

Rendez-vous à l'adresse http://{ip du serveur impression}:631 depuis votre navigateur Web.

De là, vous pouvez gérer vos imprimantes. Le serveur détectera automatiquement les imprimantes connectée en USB et proposera de les ajouter et configurer.

Imprimez une page de test pour voir si tout se passe bien.

Si la tâche est en erreur, vous pouvez visualiser le log dans Administration / visualiser Error Log.

Exemple : Erreur sur epson-escpr-wrapper

Dans le cas de l'erreur :

File "/usr/lib/cups/filter/epson-escpr-wrapper" not available: No such file or directory

Il s'agit d'un pilote manquant si vous utilisez une imprimante Epson.

Dans ce cas, il faut rechercher le pilote :

sudo apt-cache search escpr

qui donne le résultat :

printer-driver-escpr - printer driver for Epson Inkjet that use ESC/P-R

Grâce à cette information, nous pouvons installer le pilote manquant :

sudo apt-get install printer-driver-escpr

Puis recommencer le test d'impression.

Configuration des clients

Une fois que le serveur est installé, la configuration de l'imprimante est beaucoup plus simple. Plus besoin d'installer LSB + les pilotes propriétaires et les logiciels associés depuis les paquets téléchargés sur le site officiel. Il suffit d'ajouter une imprimante depuis la configuration et de chercher une imprimante réseau qui apparaîtra alors.

Numérisation des documents

En plus de gérer les impressions, CUPS peut gérer les numérisations. Les pilotes sane sont installés par défaut avec CUPS.

Si vous utilisez Xsane et que votre imprimante possède l'option de numérisation des documents, alors tout devrait fonctionner correctement.

Installer une imprimante virtuelle PDF

Il faut d'abord ajouter le pilote correspondant (qui n'est pas installé par défaut).

sudo apt-get install cups-pdf

Et depuis l'interface d'administration, ajouter une nouvelle imprimante. L'imprimante doit apparaître :

Imprimantes locales: CUPS-PDF (Virtual PDF Printer)

Marque: Raw

Modèle: Raw Queue (en)

Les documents imprimés apparaissent dans un répertoire PDF dans le home/pi.