Transformer une imprimante USB (Ricoh SP112) en imprimante réseau
Imprimante Ricoh SP112
Il s'agit d'une imprimante laser monochrome bénéficiant d'un tarif défiant toute concurrence : 20 € l'imprimante avec un toner à moitié rempli. Cette dernière permet l'impression au format A4 sur une définition maximale de 1200 dpi. Elle est compatible Windows, mais aussi (contrairement à ce que peut dire le site des Numériques) Linux. Le coût d'impression à la page n'est pas son fort (toner de 1200 pages à 50 €, soit 4,2 cents par page), mais pour les utilisations occasionnelles en bureautique, elle fait amplement l'affaire.
Elle ne dispose que d'une connexion via USB, ce qui la rend tout de suite moins pratique dans un foyer ou une petite entreprise. Ce problème est cependant facilement résoluble, en la connectant à un mini ordinateur Raspberry Pi (qui ne coûte que 35 € et peu servir de NAS par la même occasion).
Raspberry Pi
Les étapes qui suivent ont été réalisées sur un Raspberry Pi 3 Model B disposant d'une distribution Raspbian Buster (10) en version headless (sans écran, ni clavier/souris, via SSH donc).
Installation et configuration de Samba
Samba permet l'interopérabilité des systèmes Windows et UNIX et permet donc à CUPS de communiquer avec Windows. Si vous n'utilisez pas Windows, cette étape est facultative.
- Installer Samba :
sudo apt-get install samba samba-common-bin
- Configurer Samba :
- Modifier le fichier
/etc/samba/smb.conf
:- Sous la section
[printers]
, modifierguest ok = no
parguest ok = yes
- Sous la section
[print$]
, modifierbrowseable = yes
parbrowseable = no
- Sous la section
- Modifier le fichier
- Redémarrer Samba :
sudo systemctl restart smbd
Installation de CUPS (Common Unix Printing System)
CUPS est un serveur d'impression et d'impression en réseau pour les systèmes UNIX (Linux ou MacOS). De ce fait, il se prête bien à une utilisation sur les minis ordinateurs Raspberry Pi.
Pour l'installer :
sudo apt-get install cups
Configuration de CUPS
Afin de rendre CUPS joignable depuis un autre ordinateur du réseau, nous allons éditer le fichier /etc/cups/cupsd.conf
: sudo nano /etc/cups/cupsd.conf
Ajouter/modifier les lignes :
# 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>
- Autoriser l'utilisateur `pi` à gérer CUPS :
sudo usermod -a -G lpadmin pi
- Autoriser les connexions réseau :
sudo cupsctl --remote-any
- Redémarrer CUPS :
sudo service cups restart
Ajouter l'imprimante dans CUPS
- Depuis un navigateur, tester l'accès à
http://<ip_rpi>:631
- Modifier les permissions du fichier
pstoricohddst-gdi
:sudo chown root:root pstoricohddst-gdi
- Copier le fichier dans les filtres CUPS :
sudo cp pstoricohddst-gdi /usr/lib/cups/filter
- Connecter l'imprimante en USB, puis l'allumer.
- Ajouter une imprimante dans CUPS :
http://<ip_rpi>:631/admin
- S'identifier avec les identifiants de l'utilisateur 'pi' si besoin.
- Cliquer sur 'Trouver de nouvelles imprimantes' : cela devrait trouver l'imprimante "RICOH SP 112 DDST (RICOH SP 112 DDST)"
- Cliquer sur le bouton de l'imprimante "Ajouter cette imprimante".
- Cocher la case "Partager cette imprimante" et cliquer sur "Continuer".
- Cliquer sur "Choisir un fichier PPD", puis sélectionner le fichier "RICOH_Aficio_SP_112.ppd" (que vous pouvez trouver sur le dépôt suivant).
Ajouter l'imprimante réseau dans Windows 10
- Dans Windows, ajouter une imprimante et laisser Windows trouver l'imprimante "RICOH SP 112 DDST @ <hôte_pi>".
- Cliquer sur "Ajouter l'appareil".
- https://doc.ubuntu-fr.org/tutoriel/installer_imprimante_ricoh
- https://circuitdigest.com/microcontroller-projects/raspberry-pi-print-server
- https://linuxconfig.org/how-to-set-up-a-samba-server-on-debian-10-buster
- https://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/
- https://github.com/regseb/ricoh-sp100
OpenMediaVault 4
Si vous utilisez OpenMediaVault 4, c'est encore plus simple pour la partie Samba. Il faut depuis l'interface d'administration OpenMediaVault :
- créer un utilisateur (si besoin),
- activer le service "SMB/CIFS",
- installer le plugin openmediavault-cups,
- activer le service "Printing",
- se rendre dans CUPS (
http://<ip_rpi>:631/admin/
) - saisir les identifiants admin d'OpenMediaVault (openmediavault, par défaut),
- suivre les étapes 7 à 8 de la partie "Ajouter l'imprimante dans CUPS" de cet article,
- et voilà !
Portainer (section ajoutée en 2022)
Vous utilisez Portainer, vous pouvez ajouter une "Stack" avec le contenu suivant.
version: '3' services: cups: container_name: cups image: "ydkn/cups:latest" volumes: - /home/pi/cups:/etc/cups - /etc/localtime:/etc/localtime:ro ports: - "631:631" environment: ADMIN_PASSWORD: cupsSecretPassword! restart: unless-stopped privileged: true network_mode: host
- se rendre dans CUPS (
http://<ip_rpi>:631/admin/
) - saisir l'identifiant : admin / <motdepasseconfigurécidessus>
- Dans Administration, cliquer sur "Trouver de nouvelles imprimantes".
- Sélectionner l'imprimante à ajouter.
- Cocher la case "Partager cette imprimante" et cliquer sur "Continuer".
- Cliquer sur "Choisir un fichier PPD", puis sélectionner le fichier "RICOH_Aficio_SP_112.ppd" (cf. plus haut dans cette note).
- Cliquer sur "Ajouter une imprimante".
- L'imprimante est ajoutée.