XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. Articles

Scanner ScanSnap S510 sous Ubuntu Gutsy

The 2008-03-29 at 15:20 by Loïc d'Anterroches filed under Articles.

Un petit explicatif de l’installation du scanner ScanSnap S510 sous Ubuntu Gutsy. Vous pouvez utiliser la même approche pour tout scanner supporté par Sane mais non installé par défaut.

L'installation est simple, si on sait ce qu'il faut faire

Si votre scanner est supporté par Sane mais qu’il ne fonctionne pas avec votre installation Linux, voici une approche qui a fonctionné parfaitement avec un Fujitsu ScanSnap S510.

Grosso modo, voici la démarche :

  1. Trouver les identifiants constructeur de votre scanner.
  2. Configurer Sane pour reconnaître ces identifiants.
  3. Configurer votre installation pour vous donner les droits d’accès au scanner quand vous le branchez.
  4. Tester le tout.

Trouver les identifiants de votre scanner

Tout d’abord, branchez votre scanner et assurez-vous qu’il est bien allumé. Vous pouvez voir si la connexion est bonne en regardant la fin des messages systèmes:

$ dmesg | tail
[79380.068000] usb 5-3: new high speed USB device using ehci_hcd and address 7
[79380.204000] usb 5-3: configuration #1 chosen from 1 choice

Le système a bien détecté du matériel sur le port USB. Tout va bien. Maintenant on peut récupérer les identifiants du scanner:

$ sudo lsusb
Bus 005 Device 007: ID 04c5:1155 Fujitsu, Ltd 
Bus 005 Device 001: ID 0000:0000  
Bus 006 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 005: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 001 Device 001: ID 0000:0000

Vous voyez donc les identifiants. La première partie 04c5 est l’identifiant du constructuer, ici Fujitsu et la deuxième est l’identifiant du modèle 1155.

Configurer Sane pour reconnaître ces identifiants

Maintenant c’est tout simple, il faut ajouter les informations au fichier de configuration de Sane.

$ ls /etc/sane.d/
abaton.conf
agfafocus.conf
...
fujitsu.conf
genesys.conf
...

Il y a déjà un fichier de configuration pour le constructeur Fujitsu, donc on va ajouter les informations à ce fichier là.

$ sudo pico /etc/sane.d/fujitsu.conf

Et ajoutez les lignes suivantes à la fin du fichier:

#scansnap S510
usb 0x04c5 0x1155

Vous pouvez voir l’identifiant constructeur et celui du modèle. Maintenant, Sane va bien pouvoir gérer votre scanner, si il a les droits pour y accéder. Voici donc la suite.

Gérer les droits d’accès au scanner

Ce que vous voulez, c’est que vous puissiez utiliser le scanner quand vous le branchez, pour cela vous devez avoir les droits d’accès en lecture écriture sur le bus usb sur lequel est connecté votre scanner. La gestion de ces droits est faite par le udev.

$ ls /etc/udev/rules.d/
00-init.rules
05-options.rules
20-names.rules
30-cdrom_id.rules
40-permissions.rules
45-fuse.rules
45-hplip.rules
45-libgphoto2.rules
45-libsane.rules
50-xserver-xorg-input-wacom.rules
55-hpmud.rules
60-libpisock.rules

Vous pouvez voir que Sane dispose de ses règles. Dans ce fichier, il existe une ligne pour chaque modèle de scanner. On va regarder la liste des scanners Fujitsu.

$ cat /etc/udev/rules.d/45-libsane.rules | grep -B 1 04c5
...
# Fujitsu fi-5530C
SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e2", MODE="664", GROUP="scanner"
# Fujitsu fi-5900C
SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10e7", MODE="664", GROUP="scanner"
# Fujitsu fi-5110EOXM
SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10f2", MODE="664", GROUP="scanner" 
# Fujitsu S500
SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="10fe", MODE="664", GROUP="scanner"

Grosso modo, comme on veut ajouter le scanner Fujitsu S510, on va ajouter les deux lignes suivantes, juste après les lignes correspondant au S500.

# Fujitsu S510
SYSFS{idVendor}=="04c5", SYSFS{idProduct}=="1155", MODE="664", GROUP="scanner"

Pour cela, un petit coup de pico:

$ sudo pico /etc/udev/rules.d/45-libsane.rules

Vous pouvez maintenant débrancher votre scanner et le rebrancher.

Tester votre scanner

$ scanadf --device fujitsu --source "ADF Duplex" --mode Color -v --resolution 150 --y-resolution 150

Créer un pdf avec multiple pages

J’ai un petit script en python pour faire ce travail :

#!/usr/bin/env python

import os
import sys
import time
from path import path

def execute(command):
    os.system(command)
cwd = path('./')
for img in cwd.files('image-*'):
    img.unlink()

execute("scanadf --source "ADF Duplex" --mode Color -v --resolution 150 --y-resolution 150 --pageheight 296 -y 296 > /dev/null")
for img in cwd.files('image-*'):
    execute("convert -quality 75 %s %s.jpeg" % (img, img))
    img.unlink()
execute("convert -depth 150 -adjoin -page A4 *.jpeg %s" % sys.argv1)
for img in cwd.files('image-*'):
    img.unlink()

Le module path utilisé est disponible ici. L’utilisation est très simple :

$ mscan2pdf.py monfichier.pdf

Amusez-vous bien !


Comments from readers

Google said:

Bonjour,

Merci pour cette procédure. Avez vous utilisé la numérisation en série avec le chargeur ? Si oui, comment est-ce géré avec Sane ?

Merci d'avance pour votre témoignage et joyeux Noël.

Jean

Loïc said:

Je viens de mettre à jour l'article avec mon script pour faire le scan de multiple pages et la création d'un fichier pdf.

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS