Partager un scanner sur votre réseau local via Sane
Vous avez un scanner connecté à votre NAS ou à un de vos ordinateurs, mais vous n’avez pas envie de devoir le débrancher continuellement pour faire un scan depuis un autre PC. Cet article a pour objectif de présenter une solution de partage d’un scanner sur un réseau local. Pour faire de même chez vous, suivez le guide.
Installation des paquets, sane pour la partie serveur de numérisation, xinetd pour l’accès depuis le réseau et hplip pour les imprimantes multi-fonctions HP.
# apt-get install sane xinetd hplip
Nous allons autoriser le démon à démarrer dans le fichier /etc/default/saned.conf
:
RUN=yes
Puis afin qu’il réponde aux requêtes du réseau nous allons créer la règle Xinetd
suivante :
# vi /etc/xinetd.d/saned service sane-port { socket_type = stream server = /usr/sbin/saned protocol = tcp user = saned group = saned wait = no disable = no }
Nous spécifions maintenant les adresse IP ayant l’autorisation de se servir du scanner dans le fichier /etc/sane.d/saned.conf
en ajoutant à la fin :
192.168.1.0/24
A présent nous allons configurer le scanner à utiliser, on fait une recherche des scanners connectés au serveur :
$ sane-find-scanner -q found USB scanner (vendor=0x03f0, product=0x6c11) at libusb:001:006
Puis nous vérifions qu’il est bien reconnu via la commande suivante :
# scanimage -L device `hpaio:/usb/Photosmart_C4400_series?serial=TH899H22ZF05BN' is a Hewlett-Packard Photosmart_C4400_series all-in-one
Si vous n’arrivez pas à utiliser votre scanner et, que dans syslog, vous voyez des lignes tels que celles-ci :
Sep 9 18:10:51 nasri scanimage: io/hpmud/musb.c 137: unable get_string_descriptor -1: Operation not permitted Sep 9 18:10:51 nasri scanimage: io/hpmud/musb.c 2034: invalid product id string ret=-1
Vous devez ajouter les droits d’accès à votre scanner, pour le faire de manière automatique nous allons utiliser les règles udev
. J’ai donc créé le fichier /etc/udev/rules.d/99-hp_scanner.rules
avec le contenu ci-dessous. Le nom de fichier commence par 99 afin qu’il soit le dernier à être exécuté.
SUBSYSTEM=="usb", ATTR{serial}=="TH899H22ZF05BN", MODE="0666"
Pour récuperer le serial de votre scanner, utilisez la commande suivante :
# udevadm info -a --name=/dev/bus/usb/001/006 | grep ATTR{serial}
Où le 001 et 006 correspondent au numéro de device usb récupéré via la commande suivante :
$ sane-find-scanner -q found USB scanner (vendor=0x03f0, product=0x6c11) at libusb:001:006
Notre scanner est maintenant accessible depuis le réseau, il nous faut donc configurer nos client.
Pour les clients Linux, nous allons installer xsane
, puis spécifier l’adresse du serveur à utiliser.
# apt-get install xsane # echo 192.168.1.249 >> /etc/sane.d/net.conf
Pour les clients Windows, nous pouvons utiliser le client sanetwain
qui permet de numériser de manière simple.