« Epson Perfection 3490 Photo » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 35 : Ligne 35 :
*Utilisateurs de systèmes basés sur des rpm ( Mandraque, Red Hat, Fedora...)
*Utilisateurs de systèmes basés sur des rpm ( Mandraque, Red Hat, Fedora...)
Installer directement le paquetage ( en tant que root ) :
Installer directement le paquetage ( en tant que root ) :
 
<div class="code"><pre>
rpm -i iscan-1.17.0-1.c2.i386.rpm
rpm -i iscan-1.17.0-1.c2.i386.rpm
</pre></div>


*Les utilisateurs de debian et assimilables doivent convertir le .rpm en .deb par la commande alien ( installer alien au besoin ), puis installer le paquetage ( en tant que root ) :
*Les utilisateurs de debian et assimilables doivent convertir le .rpm en .deb par la commande alien ( installer alien au besoin ), puis installer le paquetage ( en tant que root ) :
 
<div class="code"><pre>
alien -i iscan-1.17.0-1.c2.i386.rpm<br>
alien -i iscan-1.17.0-1.c2.i386.rpm<br>
dpkg -i iscan_1.14.0-4_i386.deb
dpkg -i iscan_1.14.0-4_i386.deb
 
</pre></div>


Indiquer que les scanners de marque « epkowa » sont autorisés en rajoutant epkowa dans le fichier suivant :
Indiquer que les scanners de marque « epkowa » sont autorisés en rajoutant epkowa dans le fichier suivant :
 
<div class="code"><pre>
vi /etc/sane.d/dll.conf
vi /etc/sane.d/dll.conf<br>


epkowa
epkowa
 
</pre></div>


Pour forcer un chargement du module fourni par Epson, débrancher et rebrancher le scanner.
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


Pour vérifier l'efficacité de cette manoueuvre, en tant que root, taper :
<div class="code"><pre>
root@mimosa:~$ sane-find-scanner<br>
   # sane-find-scanner will now attempt to detect your scanner. If the
   # sane-find-scanner will now attempt to detect your scanner. If the
   # result is different from what you expected, first make sure your
   # result is different from what you expected, first make sure your
Ligne 64 : Ligne 65 :
   # Also you need support for SCSI Generic (sg) in your operating system.
   # Also you need support for SCSI Generic (sg) in your operating system.
   # If using Linux, try "modprobe sg".
   # If using Linux, try "modprobe sg".
 
found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:002<br>
found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:002
   # Your USB scanner was (probably) detected. It may or may not be supported by
   # Your USB scanner was (probably) detected. It may or may not be supported by
   # SANE. Try scanimage -L and read the backend's manpage.
   # SANE. Try scanimage -L and read the backend's manpage.
Ligne 77 : Ligne 77 :
   # found the scanner devices, be sure to adjust access permissions as
   # found the scanner devices, be sure to adjust access permissions as
   # necessary.
   # necessary.
 
</pre></div>
Notre scanner a bien été reconnu
Notre scanner a bien été reconnu


 
root@mimosa:~$ scanimage -L<br>
root@mimosa:~$ scanimage -L
device `epkowa:libusb:001:002' is a Epson Perfection 3490/3590 flatbed scanner
device `epkowa:libusb:001:002' is a Epson Perfection 3490/3590 flatbed scanner


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


root@mimosa:~$ lsusb
root@mimosa:~$ lsusb<br>
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000<br>
Bus 001 Device 002: ID 04b8:0122 Seiko Epson Corp.
Bus 001 Device 002: ID 04b8:0122 Seiko Epson Corp.<br>
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000<br>
 
 
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 :
L'ID du vendeur est 04b8 ( normal, c'est un epson )<br>
L'ID du scanner est 0122<br>
Le scanner est sur le bus 001 et de device 002.<br>
Le bus est donc : /proc/bus/usb/001<br>
Le périphérique est le fichier 002 contenu dans ce répertoire.<br>


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


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


Editer le fichier suivant ( en tant que root ) :
Editer le fichier suivant ( en tant que root ) :<br>
 
vi /etc/sane.d/hotplug/libsane.db<br>
vi /etc/sane.d/hotplug/libsane.db
 


Rajouter les lignes suivantes :
Rajouter les lignes suivantes :
 
<div class="code"><pre>
  # Epson Corp.|Perfection 3490/3590
  # Epson Corp.|Perfection 3490/3590
0x04b8  0x0122  root:scanner    0660
0x04b8  0x0122  root:scanner    0660
</pre></div>
Ces lignes peuvent êtres rajoutées juste en dessous du scanner Perfection 2480, par exemple, qui a le numéro de produit précédent (0121 ).


[ d'une façon générale :
D'une façon générale, la syntaxe est la suivante :<br>
0x+IdVendeur Ox+IdScanner propriétaire:groupe droits
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 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 )
Ligne 162 : Ligne 159 :


DEFAULT_OWNER=root
DEFAULT_OWNER=root
#DEFAULT_GROUP=root
#DEFAULT_GROUP=root
#DEFAULT_PERMS=0666
#DEFAULT_PERMS=0666
DEFAULT_GROUP=scanner
DEFAULT_GROUP=scanner
DEFAULT_PERMS=0660
DEFAULT_PERMS=0660
Ligne 175 : Ligne 172 :


rajouter les lignes suivantes :
rajouter les lignes suivantes :
# Epson Corp.|Perfection 3490
# Epson Corp.|Perfection 3490
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"


Ligne 196 : Ligne 193 :
== Exemples de fichiers de conf ( extraits ) ==
== Exemples de fichiers de conf ( extraits ) ==
/etc/sane.d/dll.conf
/etc/sane.d/dll.conf
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
#
#
# On Debian systems, the dll backend will also look for pieces of configuration
# On Debian systems, the dll backend will also look for pieces of configuration
# in the /etc/sane.d/dll.d directory -- packages providing backends should drop
# in the /etc/sane.d/dll.d directory -- packages providing backends should drop
# a config file similar to dll.conf in this directory.
# a config file similar to dll.conf in this directory.
#
#


# enable the next line if you want to allow access through the network:
# enable the next line if you want to allow access through the network:
net
net
abaton
abaton
Ligne 212 : Ligne 209 :
epkowa
epkowa
fujitsu
fujitsu
#gphoto2
#gphoto2
[...]
[...]
hp5400
hp5400
ibm
ibm
[...]
[...]


/etc/sane.d/hotplug/libsane.db
/etc/sane.d/hotplug/libsane.db
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
# This file is part of the SANE distribution
# This file is part of the SANE distribution
#
#
# USB Vendor/Product IDs for scanners supported by SANE
# USB Vendor/Product IDs for scanners supported by SANE
#
#
# 0xVVVV<tab>0xPPPP<tab>root:scanner<tab>0660<tab>[/usr/local/bin/foo.sh]
# 0xVVVV<tab>0xPPPP<tab>root:scanner<tab>0660<tab>[/usr/local/bin/foo.sh]
#
#
# The following list already contains a lot of scanners. If your scanner
# The following list already contains a lot of scanners. If your scanner
# isn't mentioned there, add it as explained above and mail the entry to
# isn't mentioned there, add it as explained above and mail the entry to
# the sane-devel mailing list.
# the sane-devel mailing list.
#
#
# Hewlett-Packard|ScanJet 4100C
# Hewlett-Packard|ScanJet 4100C
0x03f0  0x0101  root:scanner    0660
0x03f0  0x0101  root:scanner    0660
[...]
[...]
# Epson Corp.|Perfection 2480
# Epson Corp.|Perfection 2480
0x04b8  0x0121  root:scanner    0660
0x04b8  0x0121  root:scanner    0660
# Epson Corp.|Perfection 3490/3590
# Epson Corp.|Perfection 3490/3590
0x04b8  0x0122  root:scanner    0660
0x04b8  0x0122  root:scanner    0660
# Epson Corp.|GT-15000 (ES-7000)
# Epson Corp.|GT-15000 (ES-7000)
[...]
[...]


/etc/hotplug/usb/iscan-device
/etc/hotplug/usb/iscan-device
#!/bin/sh
#!/bin/sh
# iscan-device -- modifies device permissions for supported devices
# iscan-device -- modifies device permissions for supported devices
# Copyright (C) 2005  SEIKO EPSON Corporation
# Copyright (C) 2005  SEIKO EPSON Corporation


# This file is part of "Image Scan! for Linux".
# This file is part of "Image Scan! for Linux".
# You can redistribute it and/or modify it under the terms of the GNU
# You can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation;
# General Public License as published by the Free Software Foundation;
# either version 2 of the License or at your option any later version.
# either version 2 of the License or at your option any later version.
#
#
# This program is distributed in the hope that it will be useful, but
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY;  without even the implied warranty of FITNESS
# WITHOUT ANY WARRANTY;  without even the implied warranty of FITNESS
# FOR A PARTICULAR PURPOSE or MERCHANTABILITY.
# FOR A PARTICULAR PURPOSE or MERCHANTABILITY.
# See the GNU General Public License for more details.
# See the GNU General Public License for more details.
#
#
# You should have received a verbatim copy of the GNU General Public
# You should have received a verbatim copy of the GNU General Public
# License along with this program; if not, write to:
# License along with this program; if not, write to:
#
#
#      Free Software Foundation, Inc.
#      Free Software Foundation, Inc.
#      59 Temple Place, Suite 330
#      59 Temple Place, Suite 330
#      Boston, MA  02111-1307  USA
#      Boston, MA  02111-1307  USA


# This script changes the permissions and ownership of a USB device
# This script changes the permissions and ownership of a USB device
# under /proc/bus/usb to grant access to the device to users.  This
# under /proc/bus/usb to grant access to the device to users.  This
# will be done according to system policy wherever possible, but as
# will be done according to system policy wherever possible, but as
# a fallback access will be granted to _all_ users.
# a fallback access will be granted to _all_ users.


# Of course, fallback behaviour can be customised ;-)
# Of course, fallback behaviour can be customised ;-)
#
#
DEFAULT_OWNER=root
DEFAULT_OWNER=root
DEFAULT_GROUP=scanner
DEFAULT_GROUP=scanner
DEFAULT_PERMS=0660
DEFAULT_PERMS=0660


# Rely on the sane-backends script (or a vendor specific script) if
# Rely on the sane-backends script (or a vendor specific script) if
# available.  Distributors have probably modified it to suit system
# available.  Distributors have probably modified it to suit system
# policy.  Following is a list of scripts out there in the wild and
# policy.  Following is a list of scripts out there in the wild and
# some notes on where they have been observed.
# some notes on where they have been observed.
#
#
#  libusbscanner      sane-backends (>= 1.0.14)
#  libusbscanner      sane-backends (>= 1.0.14)
#  usbscanner          Mandrake 10
#  usbscanner          Mandrake 10
#  desktopdev          SUSE 9.1 Pro
#  desktopdev          SUSE 9.1 Pro
#
#
USB_SCRIPTS="libusbscanner
USB_SCRIPTS="libusbscanner
             usbscanner
             usbscanner
Ligne 294 : Ligne 289 :
done
done


# Activate fallback settings
# Activate fallback settings
#
#
if [ "$ACTION" == add -a "$TYPE" == "usb" ]; then
if [ "$ACTION" == add -a "$TYPE" == "usb" ]; then
     chown $DEFAULT_OWNER:$DEFAULT_GROUP "$DEVICE"
     chown $DEFAULT_OWNER:$DEFAULT_GROUP "$DEVICE"
Ligne 302 : Ligne 297 :


/etc/udev/libsane.rules
/etc/udev/libsane.rules
# This file is part of the SANE distribution
# This file is part of the SANE distribution
#
#
# udev rules file for supported scanners
# udev rules file for supported scanners
#
#
#
#
# For now, only USB scanners are listed/supported by this set of rules;
# For now, only USB scanners are listed/supported by this set of rules;
# feel free to add support for other busses.
# feel free to add support for other busses.
#
#
# To add an USB scanner, add a rule to the list below between the SUBSYSTEM...
# To add an USB scanner, add a rule to the list below between the SUBSYSTEM...
# and LABEL... lines.
# and LABEL... lines.
#
#
# To run a script when your scanner is plugged in, add RUN="/path/to/script"
# To run a script when your scanner is plugged in, add RUN="/path/to/script"
# to the appropriate rule.
# to the appropriate rule.
#
#


SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libsane_rules_end"
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libsane_rules_end"


# Hewlett-Packard|ScanJet 4100C
# Hewlett-Packard|ScanJet 4100C
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
# Hewlett-Packard|PhotoSmart S20
# Hewlett-Packard|PhotoSmart S20
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
# Hewlett-Packard|ScanJet 4200C
# Hewlett-Packard|ScanJet 4200C
[...]# Epson Corp.|Perfection 2480
[...]# Epson Corp.|Perfection 2480
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0121", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0121", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
# Epson Corp.|Perfection 3490
# Epson Corp.|Perfection 3490
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
# Epson Corp.|GT-15000 (ES-7000)
# Epson Corp.|GT-15000 (ES-7000)
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0126", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0126", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"
[...]
[...]


LABEL="libsane_rules_end"
LABEL="libsane_rules_end"

Version du 18 décembre 2005 à 16:57

[article en cours de réalisation, la mise en page reste à faire]

Le scanner 3490 n'est officiellement pas supporté par le sane-projet.org.

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.

Pré requis

  1. noyau 2.6.12 ou supérieur avec udev
  2. libusb
  3. libsane
  4. xsane
  5. le module « scanner » de doit PAS être installé

Par rapport au module scanner, tout en étant pas installé, il peut arriver qu'il existe un fichier /etc/modprobe.d/libsane qui génère des messages d'erreur au boot.
Commenter les deux ligne 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. La configuration sur laquelle ce scanner a été installé est une debian sarge ( stable ) avec noyau 2.6.12 en provenance de debian sid ( unstable )

Installation

Pour l’installation c’est pas trop compliqué :

  1. Un câble USB2 à mettre sur votre ordinateur. Ca marche aussi en USB1 ou USB1.1 .
  2. un câble d’alimentation électrique

Configuration du système

Vu qu'Epson nous met à disposition les pilotes, on va aller les chercher sur leur site internet.

Il y a deux drivers différents ( selon le compilateur utilisé pour le noyau ). Dans mon cas, le deux ont marché de façon indifférente. Il semblerait que les utilisateurs Red Hat doivent utiliser la version pour GCC 3.2

  • Utilisateurs de systèmes basés sur des rpm ( Mandraque, Red Hat, Fedora...)

Installer directement le paquetage ( en tant que root ) :

rpm -i iscan-1.17.0-1.c2.i386.rpm
  • Les utilisateurs de debian et assimilables doivent convertir le .rpm en .deb par la commande alien ( installer alien au besoin ), puis installer le paquetage ( en tant que root ) :
alien -i iscan-1.17.0-1.c2.i386.rpm<br>
dpkg -i iscan_1.14.0-4_i386.deb

Indiquer que les scanners de marque « epkowa » sont autorisés en rajoutant epkowa dans le fichier suivant :

vi /etc/sane.d/dll.conf<br>

epkowa

Pour forcer un chargement du module fourni par Epson, débrancher et rebrancher le scanner.

Pour vérifier l'efficacité de cette manoueuvre, en tant que root, taper :

root@mimosa:~$ sane-find-scanner<br>
  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a SCSI driver for your SCSI adapter.
  # Also you need support for SCSI Generic (sg) in your operating system.
  # If using Linux, try "modprobe sg".
found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:002<br>
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

Notre scanner a bien été reconnu

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.

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.

Gérer proprement les droits

Cette section s'applique à tous les scanners usb, quelle que soit 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 ». Commencer 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.

Editer 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

Ces lignes peuvent êtres rajoutées juste en dessous du scanner Perfection 2480, par exemple, qui a le numéro de produit précédent (0121 ).

D'une façon générale, la syntaxe est la suivante :
0x+IdVendeur Ox+IdScanner propriétaire:groupe droits


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 responsable 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

SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"

[ d'une façon plus générale : SYSFS{idVendor}=="IdVendeur", SYSFS{idProduct}=="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 autre, 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.

Logiciels d'accès au scanner

Le plus couremment utilisé est xsane, auquel on peut accéder directement comme une extension de Gip. Avec ses drivers, Epson fourni iscan, qui offre une interface simple mais efficace au scanner. Il est possible de rendre iscan accessible depuis gimp :


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

Exemples de fichiers de conf ( extraits )

/etc/sane.d/dll.conf

# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
#
# On Debian systems, the dll backend will also look for pieces of configuration
# in the /etc/sane.d/dll.d directory -- packages providing backends should drop
# a config file similar to dll.conf in this directory.
#
# enable the next line if you want to allow access through the network:

net abaton agfafocus [...] dmc epson epkowa fujitsu

#gphoto2

[...] hp5400 ibm [...]

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

# /etc/sane.d/dll.conf - Configuration file for the SANE dynamic backend loader
# This file is part of the SANE distribution
#
# USB Vendor/Product IDs for scanners supported by SANE
#
# 0xVVVV<tab>0xPPPP<tab>root:scanner<tab>0660<tab>[/usr/local/bin/foo.sh]
#
# The following list already contains a lot of scanners. If your scanner
# isn't mentioned there, add it as explained above and mail the entry to
# the sane-devel mailing list.
#
# Hewlett-Packard|ScanJet 4100C

0x03f0 0x0101 root:scanner 0660 [...]

# Epson Corp.|Perfection 2480

0x04b8 0x0121 root:scanner 0660

# Epson Corp.|Perfection 3490/3590

0x04b8 0x0122 root:scanner 0660

# Epson Corp.|GT-15000 (ES-7000)

[...]

/etc/hotplug/usb/iscan-device

#!/bin/sh
# iscan-device -- modifies device permissions for supported devices
# Copyright (C) 2005  SEIKO EPSON Corporation
# This file is part of "Image Scan! for Linux".
# You can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation;
# either version 2 of the License or at your option any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY;  without even the implied warranty of FITNESS
# FOR A PARTICULAR PURPOSE or MERCHANTABILITY.
# See the GNU General Public License for more details.
#
# You should have received a verbatim copy of the GNU General Public
# License along with this program; if not, write to:
#
#      Free Software Foundation, Inc.
#      59 Temple Place, Suite 330
#      Boston, MA  02111-1307  USA
# This script changes the permissions and ownership of a USB device
# under /proc/bus/usb to grant access to the device to users.  This
# will be done according to system policy wherever possible, but as
# a fallback access will be granted to _all_ users.
# Of course, fallback behaviour can be customised ;-)
#

DEFAULT_OWNER=root DEFAULT_GROUP=scanner DEFAULT_PERMS=0660

# Rely on the sane-backends script (or a vendor specific script) if
# available.  Distributors have probably modified it to suit system
# policy.  Following is a list of scripts out there in the wild and
# some notes on where they have been observed.
#
#   libusbscanner       sane-backends (>= 1.0.14)
#   usbscanner          Mandrake 10
#   desktopdev          SUSE 9.1 Pro
#

USB_SCRIPTS="libusbscanner

            usbscanner
            desktopdev
           "

for script in $USB_SCRIPTS; do

   if [ -x $HOTPLUG_DIR/$TYPE/$script ]; then
       exec $HOTPLUG_DIR/$TYPE/$script
   fi

done

# Activate fallback settings
#

if [ "$ACTION" == add -a "$TYPE" == "usb" ]; then

   chown $DEFAULT_OWNER:$DEFAULT_GROUP "$DEVICE"
   chmod $DEFAULT_PERMS "$DEVICE"

fi

/etc/udev/libsane.rules

# This file is part of the SANE distribution
#
# udev rules file for supported scanners
#
#
# For now, only USB scanners are listed/supported by this set of rules;
# feel free to add support for other busses.
#
# To add an USB scanner, add a rule to the list below between the SUBSYSTEM...
# and LABEL... lines.
#
# To run a script when your scanner is plugged in, add RUN="/path/to/script"
# to the appropriate rule.
#

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libsane_rules_end"

# Hewlett-Packard|ScanJet 4100C

SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0101", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"

# Hewlett-Packard|PhotoSmart S20

SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0102", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"

# Hewlett-Packard|ScanJet 4200C

[...]# Epson Corp.|Perfection 2480 SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0121", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"

# Epson Corp.|Perfection 3490

SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0122", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug"

# Epson Corp.|GT-15000 (ES-7000)

SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0126", MODE="660", GROUP="scanner", RUN+="/etc/hotplug.d/usb/libsane.hotplug" [...]

LABEL="libsane_rules_end"