Association Bordelaise des Utilisateurs de Logiciels libres

Accueil ›› Utilisation de logiciels libres ›› Matériel ›› Scanner EPSON Perfection 3490 et 3590 USB

Scanner EPSON Perfection 3490 et 3590 USB

Posté le dimanche 18 décembre 2005 par Martin Riondet

Le scanner 3490 n’est officiellement pas supporté par le sane-projet.org : http://www.sane-project.org/sane-mf...

Pour autant, il est possible de le faire fonctionner sous Linux en utilisant les pilotes fournis par Epson.

Bien que je ne l’ai pas essayé, il semblerait que le scanner Perfection 3590 ne soit qu’un clone du 3490 et que la configuration soit la même.

La dernière section de ce document concerne la gestion des droits sur les scanners USB et devrait pouvoir être adaptable à tous les scanners usb.

1. Pré requis

- noyau 2.6.12 ou supérieur avec udev
- libusb
- libsane
- xsane
- le module « scanner » ne doit PAS être installé (s’il s’avère que le fichier /etc/modprobe.d/libsane génère d’inutiles messages d’erreurs, commenter les deux lignes qu’il contient, ou carrément détruire le fichier).

libsane est nécessaire, car le pilote fourni par Epson s’appuie sur l’architecture de sane.

Ma configuration système est une Debian etch (testing) avec noyau 2.6.18.

2. Installation

- Pour l’installation c’est pas trop compliqué : Un câble USB2 à mettre sur votre ordinateur. Ça marche aussi en USB1 (il paraît) ou USB1.1 (c’est le cas chez moi),
- un câble d’alimentation électrique et c’est tout !

3. Configuration du système
Vu qu’Epson nous met les pilotes à disposition, on va aller les chercher sur le site d’Epson

Pour chaque scanner, il y a deux versions du driver, selon le compilateur utilisé. Dans mon cas, les deux versions ont marché de façon indifférente. Il semblerait que les utilisateurs Red Hat doivent utiliser la version compilée avec GCC 3.2

3.1. Installer le rpm
Il y a deux fichiers à installer :
- iscan
- les pilotes pour le modèle 3490

- Utilisateurs de systèmes basés sur des rpm (Mandriva, Red Hat, Fedora...), installez directement les paquetages (en tant que root) :

rpm -i iscan-2.4.0-0.c2.i386.rpm
rpm -i iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm

- Les utilisateurs de Debian et assimilables doivent convertir les .rpm en .deb par la commande alien (installer alien au besoin), puis installer le paquetage (en tant que root) :

alien -i iscan-2.4.0-0.c2.i386.rpm
alien -i iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm
dpkg -i iscan_2.4.0-1_i386.deb
dpkg -i iscan-plugin-gt-f520_1.0.0-2_i386.deb

3.2. Autoriser l’utilisation du scanner par sane
Indiquer ensuite que les scanneurs de marque « epkowa » sont autorisés en rajoutant epkowa dans le fichier suivant :

vi /etc/sane.d/dll.conf
epkowa

3.3. Vérifier que ça marche
Pour forcer un chargement du module fourni par Epson, débrancher et rebrancher le scanner.

En tant que root, taper :

root@mimosa : $ sane-find-scanner

dans le flot de blahblah de sortie de cette commande, vous allez voir :

found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:002

Signe que notre scanner a bien été reconnu.

Vérifier ensuite qu’il est désormais bien pris en charge par sane :

root@mimosa : $ scanimage -L
device ’epkowa:libusb:001:002’ is a Epson Perfection 3490/3590 flatbed scanner

Notre scanner est bien supporté désormais par sane (si cette étape échoue, inutile de continuer)

Vérifier qu’un utilisateur normal peut se connecter, en utilisant les mêmes commandes. Si il y a un pb, cf plus bas.

Enfin, les droits par défaut livrés avec les pilotes fournis par Epson ne permettent pas l’acquisition de données pour les utilisateurs normaux. Il faut changer ces droits et/ou le propriétaire. Le plus simple :

chmod 444 /usr/share/iscan/*

Dans tous les cas, afin d’améliorer la sécurité du système, il est préconisé d’effectuer les tâches de sécurisation décrites ci-après.

4. Gérer proprement les droits
Cette section s’applique à tous les scanners usb, quels que soient la marque et le modèle. Cela évite d’avoir à se torturer en ce qui concerne la gestion des droits d’accès.

Sous Debian, les utilisateurs du scanner sont ceux qui font partie du groupe « scanner ». Commencez donc par vérifier que vos utilisateurs habilités à l’utilisation du scanner font partie de ce groupe.

Si un utilisateur déjà loggé est ajouté à un groupe, il doit se délogguer et se relogguer pour que la modification prenne effet.

Il faut commencer par demander à lsusb quel est le modèle de notre scanner :

root@mimosa : $ lsusb
Bus 002 Device 001 : ID 0000:0000
Bus 001 Device 002 : ID 04b8:0122 Seiko Epson Corp.
Bus 001 Device 001 : ID 0000:0000

L’ID du vendeur est 04b8 (normal, c’est un Epson)
L’ID du scanner est 0122
Le scanner est sur le bus 001 et de device 002.
Le bus est donc : /proc/bus/usb/001
Le périphérique est le fichier 002 contenu dans ce répertoire.

Exemple :

martin@mimosa:~$ ls -lrt /proc/bus/usb/001/002
-rw-rw-rw-  1 root root 57 2005-12-17 19:55 002

On voit que les droits sont assez larges : rw- pour tous : tout le monde peut accéder au scanner.

Éditer le fichier suivant (en tant que root) :

vi /etc/sane.d/hotplug/libsane.db

Rajouter les lignes suivantes :
# Epson Corp.  Perfection 3490/3590
0x04b8  0x0122  root:scanner    0660
[d’une façon générale : 0x+IdVendeur Ox+IdScanner propriétaire:groupe droits ]
Ces lignes peuvent êtres rajoutées juste en dessous du scanner Perfection 2480, par exemple, c’est juste le product id suivant.

On reconnaît dans les deux premières positions l’ID du vendeur (précédé de 0x) et l’ID du scanner (précédé de 0x) On indique que le périphérique sera créé avec l’utilisateur root et le groupe scanner, avec des droits rw-rw---- (660)

Débrancher et rebrancher le scanner :

martin@mimosa:~$ ls -lrt /proc/bus/usb/001/
total 0
-rw-r--r--  1 root root    43 2005-12-17 19:43 001
-rw-rw----  1 root scanner 57 2005-12-17 20:04 003

On constate que, suite au débranchement du scanner, le numéro de périphérique a changé. Seuls l’utilisateur root et le groupe scanner ont désormais accès au périphérique.

Pour les personnes utilisant le driver iscan, fourni par Epson, les droits par défaut sont gérés dans le fichier :

vi /etc/hotplug/usb/iscan-device
Remplacer :
DEFAULT_OWNER=root
DEFAULT_GROUP=root
DEFAULT_PERMS=0666
par :
DEFAULT_OWNER=root
#DEFAULT_GROUP=root
#DEFAULT_PERMS=0666
DEFAULT_GROUP=scanner
DEFAULT_PERMS=0660
Ce sont les droits par défaut qui étaient responsables de la largesse des droits octroyés avant de déclarer le scanner dans libsane.db.

il y a un autre fichier de conf qu’il est possible de renseigner, et qui devrait intéresser justement ceux qui n’utilisent pas iscan :

vi /etc/udev/libsane.rules

rajouter les lignes suivantes :

# Epson Corp. Perfection 3490
SYSFSidVendor=="04b8", SYSFSidProduct=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
[d’une façon plus générale : SYSFSidVendor=="IdVendeur", SYSFSidProduct=="IdScanner, MODE="droits", GROUP="groupe", RUN+="/etc/hotplug.d/usb/libsane.hotplug"]

Noter l’absence du 0x devant les id dans ce fichier.

Le script /etc/hotplug.d/usb/libsane.hotplug se charge, entre autres, de gérer les bons droits sur le périphérique. Il est redondant avec /etc/hotplug/usb/iscan-device. Il faut éditer soit l’un, soit l’autre.

5. Logiciels d’accès au scanner
Le plus couramment utilisé est xsane, auquel on peut accéder directement comme une extension de Gimp.

Avec ses drivers, Epson fournit iscan, qui offre une interface simple mais efficace au scanner.

Il est possible de rendre iscan accessible depuis The Gimp :

ln -s /usr/bin/iscan /.gimp2.2/plug-ins

Documents joints

Doc complète en pdf
Doc complète en pdf (PDF - 314.8 ko)

Répondre à cet article

1 commentaire
  • Posté le 18 janvier 2006 à 20:02, par Pierre Jarillon (lien)

    Petit problème à l’installation : dans le répertoire /etc/sane.d il y avait un fichier epkowa.conf de taille nulle et epkowa.conf.rpmnew de 2732 octets.
    J’ai supprimé le fichier vide et renommé l’autre en epkowa.conf
    À partir de cet instant scanimage -L a reconnu le scanner.

    Répondre à ce message