Scanner USB
Installation d'un scanner USB
Cette page est en grande partie inspirée de celle de Miguel qui m'a aidé a configurer SANE : http://www.rootsistemas.net/agujeroweb/scnrusb.html (en espagnol)
Les scanner USB commencent a être supportés par Linux. Un driver existe au sein des noyaux de développement de la série 2.3.x. Plus généralement de nombreux drivers pour divers périphériques USB ont été ajoutés à ce noyau. Il est toutefois possible d'utiliser la majorité de ces drivers grâce à l'adaptation des sources de l'USB du 2.4 vers le 2.2. Il est aussi possible d'utiliser directement un noyau de développement (j'utilise le 2.3.99-pre5 sans trop de pb sur plateforme i386), mais ces noyaux étant en développement, cela peut présenter des risques d'instabilité.
Dans un premier temps je vais expliquer comment compiler un noyau avec les nouveaux drivers USB. Puis on parlera de la configuration de SANE pour qu'il supporte le SnapScan.
Remarque : Pour les scanners SCSI, voir la [scanner.php3 rubrique correspondante].
Compilation du noyau 2.2.15 avec les drivers USB du 2.3.x
Note : à partir du noyau 2.2.19 et 2.4 (i.e. toute distribution récente), cette étape n'est plus nécessaire. Vous pouvez passer directement à la suite.
- Récupérer les sources du noyau 2.2.14 ou 2.2.15 (si vous n'êtes pas en France utilisez un mirroir) : linux-2.2.15.tar.gz et mettre le fichier dans /usr/src/ (il faut être root pour faire çà)
- Décompresser le tout dans le répertoire /usr/src : # cd /usr/src
# rm -f linux
# tar xvzf linux-2.2.15.tar.gz
# ln -s linux-2.2.15 linux
# chown -R root linux
# chgrp -R root linux - Récupérer les sources de l'adaptation des drivers USB là : usb-2.3.99-pre6-for-2.2.14.diff.gz (fonctionne pour les noyaux 2.2.14 et 2.2.15)
- Les installer : # cd linux
# gzip -dc ../usb-2.3.99-pre6-for-2.2.14.diff.gz | patch -p1 - Configurer son noyau : # make menuconfig (ou xconfig si vous êtes sous X)Dans la section USB support, il est important de cocher (soit 'y' qui incluera le driver dans le noyau, soit 'm' qui le mettra en module) les options suivantes :
Support for USB (attention si vous utilisez un clavier et une souris USB, il vaut mieux inclure tout ça dans le noyau et non en module)
USB verbose debug messages
Preliminary USB device filesystems
selon le type de carte mère : UHCI, UHCI Alternate ou OHCI (le plus souvent pour des PCs, vous aurez un chipset UHCI, OHCI est utilisé notamment pour les Compaq et les Macintoshes)
USB Scanner support
n'oubliez pas de cocher les autres options dont vous aurez besoin (voir la [../kernel/kernel.php3 rubrique noyau]). - Compiler le noyau et l'installer : # make dep bzImage modules modules_instal
# cp arch/i386/boot/bzImage /boot/bzusb
# cp System.map /boot/sysmapusb - Configurer lilo pour lui faire prendre en compte le nouveau noyau :
ajouter la section suivante :
image=/boot/bzusb
       label=linuxusb
       root=/dev/xxxx -- mettre le même device que pour les autres sections qui chargent linux
       append=""
       read-only
taper /sbin/lilo pour faire prendre en compte le changement
- Redémarrer et taper linuxusb sous lilo afin de charger le nouveau noyau.
Configuration du device usbscanner
Cette étape n'est pas nécessaire si vous utilisez devfs (par exemple sur une mandrake 8.2 ou 9.0).
Créez le noeud de périphérique correspondant au scanner USB par :
# chmod a+rw /dev/usbscanner
# chmod 666 /dev/usbscanner
# ln -s /dev/usbscanner /dev/scanner
Chargement des drivers
valable uniquement si vous les avez compilés en modules
Ajouter cette ligne au fichier /etc/conf.modules : "options scanner vendo=0x06bd product=0x2061 (ou 0x0001 selon votre scanner, cette valeur pouvant être déterminée après avoir chargé les modules usbcore et usb-(u/o)hci, en regardant dans le log (commande dmesg) où vous devez trouver quelque chose comme çà : "Manufacturer: AGFA Product: SNAPSCAN 1212U .... Vendor:Product = 06bd:0001 )"
# modprobe usb-xxxx (où xxx est uhci ou ohci selon votre carte mère)
# modprobe scanner
Etape optionnelle : mais utile au diagnostic
Il vaut mieux que /proc/bus/usb contiennent les informations sur vos périphériques usb. Pour cela, il faut sur une distribution ancienne (sur les récentes, cela est fait automatiquement au démarrage) :
# mount -t usbdevfs /proc/bus/usb /proc/bus/usb
Ou pour le monter automatiquement : ajouter "none /proc/bus/usb usbdevfs defaults 0 0" au fichier /etc/fstab.
Ainsi, vous pourrez vérifier la présence des drivers et les périhpériques détéctés en faisant :
# cat /proc/bus/usb/drivers
Configuration et installation de SANE (et de XSANE)
Récupérer les sources de SANE et de XSANE là : SANE, XSANE
Récupérer le patch pour le SnapScan USB là : sane-1.0.1-usb.diff (évidemment ne récupérez ce fichier que si vous utilisez une snapscan)
Décompresser SANE, le patcher et le compiler :
# patch -p0 < sane-1.0.1-usb.diff
# cd sane-1.0.1
# ./configure
# make
# make install
Décompresser XSANE, et le compiler :
# cd xsane-0.58
# ./configure
# make
# make install
SANE et XSANE sont maintenant installés dans /usr/local
Configuration de SANE :
Editer les fichiers suivants dans /usr/local/etc/sane.d afin qu'ils ressemblent à çà :
- dll.conf :snapscan
- snapscan.conf :usb AGFA
/dev/scanner
/dev/usbscanner
Remarque :
D'autres infos sur SANE dans la [scanner.php3#sane_install rubrique scanner SCSI].
Chargement du firmware du scanner
Ceci n'est applicable qu'au SnapScan USB, mais une étape similaire doit sans doute être nécessaire aux autres scanner USB : si vous le savez, mailez nous, merci.
Récupérer les fichiers suivants : agfafirm (ou ici) et SnapScan-1212U_2.bin (ou ici)
Charger le firmware dans le scanner :
# ./agfafirm /dev/usbscanner SnapScan-1212U_2.bin
Ca y est vous pouvez scanner!
Lancer xscanimage :
Pour utiliser xscanimage en module de gimp :
# ln -s /usr/local/bin/xscanimage xscanimage
xscanimage sera lors accessible dans le menu Xtns>Acquire Image .
Liens utiles
- Le site de l'USB pour linux : http://www.linux-usb.org
- Le FAQ de l'USB sur Linux : http://linuxusbguide.sourceforge.net/USB-guide-1.0.6/book1.html
- Le site du créateur du driver pour les scanners usb : http://www.jump.net/~dnelson
- Le site du créateur du backend pour SANE : http://hem.fyristorg.com/henrikj/snapscan/
- Le site de Miguel qui m'a aidé à configurer SANE : http://www.rootsistemas.net/agujeroweb/scnrusb.html
- Le scanner Epson 610U : http://www.linuxgraphic.org/configurer/articles/epson610u/
Copyright
Copyright © 29/04/2000, Eric Bénard
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |