« Scanner USB » : différence entre les versions
Aucun résumé des modifications |
(balises code) |
||
Ligne 17 : | Ligne 17 : | ||
<u>Note</u> : à 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. | <u>Note</u> : à 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 [http://www.kernel.org/mirrors/ mirroir]) : [ftp://ftp.lip6.fr/pub/linux/kernel/sources/v2.2/linux-2.2.15.tar.gz linux-2.2.15.tar.gz] et mettre le fichier dans < | * Récupérer les sources du noyau 2.2.14 ou 2.2.15 (si vous n'êtes pas en France utilisez un [http://www.kernel.org/mirrors/ mirroir]) : [ftp://ftp.lip6.fr/pub/linux/kernel/sources/v2.2/linux-2.2.15.tar.gz linux-2.2.15.tar.gz] et mettre le fichier dans <b>/usr/src/</b> (il faut être root pour faire çà) | ||
* Décompresser le tout dans le répertoire < | * Décompresser le tout dans le répertoire <b>/usr/src</b> : <div class="code"><nowiki># cd /usr/src </nowiki><br /><b><nowiki># rm -f linux</nowiki></b><br /><b><nowiki># tar xvzf linux-2.2.15.tar.gz</nowiki></b><br /><b><nowiki># ln -s linux-2.2.15 linux</nowiki></b><br /><b><nowiki># chown -R root linux</nowiki></b><br /><b><nowiki># chgrp -R root linux</nowiki></b></div> | ||
* Récupérer les sources de l'adaptation des drivers USB [http://www.suse.cz/development/usb-backport là] : [http://www.suse.cz/development/usb-backport/usb-2.3.99-pre6-for-2.2.14.diff.gz usb-2.3.99-pre6-for-2.2.14.diff.gz] (fonctionne pour les noyaux 2.2.14 et 2.2.15) | * Récupérer les sources de l'adaptation des drivers USB [http://www.suse.cz/development/usb-backport là] : [http://www.suse.cz/development/usb-backport/usb-2.3.99-pre6-for-2.2.14.diff.gz usb-2.3.99-pre6-for-2.2.14.diff.gz] (fonctionne pour les noyaux 2.2.14 et 2.2.15) | ||
* Les installer : <div class="code"><nowiki># cd linux </nowiki><br />< | * Les installer : <div class="code"><nowiki># cd linux </nowiki><br /><b><nowiki># gzip -dc ../usb-2.3.99-pre6-for-2.2.14.diff.gz | patch -p1</nowiki></b></div> | ||
* Configurer son noyau : <div class="code"><nowiki># make menuconfig (ou </nowiki>< | * Configurer son noyau : <div class="code"><nowiki># make menuconfig (ou </nowiki><b>xconfig</b> si vous êtes sous X)</div> 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 : <blockquote>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) <br />USB verbose debug messages <br />Preliminary USB device filesystems <br />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) <br />USB Scanner support <br />n'oubliez pas de cocher les autres options dont vous aurez besoin (voir la [../kernel/kernel.php3 rubrique noyau]).</blockquote> | ||
* Compiler le noyau et l'installer : <div class="code"><nowiki># make dep bzImage modules modules_instal </nowiki><br />< | * Compiler le noyau et l'installer : <div class="code"><nowiki># make dep bzImage modules modules_instal </nowiki><br /><b><nowiki># cp arch/i386/boot/bzImage /boot/bzusb</nowiki></b><br /><b><nowiki># cp System.map /boot/sysmapusb</nowiki></b></div> | ||
* Configurer lilo pour lui faire prendre en compte le nouveau noyau : <blockquote>ajouter la section suivante : <br />< | * Configurer lilo pour lui faire prendre en compte le nouveau noyau : <blockquote>ajouter la section suivante : <br /><b>image=/boot/bzusb</b><br /><b>Â Â Â Â Â Â Â label=linuxusb</b><br /><b>Â Â Â Â Â Â Â root=/dev/xxxx </b><font size="-2">-- mettre le même device que pour les autres sections qui chargent linux</font><br /><b>Â Â Â Â Â Â Â append=""</b><br /><b>Â Â Â Â Â Â Â read-only | ||
taper < | taper <b>/sbin/lilo</b> pour faire prendre en compte le changement | ||
</ | </b></blockquote> | ||
* Redémarrer et taper linuxusb sous lilo afin de charger le nouveau noyau. | * Redémarrer et taper linuxusb sous lilo afin de charger le nouveau noyau. | ||
== Configuration du device usbscanner == | == Configuration du device usbscanner == | ||
Cette étape n'est pas nécessaire si vous utilisez < | Cette étape n'est pas nécessaire si vous utilisez <b>devfs</b> (par exemple sur une mandrake 8.2 ou 9.0). | ||
Créez le noeud de périphérique correspondant au scanner USB par : | Créez le noeud de périphérique correspondant au scanner USB par : | ||
<div class="code"><nowiki># mknod /dev/usbscanner c 180 48 </nowiki><br />< | <div class="code"><nowiki># mknod /dev/usbscanner c 180 48 </nowiki><br /><b><nowiki># chmod a+rw /dev/usbscanner</nowiki></b><br /><b><nowiki># chmod 666 /dev/usbscanner</nowiki></b><br /><b><nowiki># ln -s /dev/usbscanner /dev/scanner</nowiki></b></div> | ||
== Chargement des drivers == | == Chargement des drivers == | ||
Ligne 40 : | Ligne 40 : | ||
'''''valable uniquement si vous les avez compilés en modules''''' | '''''valable uniquement si vous les avez compilés en modules''''' | ||
Ajouter cette ligne au fichier < | Ajouter cette ligne au fichier <b>/etc/conf.modules</b> : "<b>options scanner vendo=0x06bd product=0x2061</b> (ou <b>0x0001</b> selon votre scanner, cette valeur pouvant être déterminée après avoir chargé les modules <b>usbcore</b> et <b>usb-(u/o)hci</b>, en regardant dans le log (commande <b>dmesg</b>) où vous devez trouver quelque chose comme çà : "<b>Manufacturer: AGFA Product: SNAPSCAN 1212U .... Vendor:Product = 06bd:'''0001'''</b> )" | ||
<div class="code"><nowiki># modprobe usbcore </nowiki><br />< | <div class="code"><nowiki># modprobe usbcore </nowiki><br /><b><nowiki># modprobe usb-xxxx</nowiki></b> (où xxx est <b>uhci</b> ou <b>ohci</b> selon votre carte mère) <br /><b><nowiki># modprobe scanner</nowiki></b></div> | ||
== Etape optionnelle : mais utile au diagnostic == | == Etape optionnelle : mais utile au diagnostic == | ||
Ligne 48 : | Ligne 48 : | ||
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) : | 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) : | ||
< | <b><nowiki># mount -t usbdevfs /proc/bus/usb /proc/bus/usb</nowiki></b> | ||
Ou pour le monter automatiquement : ajouter "< | Ou pour le monter automatiquement : ajouter "<b>none /proc/bus/usb usbdevfs defaults 0 0</b>" au fichier <b>/etc/fstab</b>. <br />Ainsi, vous pourrez vérifier la présence des drivers et les périhpériques détéctés en faisant : | ||
<div class="code"><nowiki># cat /proc/bus/usb/devices </nowiki><br />< | <div class="code"><nowiki># cat /proc/bus/usb/devices </nowiki><br /><b><nowiki># cat /proc/bus/usb/drivers</nowiki></b></div> | ||
== Configuration et installation de SANE (et de XSANE) == | == Configuration et installation de SANE (et de XSANE) == | ||
Ligne 62 : | Ligne 62 : | ||
Décompresser SANE, le patcher et le compiler : | Décompresser SANE, le patcher et le compiler : | ||
<div class="code"><nowiki># tar xvzf sane-1.0.1.tar.gz </nowiki><br />< | <div class="code"><nowiki># tar xvzf sane-1.0.1.tar.gz </nowiki><br /><b><nowiki># patch -p0 < sane-1.0.1-usb.diff</nowiki></b><br /><b><nowiki># cd sane-1.0.1</nowiki></b><br /><b><nowiki># ./configure</nowiki></b><br /><b><nowiki># make</nowiki></b><br /><b><nowiki># make install</nowiki></b></div> | ||
Décompresser XSANE, et le compiler : | Décompresser XSANE, et le compiler : | ||
<div class="code"><nowiki># tar xvzf xsane-0.58.tar.gz </nowiki><br />< | <div class="code"><nowiki># tar xvzf xsane-0.58.tar.gz </nowiki><br /><b><nowiki># cd xsane-0.58</nowiki></b><br /><b><nowiki># ./configure</nowiki></b><br /><b><nowiki># make</nowiki></b><br /><b><nowiki># make install</nowiki></b></div> | ||
SANE et XSANE sont maintenant installés dans < | SANE et XSANE sont maintenant installés dans <b>/usr/local</b> | ||
Configuration de SANE : | Configuration de SANE : | ||
Editer les fichiers suivants dans < | Editer les fichiers suivants dans <b>/usr/local/etc/sane.d</b> afin qu'ils ressemblent à çà : | ||
* < | * <b>dll.conf :</b><div class="code">snapscan</div> | ||
* < | * <b>snapscan.conf :</b><div class="code">usb AGFA<br /> /dev/scanner<br /> /dev/usbscanner</div> | ||
<u>Remarque</u> : | <u>Remarque</u> : | ||
Ligne 89 : | Ligne 89 : | ||
Charger le firmware dans le scanner : | Charger le firmware dans le scanner : | ||
<div class="code"><nowiki># chmod 755 agfafirm </nowiki><br />< | <div class="code"><nowiki># chmod 755 agfafirm </nowiki><br /><b><nowiki># ./agfafirm /dev/usbscanner SnapScan-1212U_2.bin</nowiki></b></div> | ||
== Ca y est vous pouvez scanner! == | == Ca y est vous pouvez scanner! == | ||
Ligne 99 : | Ligne 99 : | ||
Pour utiliser xscanimage en module de gimp : | Pour utiliser xscanimage en module de gimp : | ||
<div class="code"><nowiki># cd /usr/lib/gimp/1.x/plug-ins (où x depend de la version de gimp installée) </nowiki><br />< | <div class="code"><nowiki># cd /usr/lib/gimp/1.x/plug-ins (où x depend de la version de gimp installée) </nowiki><br /><b><nowiki># ln -s /usr/local/bin/xscanimage xscanimage</nowiki></b><br />xscanimage sera lors accessible dans le menu Xtns>Acquire Image .</div> | ||
== Liens utiles == | == Liens utiles == |
Version du 29 avril 2012 à 14:13
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/
@ Retour à la rubrique Matériel
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/ |