« Scanner USB » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
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 <tt>/usr/src/</tt> (il faut être root pour faire çà)
* 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 <tt>/usr/src</tt> : <div class="code"><nowiki># cd /usr/src </nowiki><br /><tt><nowiki># rm -f linux</nowiki></tt><br /><tt><nowiki># tar xvzf linux-2.2.15.tar.gz</nowiki></tt><br /><tt><nowiki># ln -s linux-2.2.15 linux</nowiki></tt><br /><tt><nowiki># chown -R root linux</nowiki></tt><br /><tt><nowiki># chgrp -R root linux</nowiki></tt></div>  
* 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 /><tt><nowiki># gzip -dc ../usb-2.3.99-pre6-for-2.2.14.diff.gz | patch -p1</nowiki></tt></div>
* 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><tt>xconfig</tt> 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>
* 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 /><tt><nowiki># cp arch/i386/boot/bzImage /boot/bzusb</nowiki></tt><br /><tt><nowiki># cp System.map /boot/sysmapusb</nowiki></tt></div>
* 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 /><tt>image=/boot/bzusb</tt><br /><tt>        label=linuxusb</tt><br /><tt>        root=/dev/xxxx </tt><font size="-2">-- mettre le même device que pour les autres sections qui chargent linux</font><br /><tt>        append=""</tt><br /><tt>        read-only  
* 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 <tt>/sbin/lilo</tt> pour faire prendre en compte le changement
taper <b>/sbin/lilo</b> pour faire prendre en compte le changement
</tt></blockquote>
</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 <tt>devfs</tt> (par exemple sur une mandrake 8.2 ou 9.0).
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 /><tt><nowiki># chmod a+rw /dev/usbscanner</nowiki></tt><br /><tt><nowiki># chmod 666 /dev/usbscanner</nowiki></tt><br /><tt><nowiki># ln -s /dev/usbscanner /dev/scanner</nowiki></tt></div>
<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 <tt>/etc/conf.modules</tt> : "<tt>options scanner vendo=0x06bd product=0x2061</tt> (ou <tt>0x0001</tt> selon votre scanner, cette valeur pouvant être déterminée après avoir chargé les modules <tt>usbcore</tt> et <tt>usb-(u/o)hci</tt>, en regardant dans le log (commande <tt>dmesg</tt>) où vous devez trouver quelque chose comme çà : "<tt>Manufacturer: AGFA Product: SNAPSCAN 1212U ....  Vendor:Product = 06bd:'''0001'''</tt> )"
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 /><tt><nowiki># modprobe usb-xxxx</nowiki></tt> (où xxx est <tt>uhci</tt> ou <tt>ohci</tt> selon votre carte mère) <br /><tt><nowiki># modprobe scanner</nowiki></tt></div>
<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) :


<tt><nowiki># mount -t usbdevfs /proc/bus/usb /proc/bus/usb</nowiki></tt>
<b><nowiki># mount -t usbdevfs /proc/bus/usb /proc/bus/usb</nowiki></b>


Ou pour le monter automatiquement : ajouter "<tt>none /proc/bus/usb usbdevfs defaults 0 0</tt>" au fichier <tt>/etc/fstab</tt>. <br />Ainsi, vous pourrez vérifier la présence des drivers et les périhpériques détéctés en faisant :
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 /><tt><nowiki># cat /proc/bus/usb/drivers</nowiki></tt></div>
<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 /><tt><nowiki># patch -p0 < sane-1.0.1-usb.diff</nowiki></tt><br /><tt><nowiki># cd sane-1.0.1</nowiki></tt><br /><tt><nowiki># ./configure</nowiki></tt><br /><tt><nowiki># make</nowiki></tt><br /><tt><nowiki># make install</nowiki></tt></div>
<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 /><tt><nowiki># cd xsane-0.58</nowiki></tt><br /><tt><nowiki># ./configure</nowiki></tt><br /><tt><nowiki># make</nowiki></tt><br /><tt><nowiki># make install</nowiki></tt></div>
<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 <tt>/usr/local</tt>
SANE et XSANE sont maintenant installés dans <b>/usr/local</b>


Configuration de SANE :
Configuration de SANE :


Editer les fichiers suivants dans <tt>/usr/local/etc/sane.d</tt> afin qu'ils ressemblent à çà :
Editer les fichiers suivants dans <b>/usr/local/etc/sane.d</b> afin qu'ils ressemblent à çà :


* <tt>dll.conf :</tt><div class="code">snapscan</div>
* <b>dll.conf :</b><div class="code">snapscan</div>
* <tt>snapscan.conf :</tt><div class="code">usb AGFA<br /> /dev/scanner<br /> /dev/usbscanner</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 /><tt><nowiki># ./agfafirm /dev/usbscanner SnapScan-1212U_2.bin</nowiki></tt></div>
<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 /><tt><nowiki># ln -s /usr/local/bin/xscanimage xscanimage</nowiki></tt><br />xscanimage sera lors accessible dans le menu Xtns>Acquire Image .</div>
<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

Installation d'un scanner USB
Si même l'USB est supporté par Linux que reste-t-il aux autres ?

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  : 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 :

# mknod /dev/usbscanner c 180 48
# 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 usbcore
# 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/devices
# 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 :

# tar xvzf sane-1.0.1.tar.gz
# patch -p0 < sane-1.0.1-usb.diff
# cd sane-1.0.1
# ./configure
# make
# make install

Décompresser XSANE, et le compiler :

# tar xvzf xsane-0.58.tar.gz
# 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 :

# chmod 755 agfafirm
# ./agfafirm /dev/usbscanner SnapScan-1212U_2.bin

Ca y est vous pouvez scanner!

Lancer xscanimage :

# xscanimage &

Pour utiliser xscanimage en module de gimp :

# cd /usr/lib/gimp/1.x/plug-ins (où x depend de la version de gimp installée)
# ln -s /usr/local/bin/xscanimage xscanimage
xscanimage sera lors accessible dans le menu Xtns>Acquire Image .

Liens utiles





@ Retour à la rubrique Matériel

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Eric Bénard le 29/04/2000.

Copyright

Copyright © 29/04/2000, Eric Bénard

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
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/