Logo Gnome

Partager un scanner sur votre réseau local via Sane

udev


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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.