Translation(s): English - Français - Italiano

(!) ?Discussion


Configurer et administrer un scanner connecté à un port USB.

Introduction

Numériser un document à partir d'un scanner externe ou d'un appareil multifonction implique généralement d'utiliser SANE (Scanner Access Now Easy). Ce projet fournit une série de backends (pilotes) qui peuvent communiquer avec le scanner dans le but de le contrôler. Les backends non fournis par SANE peuvent facilement être intégrés au sein du cadriciel de numérisation de SANE qu'ils soient libres (HP) ou non. Les scanners pris directement en charge par les backends de SANE sont listés ici.

La première étape pour scanner est d'installer libsane, la bibliothèque centrale pour manipuler des scanners. Le paquet fournit également une collection pour SANE de backends de scanner. Si le scanner n'est pas pris en charge par SANE, le backend (et d'autres fichiers) peuvent être obtenus à partir des archives de Debian ou par les fabriquants. Une source notable de backends libres nécessitant cette étape est celle des appareils tout-en-un de HP.

Les deux prochaines sections supposent que vous ayez le backend (et autres fichiers) que fournissent SANE ou le fabriquant. Votre scanner devrait fonctionner directement avec un frontend sans avoir à réaliser les deux étapes suivantes, mais il peut être intéressant d'être informé de procédures de dépannage à suivre en cas de problème. Le manual de SANE liste les backends disponibles. Chaque backend a sa propre page de manuel et fichier de configuration dans etc/sane.d.

Découverte de scanner et de backend

Connectez le scanner à l'ordinateur et consultez la sortie de lsusb :

brian@desktop:~$ lsusb

Bus 002 Device 005: ID 04b8:080f Seiko Epson Corp. Stylus Photo RX420/RX425/RX430

Une Epson Stylus Photo se trouve sur le Bus USB 002 au Device 005. En revanche, cela ne nous informe en rien si nous pouvons scanner avec cet appareil.

Installez sane-utils et vérifiez si le scanner est detecté avec

sane-find-scanner

Avec un peu de chance, vous verrez voir reconnu votre scanner.

brian@test:~$ sane-find-scanner

  # 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 kernel SCSI driver for your SCSI adapter.

could not open USB device 0x0644/0x0200 at 004:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x045e/0x008c at 007:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 007:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 006:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 005:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 003:001: Access denied (insufficient permissions)
found USB scanner (vendor=0x04b8 [EPSON], product=0x080f [USB MFP]) at libusb:002:005
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3003 at 001:005: Access denied (insufficient permissions)
could not open USB device 0x04b3/0x3004 at 001:004: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 001:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

Un scanner a été correctement localisé sur le Bus 002 comme Device 005. Si l'accès à ce périphérique a également été refusé (tout comme l'accès aux autres périphériques USB), la permission sur le bus USB aurait dû être examinée.

Maintenant qu'on sait qu'existe un scanner USB, exécutez

scanimage -L

La sortie obtenue ici est :

device `epson:libusb:002:005' is a Epson RX420 flatbed scanner

Le manuel de scanimage décrit que fait -L. Dans le contexte d'un périphérique USB local, pour lequel un utilisateur simple dispose de la permission d'accès, la réponse positive indique que SANE dispose d'un backend pour prendre en charge le scanner.

Placez maintenant un document sur la surface en verre du scanner et scannez-le avec

scanimage > image.pnm

Un fichier image.pnm généré avec succès est une bonne indication qu'une numérisation avec d'autres frontends se feront certainement avec succès. Le fichier devrait être visualisable avec un visualisateur d'images tel que imagemagick.

Permissions

Il n'est pas nécessaire pour un utilisateur local d'être ajouté au groupe scanner. Les permissions du périphérique de scanner sont automatiquement gérée par le noyau et celles du bus USB sont données à l'utilisateur par udev, pourvu que

  • libpam-systemd est installé
  • qu'il y a un fichier approprié *.rules d'un fabriquant dans /etc/udev/rules.d ou /lib/udev/rules.d

Un utilisateur qui souhaite accéder et utiliser un scanner doit avoir la permission d'accéder à un fichier d'un périphérique scanner et d'utiliser un appareil connecté à un bus USB. Sous le système d'init par défaut, systemd, et avec libpam-systemd d'installé, les permissions correspondantes seront définies par /lib/udev/rules.d/60-libsane.rules pour les backends de SANE lorsque le scanner sera connecté.

Pour le fichier de périphérique de scanner :

brian@test:~$ ls -l /dev/sg*
crw-------  1 root root 21, 0 Aug  4 09:40 /dev/sg0
crw-rw----+ 1 root root 21, 1 Aug  4 09:40 /dev/sg1
crw-------  1 root root 21, 2 Aug  4 09:40 /dev/sg2
crw-------  1 root root 21, 3 Aug  4 09:40 /dev/sg3
crw-------  1 root root 21, 4 Aug  4 09:40 /dev/sg4
crw-------  1 root root 21, 5 Aug  4 09:40 /dev/sg5
crw-------  1 root root 21, 6 Aug  4 09:40 /dev/sg6
crw-------  1 root root 21, 7 Aug  4 14:46 /dev/sg7

Observez le + après les permissions UNIX pour /dev/sg1. Il indique un ACL (Access Control List) spécifiant quels utilisateurs ont accès à /dev/sg1. Pour visualiser un ACL, faites

brian@test:~$ getfacl /dev/sg1
getfacl: Removing leading '/' from absolute path names
# file: dev/sg1
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
mask::rw-
other::---

L'utilisateur brian a l'accès rw au fichier de périphérique. Des permissions similaires doivent être requises sur les bus USB.

Pour le bus USB :

brian@test:~$ ls -l /dev/bus/usb/*/*
crw-------  1 root root 189,   0 Aug  4 09:40 /dev/bus/usb/001/001
crw-------  1 root root 189,   3 Aug  4 13:40 /dev/bus/usb/001/004
crw-------  1 root root 189,   4 Aug  4 13:40 /dev/bus/usb/001/005
crw-------  1 root root 189, 128 Aug  4 09:40 /dev/bus/usb/002/001
crw-rw----+ 1 root root 189, 132 Aug  4 18:25 /dev/bus/usb/002/005
crw-------  1 root root 189, 256 Aug  4 09:40 /dev/bus/usb/003/001
crw-------  1 root root 189, 384 Aug  4 09:40 /dev/bus/usb/004/001
crw-------  1 root root 189, 385 Aug  4 09:40 /dev/bus/usb/004/002
crw-------  1 root root 189, 512 Aug  4 09:40 /dev/bus/usb/005/001
crw-------  1 root root 189, 640 Aug  4 09:40 /dev/bus/usb/006/001
crw-------  1 root root 189, 768 Aug  4 09:40 /dev/bus/usb/007/001
crw-------  1 root root 189, 769 Aug  4 09:40 /dev/bus/usb/007/002

brian@test:~$ getfacl /dev/bus/usb/002/005
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/002/005
# owner: root
# group: root
user::rw-
user:brian:rw-
group::---
group:scanner:rw-
mask::rw-
other::---

L'utilisateur brian pourrait également avoir accès au périphérique USB en étant dans le groupe scanner. Cela dit, il y a peu d'intérêt à faire cela, à moins que brian veuille se connecter à partir d'un site distant avec ssh, par exemple.

Fichiers de configuration pour libsane

libsane-common installe les fichiers de configuration dll.conf, dll.d, net.conf et sane.conf dans /etc/saned.d. Seuls dll.conf et dll.d sont importants pour un scanner connecté par USB mais les 4 fichiers jouent un rôle pour le partage et l'accès à un scanner par le réseau.

Le contenu de dll.conf est une list de backends qui peuvent être chargés dynamiquement à la demande. Commenter les backends non utilisés peuvent réduire significativement le temps de numérisation. Il est également possible d'ajouter un fichier dans /etc/sane.d/dll.d contenant une liste de backends à ajouter. Cela est souvent fait par les logiciels par les logiciels fournissant un backend ne provenant pas de SANE.

Appareils HP multifonctions (all-in-one)

Un backend pour ces appareils est développé et pris en charge par HP via HPLIP. Le backend est nommé hpaio et est listé dans le fichier hplip dans /etc/saned/dll.d lorsque libsane-hpaio est installé. La prise en charge de détection de l'appareil est fournie par /lib/udev/rules.d/56-hpmud.rules à partir du paquet hplip. Soyez conscient que tous les aios ne prennent pas en charge le scan à partir d'un ordinateur par USB ou le réseau.

Le moyen simple d'utiliser hpaio et 56-hpmud.rules est d'installer hplip et ses dépendances recommandées et de créer une queue d'impression avec hp-setup. Cette façon conduit à une configuration automatique du scanner car son URI de périphérique est dérivée de l'URI de l'imprimante USB en remplaçant 'hp:/... avec hpaio:/.... Avoir hplip sur le système rend plus simple l'installation d'un greffon non libre avec hp-plugin si le scanner en nécessite.

En fait, tout ce qui est vraiment nécessaire pour scanner avec un scanner aio est libsane-hpaio (sans ses paquets recommandés) et 56 -hpmud.rules. Copiez ce dernier fichier dans /lib/udev/rules.d/ à partir du paquet hplip.

Backends non libres de scanners

Les paquets Debian 32 bits et 64 bits pour les scanners sont généralement proposés lorsque cette page de recherche est utilisée. Vous pouvez également accéder aux instructions d'installation pour numériser avec une clé USB ou connexion réseau ; Une règle udev à utiliser avec une connexion USB est également suggérée. Il est conseillé de localiser la règle udev dans /lib/udev/rules.d/60-libsane.rules, ce qui entrainera sa disparition si le paquet libsane est mis à jour. Envisagez d'utiliser /etc/udev/rules.d/59-scanner.rules à la place.

Les paquets Debian (i386 et amd64) offrant des fonctions de scan pour une imprimante multifonction sont fournies par un paquet appelé ScanGear MP. Il est probablement préférable de rechercher sur le Web le modèle en question pour localiser l'élément approprié. Scangearmp2 est un outil de scan autonome n'ayant aucune intégration avec SANE. Il n'est pas accessible aux autres interfaces graphiques telles que xsane et simple-scan car dll.conf ou dll.d ne sont pas intégrés et il n'y a pas de backend founit pour être lancé dynamiquement sur demande par SANE.

Les utilisateurs pour qui les backends SANE epson et epson2 ne fonctionnent pas, peuvent avoir recours aux programmes du constructeur : iscan-bundle et le nouveau imagescan-bundle. Le choix du programme dépend du modèle de l'appareil multifonction. Les deux fichiers sont des .tar.gz (tarballs) et peuvent être manipulés ainsi :

tar zvxf <fichier>

Le répertoire dans lequel les fichiers décompressés sont placés contient un script d'installation. Allez dans ce répertoire et exécutez le script avec

sh install.sh

Recherchez des pilotes pour un périphérique à partir des sites Web HP ou Samsung. Vous devriez obtenir une version du pilote Linux unifié (ULD), qui supporte les plateformes i386 et amd64. L'ULD est aussi utilisé par quelques périphériques Xerox.

Décompressez le fichier téléchargé avec

tar zvxf uld_<version>.tar.gz

Allez dans le répertoire uld et exécutez install-scanner.sh :

cd uld
sh install-scanner.sh

Samsung ne fournit pas le ULD en tant que .deb mais le Samsung Unified Linux Driver Repository (SULDR) le fait. Il contient également de nombreuses informations sur l'installation de l'ULD et son interaction avec un système Debian. SULDR n'est pas affilié à Samsung.

libsane dans Debian recherche des backends SANE dans un des répertoires de multiarch, /usr/lib/x86_64-linux-gnu/sane ou /usr/lib/i386-linux-gnu/sane. À cela, il a été patché pour rechercher dans /usr/lib/sane afin d'adapter certains pilotes de scanners d'Epson, Samsung, et d'autres fabricants qui placent ici leurs backends SANE. Avoir des backends SANE à /usr/lib64/sane dans un paquet Debian est préféré par Brother. libsan de Debian ne recherche pas ici, mais certains paquets brscan le permettent en donnant la possibilité au système de trouver les backends via d'autres moyens, tels que créer des liens vers les répertoires multiarch dans postinst.

Si la capacité d'un logiciel tiers à lancer l'analyse est supposée être due à la mauvaise localisation des fichiers principaux, il est utile d'envisager de les copier dans un répertoire multiarch comme un moyen de résoudre le problème.

Frontends pour numériser

Un frontend est un programme qui s'interface avec un backend de SANE pour produire une numérisation dans un format désiré. SANE a été conçu pour interagir avec n'importe quel frontend compatible, qu'elle soit en ligne de commande ou avec une interface graphique.

Notes d'installation de divers scanners

Voir aussi

Utilisation de Sane en réseau

Enfin

N'oubliez-pas de lire la documentation de Debian et d'autres dans /usr/share/doc/libsane. Il n'existe pas de conflit entre celles-ci et celles sur cette page.


CategoryHardware CategoryScanner CategoryPrinter