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

(!) ?Discussion


Configuration et administration d'un scanner connecté à un port USB. Pour un scanner réseau, veuillez vous référer à SaneOverNetwork.

Introduction

La numérisation d'un document à partir d'un scanner autonome ou d'un document dans un appareil multifonction implique généralement l'utilisation de SANE (Scanner Access Now Easy). Le projet fournit un ensemble de backends de scanner (pilotes) qui peuvent communiquer avec le scanner afin de le faire fonctionner. Les backends non fournis par SANE peuvent facilement être intégrés au sein du cadriciel de numérisation de SANE qu'ils soient libre (HP) ou non. Les scanners que SANE prend directement en charge avec les backends sont répertoriés ici.

La première étape pour réaliser un scan est d'installer libsane ou libsane1, qui contient la bibliothèque centrale pour faire fonctionner les scanners. LLe paquet fournit également une collection pour SANE de backends de scanner. Si le scanner est non pris en charge par SANE, le backend (et les autres fichiers) devra être obtenu à partir des archives 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 sections suivantes supposent que vous disposiez du backend (et d'autres fichiers) fournis par SANE ou le fabriquant. Votre scanner devrait directement avec un frontend sans se soucier des étapes suivantes, mais il peut être intéressant d'être informé de procédures de dépannage à suivre en cas de problème. Le manuel de SANE liste les backends disponibles. Chaque backend a sa propre page de manuel et un fichier de configuration dans /etc/sane.d.

Sur Debian 11 (« Bullseye »), un scanner moderne qui fournit le protocole IPP-over-USB sera automatiquement configuré pour utiliser le protocole, à condition que ipp-usb soit installé et que le service soit chargé, actif et en cours d'exécution. Les backends appropriés à utiliser pour la numérisation sont sane-escl et sane-airscan.

Découverte du scanner et du backend

Connectez le scanner à l'ordinateur et voyez ce que lsusb donne :

brian@desktop:~$ lsusb

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

Il y a une Epson Stylus Photo sur le bus USB 002 et sur le périphérique 005. C'est bien, mais cela ne nous dit pas si nous pouvons obtenir la numérisation de l'appareil.

Installez sane-utils et voyez si le scanner est détecté avec

sane-find-scanner

Avec un peu de chance, vous verrez votre scanner trouvé.

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 --list-devices and read the backend's manpage.

Un scanner a été correctement localisé sur le bus 002 en tant que périphérique 005. Si l'accès à ce périphérique avait é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, on sait qu'un scanner USB existe, exécutez

scanimage --list-devices

Le résultat obtenu ici est :

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

Le manuel de scanimage décrit ce que « --list-devices » est censé faire. Dans le contexte d'un périphérique USB local pour lequel un utilisateur ordinaire a l'autorisation d'accéder, la réponse positive indique que SANE dispose d'un backend pour prendre en charge le scanner.

Placez maintenant un document sur la plaque de verre du scanner et numérisez-le avec

scanimage > image.pnm

Le succès de la génération d'image.pnm est une bonne indication que la numérisation avec d'autres frontends est également susceptible de réussir. Le fichier doit être visible avec un visionneur d'images tel que imagemagick

Permissions

Il n'est pas nécessaire pour un utilisateur local d'être ajouté au groupe scanner. Les autorisations pour un tel utilisateur afin d'utiliser le périphérique de scanner sont automatiquement prises en charge par le noyau et celles sur le bus USB sont accordées à un utilisateur par udev, étant donné que

  • libpam-systemd est installé
  • Il y a, si nécessaire, un fichier du fabricant approprié *.rules dans /etc/udev/rules.d ou /lib/udev/rules.d.

Un utilisateur souhaitant accéder et utiliser un scanner USB doit être autorisé à accéder et à utiliser un périphérique sur le bus USB. Sous le système d'initialisation par défaut de Debian, systemd, et avec libpam-systemd installé, les autorisations correctes sont définies par /lib/udev/rules.d/70-uaccess.rules pour faciliter la détection du scanner par les backends SANE lorsque le scanner est branché.

Pour le bus USB (sur Debian 11) :

brian@desktop:~$ ls -l /dev/bus/usb/*/*
crw-rw-r--  1 root root 189,   0 Jun 21 16:34 /dev/bus/usb/001/001
crw-rw-r--  1 root root 189, 128 Jun 21 16:34 /dev/bus/usb/002/001
crw-rw-r--  1 root root 189, 256 Jun 21 16:34 /dev/bus/usb/003/001
crw-rw-r--  1 root root 189, 260 Aug  2 13:39 /dev/bus/usb/003/005
crw-rw-r--  1 root root 189, 384 Jun 21 16:34 /dev/bus/usb/004/001
crw-rw-r--  1 root root 189, 512 Jun 21 16:34 /dev/bus/usb/005/001
crw-rw-r--  1 root root 189, 577 Aug  2 09:18 /dev/bus/usb/005/066
crw-rw-r--+ 1 root lp   189, 578 Aug  2 13:39 /dev/bus/usb/005/067

Observez le + après les permissions Unix pour /dev/bus/usb/005/067. Il indique un ACL (liste de contrôle d'accès), qui spécifie quels utilisateurs ont accès à /dev/bus/usb/005/067. Pour voir une ACL, faites

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

L'utilisateur brian a l'accès en lecture/écriture (rw) au fichier de périphérique.

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.

Avant Buster, ajouter un utilisateur dans le groupe scanner était suffisant pour autoriser la numérisation pour cet utilisateur. En raison du bogue 918358, ce n'est plus le cas. Cependant, ajouter une ligne à un fichier dans /etc/udev/rules.d/, comme mentionné dans le rapport de bogue, suffit à résoudre ce problème. La règle udev ajoutée est appliquée lorsqu'un périphérique est ajouté, alors déconnectez-le et reconnectez-le pour recharger les règles udev.

Fichiers de configuration pour libsane

libsane-common installe les fichiers de configuration dll.conf, dll.d, net.conf et saned.conf dans /etc/sane.d. Seuls « dll.conf » et « dll.d » sont importants pour un scanner connecté par USB, mais les quatre fichiers jouent un rôle lorsqu'il s'agit de partager et d'accéder à un scanner sur le réseau.

Le contenu de « dll.conf » est une liste de backends qui peuvent être chargés dynamiquement à la demande. Dé-commenter des backends non utilisés peut entrainer une légère diminution du temps d'analyse. Il est également possible d'ajouter un fichier dans /etc/sane.d/dll.d contenant une liste de backends à ajouter. Ceci est souvent fait par un logiciel 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 répertorié dans le fichier « hplip » de « /etc/saned/dll.d » lorsque libsane-hpaio est installé. La prise en charge de la détection des périphériques est fournie par « /lib/udev/rules.d/56-hpmud.rules », qui se trouve dans le paquet libsane-hpaio. Sachez que tous les appareils multifonctions ne prennent pas en charge la numérisation à partir d'un ordinateur par USB ou le réseau.

La manière la plus simple d'employer « hpaio » et « 56-hpmud.rules » est d'installer hplip et ses dépendances recommandées et créer une queue d'impression avec hp-setup. Cela conduit à une configuration automatique du scanner car son URI de périphérique est dérivée de l'URI d'imprimante USB en remplaçant « hp:/...» par « hpaio:/... ». Avoir hplip sur le système facilite également l'installation d'un greffon non libre avec hp-plugin si le scanner en a besoin.

Il est intéressant de noter que tout ce qui est vraiment nécessaire pour scanner avec un appareil multifonction est le paquet libsane-hpaio, installé sans ses paquets recommandés, et, si nécessaire, d'installer un greffon non-libre.

Backends non libres de scanners

Pour les scanners snapscan, copiez le fichier snape20.bin du CD-ROM d'installation du scanner dans /lib/firmware/ et ajoutez firmware/lib/firmware/snape20.bin dans le fichier de configuration /etc/sane.d/snapscan.conf.

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. Sachez que la localisation de la règle udev dans /lib/udev/rules.d/60-libsane.rules entrainera sa disparition si le paquet libsane est mis à jour. Pensez à utiliser /etc/udev/rules.d/59-scanner.rules à la place.

Les paquets Debian (versions i386 et amd64) offrant des fonctions de numérisation pour une imprimante multifonction peuvent être proposés via un paquet ScanGear MP. Il est probablement préférable d'effectuer une recherche sur le Web pour le modèle particulier pour trouver quelque chose qui convient. scangearmp2 est un outil d'analyse autonome qui ne fournit aucune intégration avec SANE. Ce qui est proposé par Canon n'est pas accessible aux frontends SANE comme xsane et simple-scan car dll.conf ou dll.d ne sont pas intégrés dans ses paquets et aucun backend n'est prévu pour être chargé dynamiquement à la demande de SANE.

Les utilisateurs pour lesquels les backends SANE « epson » et « epson2 » ne fonctionnent pas peuvent avoir recours au programme du constructeur Epson : « iscan-bundle » et le nouveau « imagescan-bundle ». Le choix du logiciel dépend du modèle d'imprimante multifonction. Les deux sont des fichiers .tar.gz (tarballs) et peuvent initialement être traités avec

tar zvxf <file>

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 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 de numérisation 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 leurs informations et celles de cette page.


CategoryHardware CategoryScanner CategoryPrinter