« Scanners sur interface parallèle » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
(balises code)
Ligne 1 : Ligne 1 :
[[Category:Imprimantes et scanners]]
[[Category:Imprimantes et scanners]]
= Installation d'un scanner parallèle grâce à SANE =
= Installation d'un scanner parallèle grâce à SANE =


<div class="leatitre">Installation d'un scanner parallèle grâce à SANE</div><div class="leapar">par Pierre Fritsch, [mailto:fpb4%20chez%20libertysurf%20point%20fr  fpb4 chez libertysurf point fr].</div>
par Pierre Fritsch, [mailto:fpb4%20chez%20libertysurf%20point%20fr  fpb4 chez libertysurf point fr]
----


== Introduction ==
== Introduction ==


Ce document a pour but de décrire l'installation d'un scanner sur port parallèle au sein d'un système GNU/Linux. Pour cela nous allons utiliser SANE (Scanner Access Now Easy), dernière version à ce jour 1.0.5. Pour cet exemple, il s'agit d'un ''MUSTEK ScanExpress 6000P''. Un scanner déjà ancien mais qui me donne toute satisfaction. D'autant plus que l'on me l'a donné <tt><nowiki>;-)</nowiki></tt>
Ce document a pour but de décrire l'installation d'un scanner sur port parallèle au sein d'un système GNU/Linux. Pour cela nous allons utiliser SANE (Scanner Access Now Easy), dernière version à ce jour 1.0.5. Pour cet exemple, il s'agit d'un ''MUSTEK ScanExpress 6000P''. Un scanner déjà ancien mais qui me donne toute satisfaction. D'autant plus que l'on me l'a donné <b><nowiki>;-)</nowiki></b>


== Pré-requis ==
== Pré-requis ==
Ligne 22 : Ligne 22 :
'''Exemple pour un systeme basé sur RPM :'''
'''Exemple pour un systeme basé sur RPM :'''


<div class="code">rpm -ivh sane-backends-1.0.5.rpm <br /><tt>rpm -ivh sane-frontends-1.0.5.rpm</tt></div>
<div class="code">rpm -ivh sane-backends-1.0.5.rpm <br /><b>rpm -ivh sane-frontends-1.0.5.rpm</b></div>


'''Exemple pour une slackware :'''
'''Exemple pour une slackware :'''
Ligne 28 : Ligne 28 :
<div class="code">installpkg sane.tgz</div>
<div class="code">installpkg sane.tgz</div>


'''Si vous préférez installer à partir des sources''' copiez celles-ci dans le répertoire de votre choix, <tt>/opt</tt> par exemple :
'''Si vous préférez installer à partir des sources''' copiez celles-ci dans le répertoire de votre choix, <b>/opt</b> par exemple :


<div class="code">cp sane-backends-1.0.5.tar.gz /opt/sane-backends-1.0.5.tar.gz<br /><tt>cp sane-frontends-1.0.5.tar.gz /opt/sane-frontends-1.0.5.tar.gz</tt></div>
<div class="code">cp sane-backends-1.0.5.tar.gz /opt/sane-backends-1.0.5.tar.gz<br /><b>cp sane-frontends-1.0.5.tar.gz /opt/sane-frontends-1.0.5.tar.gz</b></div>


passez dans le repertoire <tt>/opt</tt>
passez dans le repertoire <b>/opt</b>


<div class="code"><tt>cd /opt</tt></div>
<div class="code"><b>cd /opt</b></div>


décompressez-les :
décompressez-les :


<div class="code"><tt>tar zxpvf sane-backends-1.0.5.tar.gz</tt><br /><tt>tar zxpvf sane-frontends-1.0.5.tar.gz</tt></div>
<div class="code"><b>tar zxpvf sane-backends-1.0.5.tar.gz</b><br /><b>tar zxpvf sane-frontends-1.0.5.tar.gz</b></div>


passez dans le répertoire <tt>sane-backends-1.0.5</tt> nouvellement créé :
passez dans le répertoire <b>sane-backends-1.0.5</b> nouvellement créé :


<div class="code"><tt>cd sane-backends-1.0.5</tt></div>
<div class="code"><b>cd sane-backends-1.0.5</b></div>


compilez de la manière habituelle :
compilez de la manière habituelle :


<div class="code"><tt>./configure ; make ; make install</tt></div>
<div class="code"><b>./configure ; make ; make install</b></div>


effectuez la même opération pour sane-frontends : <br />
effectuez la même opération pour sane-frontends : <br />


<div class="code"><tt>cd /opt/sane-frontends-1.0.5 ; ./configure ; make ; make install</tt></div>
<div class="code"><b>cd /opt/sane-frontends-1.0.5 ; ./configure ; make ; make install</b></div>


== Configuration ==
== Configuration ==


Suivant votre distribution, les fichiers de configuration ne se trouvent pas au même endroit. <br /> Il s'agit du fichier <tt>dll.conf</tt> ainsi que du fichier propre a votre scanner : <tt>mustek_pp.conf</tt> pour notre exemple. <br /> Ils se trouvent à l'intérieur du dossier <tt>sane.d</tt>
Suivant votre distribution, les fichiers de configuration ne se trouvent pas au même endroit. <br /> Il s'agit du fichier <b>dll.conf</b> ainsi que du fichier propre a votre scanner : <b>mustek_pp.conf</b> pour notre exemple. <br /> Ils se trouvent à l'intérieur du dossier <b>sane.d</b>


'''Pour une Mandrake 8 avec installation des rpm Mandrake :'''
'''Pour une Mandrake 8 avec installation des rpm Mandrake :'''
Ligne 68 : Ligne 68 :
<div class="code">/usr/local/etc/sane.d</div>
<div class="code">/usr/local/etc/sane.d</div>


A l'intérieur du répertoire <tt>sane.d</tt> supprimez toutes les entrées ne correspondant pas à votre scanner. Ne laissez que <tt>dll.conf</tt> et l'entrée liée à votre matériel, <tt>mustek_pp.conf</tt> dans notre cas.
A l'intérieur du répertoire <b>sane.d</b> supprimez toutes les entrées ne correspondant pas à votre scanner. Ne laissez que <b>dll.conf</b> et l'entrée liée à votre matériel, <b>mustek_pp.conf</b> dans notre cas.


éditez le fichier <tt>dll.conf</tt> et commentez (mettez le symbole <tt><nowiki>#</nowiki></tt> devant une ligne, pour qu'elle ne soit pas prise en compte) ou supprimez toutes les entrées ne correspondant pas à votre matériel. Dans mon exemple il a fallu que je décommente la ligne <tt>mustek_pp</tt> qui correspond à mon scanner.
éditez le fichier <b>dll.conf</b> et commentez (mettez le symbole <b><nowiki>#</nowiki></b> devant une ligne, pour qu'elle ne soit pas prise en compte) ou supprimez toutes les entrées ne correspondant pas à votre matériel. Dans mon exemple il a fallu que je décommente la ligne <b>mustek_pp</b> qui correspond à mon scanner.


Voici pour l'exemple mon fichier <tt>dll.conf</tt> :
Voici pour l'exemple mon fichier <b>dll.conf</b> :


<div class="code"><nowiki># enable the next line if you want to allow access through the network: </nowiki><br /> #net<br /> mustek_pp</div>
<div class="code"><nowiki># enable the next line if you want to allow access through the network: </nowiki><br /> #net<br /> mustek_pp</div>


éditez le fichier correspondant à votre scanner : <tt>mustek_pp.conf</tt> dans notre cas. Dans la section DEVICES, précisez sur quel port est connecté votre scanner, soit :
éditez le fichier correspondant à votre scanner : <b>mustek_pp.conf</b> dans notre cas. Dans la section DEVICES, précisez sur quel port est connecté votre scanner, soit :


* <tt>port 0x378</tt> pour un scanner connecté sur <tt>lp1</tt>
* <b>port 0x378</b> pour un scanner connecté sur <b>lp1</b>
* <tt>port 0x278</tt> pour un scanner connecté sur <tt>lp2</tt>
* <b>port 0x278</b> pour un scanner connecté sur <b>lp2</b>
* <tt>port 0x3bc</tt> pour un scanner connecté sur <tt>lp0</tt>
* <b>port 0x3bc</b> pour un scanner connecté sur <b>lp0</b>


''Attention'' : pour une carte mère avec un seul port parallèle, <tt>lp0</tt> correspond à <tt>0x378</tt>. Décommentez les entrées correspondant au modèle exact de votre scanner.
''Attention'' : pour une carte mère avec un seul port parallèle, <b>lp0</b> correspond à <b>0x378</b>. Décommentez les entrées correspondant au modèle exact de votre scanner.


Commentez toutes les autres sauf : <tt>option io-mode alt_lock, option niceload, option buffer 122400</tt>
Commentez toutes les autres sauf : <b>option io-mode alt_lock, option niceload, option buffer 122400</b>


Voici mon fichier <tt>mustek_pp.conf</tt> :
Voici mon fichier <b>mustek_pp.conf</b> :


<div class="code"><nowiki># For documentation see sane-mustek_pp(5) </nowiki>
<div class="code"><nowiki># For documentation see sane-mustek_pp(5) </nowiki>


<tt><nowiki># GLOBAL #</nowiki></tt>
<b><nowiki># GLOBAL #</nowiki></b>


<tt><nowiki># option io-mode [mode] must come before all port< definitions, or it won't</nowiki></tt><br /><tt><nowiki># have the effect you'd expect</nowiki></tt>
<b><nowiki># option io-mode [mode] must come before all port< definitions, or it won't</nowiki></b><br /><b><nowiki># have the effect you'd expect</nowiki></b>


<tt><nowiki># enable this option, if you think your scanner supports the UNI protocol</nowiki></tt><br /><tt><nowiki># note however that this might disable the better EPP protocol</nowiki></tt><br /><tt><nowiki>#option io-mode try_mode_uni</nowiki></tt>
<b><nowiki># enable this option, if you think your scanner supports the UNI protocol</nowiki></b><br /><b><nowiki># note however that this might disable the better EPP protocol</nowiki></b><br /><b><nowiki>#option io-mode try_mode_uni</nowiki></b>


<tt><nowiki># choose between two different ways to lock to port option io-mode alt_lock</nowiki></tt>
<b><nowiki># choose between two different ways to lock to port option io-mode alt_lock</nowiki></b>


<tt><nowiki># set the maximal height (in lines) of a strip scanned (default: no limit)</nowiki></tt><br /><tt><nowiki>#option strip-height 0</nowiki></tt>
<b><nowiki># set the maximal height (in lines) of a strip scanned (default: no limit)</nowiki></b><br /><b><nowiki>#option strip-height 0</nowiki></b>


<tt><nowiki># wait n msecs for bank to change (default: 700 msecs)</nowiki></tt><br /><tt><nowiki># if this value is to low, stripes my appear in the scanned image</nowiki></tt><br /><tt><nowiki>#option wait-bank 700</nowiki></tt>
<b><nowiki># wait n msecs for bank to change (default: 700 msecs)</nowiki></b><br /><b><nowiki># if this value is to low, stripes my appear in the scanned image</nowiki></b><br /><b><nowiki>#option wait-bank 700</nowiki></b>


<tt><nowiki># size (in bytes) of scan buffer (default: 1 megabyte)</nowiki></tt><br /><tt><nowiki>#option buffer 1048576</nowiki></tt>
<b><nowiki># size (in bytes) of scan buffer (default: 1 megabyte)</nowiki></b><br /><b><nowiki>#option buffer 1048576</nowiki></b>


<tt><nowiki># try to avoid to heavy load. Note that this reduces scan speed</nowiki></tt><br /><tt>option niceload</tt>
<b><nowiki># try to avoid to heavy load. Note that this reduces scan speed</nowiki></b><br /><b>option niceload</b>


<tt><nowiki># Define the time the lamp has to be on before scan starts (default 5 secs)</nowiki></tt><br /><tt><nowiki>#option wait-lamp 5</nowiki></tt>
<b><nowiki># Define the time the lamp has to be on before scan starts (default 5 secs)</nowiki></b><br /><b><nowiki>#option wait-lamp 5</nowiki></b>


<tt><nowiki># DEVICES #</nowiki></tt>
<b><nowiki># DEVICES #</nowiki></b>


<tt><nowiki># specify the port your scanner is connected to. Possible are 0x378 (lp1)</nowiki></tt><br /><tt><nowiki># 0x278 (lp2) and 0x3bc (lp0)</nowiki></tt><br /><font color="#ff0000"><tt>port 0x378</tt></font>
<b><nowiki># specify the port your scanner is connected to. Possible are 0x378 (lp1)</nowiki></b><br /><b><nowiki># 0x278 (lp2) and 0x3bc (lp0)</nowiki></b><br /><font color="#ff0000"><b>port 0x378</b></font>


<tt><nowiki># the following options are local to this scanner</nowiki></tt>
<b><nowiki># the following options are local to this scanner</nowiki></b>


<tt><nowiki># WELL KNOWN OPTIONS #</nowiki></tt>
<b><nowiki># WELL KNOWN OPTIONS #</nowiki></b>


<tt><nowiki># most scanners only need 200 - 250 msecs to change bank -> try it out</nowiki></tt>
<b><nowiki># most scanners only need 200 - 250 msecs to change bank -> try it out</nowiki></b>


<font color="#ff0000"><tt>Mustek ScanExpress 6000 P</tt><br /><tt>name SE-6000P</tt><br /><tt>vendor Mustek</tt><br /><tt>option wait-lamp 15</tt></font>
<font color="#ff0000"><b>Mustek ScanExpress 6000 P</b><br /><b>name SE-6000P</b><br /><b>vendor Mustek</b><br /><b>option wait-lamp 15</b></font>


<tt><nowiki># Mustek ScanExpress 600 SEP</nowiki></tt><br /><tt><nowiki># name SE-600SEP</nowiki></tt><br /><tt><nowiki># vendor Mustek</nowiki></tt><br /><tt><nowiki># option wait-lamp 15</nowiki></tt>
<b><nowiki># Mustek ScanExpress 600 SEP</nowiki></b><br /><b><nowiki># name SE-600SEP</nowiki></b><br /><b><nowiki># vendor Mustek</nowiki></b><br /><b><nowiki># option wait-lamp 15</nowiki></b>


<tt><nowiki># Mustek ScanMagic 4800 P</nowiki></tt><br /><tt><nowiki># name SM-4800P</nowiki></tt><br /><tt><nowiki># vendor Mustek</nowiki></tt><br /><tt><nowiki># option wait-lamp 15</nowiki></tt>
<b><nowiki># Mustek ScanMagic 4800 P</nowiki></b><br /><b><nowiki># name SM-4800P</nowiki></b><br /><b><nowiki># vendor Mustek</nowiki></b><br /><b><nowiki># option wait-lamp 15</nowiki></b>


<tt><nowiki># Mustek 600 III EP Plus</nowiki></tt><br /><tt><nowiki># name 600IIIEPP</nowiki></tt><br /><tt><nowiki># vendor Mustek</nowiki></tt><br /><tt><nowiki># option wait-lamp 15</nowiki></tt><br /><tt><nowiki># some models only need 5 secs...</nowiki></tt>
<b><nowiki># Mustek 600 III EP Plus</nowiki></b><br /><b><nowiki># name 600IIIEPP</nowiki></b><br /><b><nowiki># vendor Mustek</nowiki></b><br /><b><nowiki># option wait-lamp 15</nowiki></b><br /><b><nowiki># some models only need 5 secs...</nowiki></b>


<tt><nowiki># Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!)</nowiki></tt><br /><tt><nowiki># name SM-1200EDP</nowiki></tt><br /><tt><nowiki># name SE-1200EDP</nowiki></tt><br /><tt><nowiki># vendor Mustek</nowiki></tt><br /><tt><nowiki># this scanner has an optical resolution of 600 dpi</nowiki></tt><br /><tt><nowiki># option use600</nowiki></tt><br /><tt><nowiki># this scanner *must* use option niceload</nowiki></tt><br /><tt><nowiki># option niceload</nowiki></tt>
<b><nowiki># Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!)</nowiki></b><br /><b><nowiki># name SM-1200EDP</nowiki></b><br /><b><nowiki># name SE-1200EDP</nowiki></b><br /><b><nowiki># vendor Mustek</nowiki></b><br /><b><nowiki># this scanner has an optical resolution of 600 dpi</nowiki></b><br /><b><nowiki># option use600</nowiki></b><br /><b><nowiki># this scanner *must* use option niceload</nowiki></b><br /><b><nowiki># option niceload</nowiki></b>


<tt><nowiki># Fidelity Imaging Solutions Inc. Gallery 4800</nowiki></tt><br /><tt><nowiki># name Gallery-4800</nowiki></tt><br /><tt><nowiki># vendor Fidelity-Imaging-Solutions</nowiki></tt>
<b><nowiki># Fidelity Imaging Solutions Inc. Gallery 4800</nowiki></b><br /><b><nowiki># name Gallery-4800</nowiki></b><br /><b><nowiki># vendor Fidelity-Imaging-Solutions</nowiki></b>


<tt><nowiki># Viviscan Compact II</nowiki></tt><br /><tt><nowiki># name Compact-II</nowiki></tt><br /><tt><nowiki># vendor Viviscan</nowiki></tt>
<b><nowiki># Viviscan Compact II</nowiki></b><br /><b><nowiki># name Compact-II</nowiki></b><br /><b><nowiki># vendor Viviscan</nowiki></b>


<tt><nowiki># Medion MD9848 (aka Aldi-Scanner)</nowiki></tt><br /><tt><nowiki># name MD9848</nowiki></tt><br /><tt><nowiki># vendor Medion</nowiki></tt><br /><tt><nowiki># option wait-bank 250</nowiki></tt>
<b><nowiki># Medion MD9848 (aka Aldi-Scanner)</nowiki></b><br /><b><nowiki># name MD9848</nowiki></b><br /><b><nowiki># vendor Medion</nowiki></b><br /><b><nowiki># option wait-bank 250</nowiki></b>


<tt><nowiki># scan maximal 16 lines for one sane_read() call</nowiki></tt><br /><tt><nowiki>#option strip-height 16</nowiki></tt>
<b><nowiki># scan maximal 16 lines for one sane_read() call</nowiki></b><br /><b><nowiki>#option strip-height 16</nowiki></b>


<tt><nowiki># we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes</nowiki></tt><br /><tt>option buffer 122400</tt>
<b><nowiki># we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes</nowiki></b><br /><b>option buffer 122400</b>


<tt><nowiki># Enable this option, if you want user authentification *and* if it's</nowiki></tt><br /><tt><nowiki># enabled at compile time</nowiki></tt><br /><tt><nowiki>#option auth</nowiki></tt><br /><tt><nowiki># use this option to define the maximal black value for lineart scans</nowiki></tt><br /><tt><nowiki>#option bw 127</nowiki></tt>
<b><nowiki># Enable this option, if you want user authentification *and* if it's</nowiki></b><br /><b><nowiki># enabled at compile time</nowiki></b><br /><b><nowiki>#option auth</nowiki></b><br /><b><nowiki># use this option to define the maximal black value for lineart scans</nowiki></b><br /><b><nowiki>#option bw 127</nowiki></b>


  </div>
  </div>
Ligne 144 : Ligne 144 :
== Utilisation ==
== Utilisation ==


Après avoir enregistré vos modifications vous pouvez (si vous avez installé sane-frontend) lancer <tt>/usr/local/bin/xscanimage</tt>. Si tout s'est bien passé vous devez voir apparaître l'interface de gestion de votre scanner.
Après avoir enregistré vos modifications vous pouvez (si vous avez installé sane-frontend) lancer <b>/usr/local/bin/xscanimage</b>. Si tout s'est bien passé vous devez voir apparaître l'interface de gestion de votre scanner.


Vous avez la possibilité de lancer <tt>xscanimage</tt> comme un plugin de [http://www.gimp.org Gimp]. Pour cela il suffit de creer un lien symbolique de <tt>/usr/local/bin/xscanimage</tt> vers le repertoire plug-ins de gimp dans votre repertoire personnel exemple pour l'utilisateur ''pedro'' :
Vous avez la possibilité de lancer <b>xscanimage</b> comme un plugin de [http://www.gimp.org Gimp]. Pour cela il suffit de creer un lien symbolique de <b>/usr/local/bin/xscanimage</b> vers le repertoire plug-ins de gimp dans votre repertoire personnel exemple pour l'utilisateur ''pedro'' :


<div class="code">ln -s /usr/local/bin/xscanimage /home/pedro/.gimp-1.2/plug-ins</div>  
<div class="code">ln -s /usr/local/bin/xscanimage /home/pedro/.gimp-1.2/plug-ins</div>  
Ligne 156 : Ligne 156 :
A mon avis xsane (http://www.xsane.org) est plus complet que xscanimage notamment avec le support de la photocopie et la gestion fax. Mais bien sûr cela n'engage que moi.
A mon avis xsane (http://www.xsane.org) est plus complet que xscanimage notamment avec le support de la photocopie et la gestion fax. Mais bien sûr cela n'engage que moi.


Merci de [mailto:fpb4%20chez%20libertysurf%20point%20fr me faire part] de vos commentaires ou suggestions. <br />  
Merci de [mailto:fpb4%20chez%20libertysurf%20point%20fr me faire part] de vos commentaires ou suggestions. <br />


== Additif ==
== Additif ==
Ligne 172 : Ligne 172 :
éditer /usr/local/etc/sane.d/saned.conf et s'assurer que'' '''localhost '''''est décommenté
éditer /usr/local/etc/sane.d/saned.conf et s'assurer que'' '''localhost '''''est décommenté


éditer /usr/local/etc/sane.d/net.conf  et s'assurer de la même chose
éditer /usr/local/etc/sane.d/net.conf  et s'assurer de la même chose


rajouter dans /etc/services " sane 6566/tcp "
rajouter dans /etc/services " sane 6566/tcp "


rajouter dans /etc/inetd.conf  "sane stream tcp nowait root /usr/local/sbin/saned saned "
rajouter dans /etc/inetd.conf  "sane stream tcp nowait root /usr/local/sbin/saned saned "


Voilà ! Maintenant en tant que "user" le scanner apparait comme [net:localhost:mustek_pp:SE-6000P]
Voilà ! Maintenant en tant que "user" le scanner apparait comme [net:localhost:mustek_pp:SE-6000P]
Ligne 184 : Ligne 184 :
Pour l'instant je n'en ai pas : Je sais que le principe est le même sauf que la Mandrake utilise xinetd au lieu de inetd mais je n'ai pas encore compris la procedure <br /> Avis aux amateurs!!!!!!!<br /><br /> (Fred):: Je n'ai pas essayé, mais je pense qu'il faut :<br /> créer /etc/xinetd.d/sane tel que :
Pour l'instant je n'en ai pas : Je sais que le principe est le même sauf que la Mandrake utilise xinetd au lieu de inetd mais je n'ai pas encore compris la procedure <br /> Avis aux amateurs!!!!!!!<br /><br /> (Fred):: Je n'ai pas essayé, mais je pense qu'il faut :<br /> créer /etc/xinetd.d/sane tel que :


<div class="code">service sane<br /> {<br />         disable = yes<br />         port    = 6566<br />         socket_type     = stream<br />         wait    = no<br />         only_from = localhost<br />         server  = /usr/local/sbin/saned<br />         # ce qui suit, doit peut-être être changé.<br />         user = root <br />         log_on_failure  += USERID<br /> }<br /> </div>
<div class="code">service sane<br /> {<br />         disable = yes<br />         port    = 6566<br />         socket_type    = stream<br />         wait    = no<br />         only_from = localhost<br />         server  = /usr/local/sbin/saned<br />         # ce qui suit, doit peut-être être changé.<br />         user = root <br />         log_on_failure  += USERID<br /> }<br /> </div>


Voilà ! Maintenant en tant que "user" le scanner doit apparaitre comme [net:localhost:mustek_pp:SE-6000P]
Voilà ! Maintenant en tant que "user" le scanner doit apparaitre comme [net:localhost:mustek_pp:SE-6000P]
Ligne 190 : Ligne 190 :
'''2''' . ''<u>Nico m'a fait part d'un probleme sur sa Debian</u>''.<br />
'''2''' . ''<u>Nico m'a fait part d'un probleme sur sa Debian</u>''.<br />


Il faut selon lui creer un lien symbolique sur /dev/lp0  (ln -s /dev/lp0 /dev/scanner). <br /> A essayer !
Il faut selon lui creer un lien symbolique sur /dev/lp0  (ln -s /dev/lp0 /dev/scanner). <br /> A essayer !


Je voudrais remercier tous ceux qui m'ont ecrit pour me faire part de leurs remarques et de leurs encouragements et par la meme occasion m'excuser de parfois avoir ete <br /> un peu long a repondre mais n'etant pas informaticien de profession je ne peux y consacrer que mon temps libre.
Je voudrais remercier tous ceux qui m'ont ecrit pour me faire part de leurs remarques et de leurs encouragements et par la meme occasion m'excuser de parfois avoir ete <br /> un peu long a repondre mais n'etant pas informaticien de profession je ne peux y consacrer que mon temps libre.

Version du 29 avril 2012 à 14:15


Installation d'un scanner parallèle grâce à SANE

par Pierre Fritsch, fpb4 chez libertysurf point fr

Introduction

Ce document a pour but de décrire l'installation d'un scanner sur port parallèle au sein d'un système GNU/Linux. Pour cela nous allons utiliser SANE (Scanner Access Now Easy), dernière version à ce jour 1.0.5. Pour cet exemple, il s'agit d'un MUSTEK ScanExpress 6000P. Un scanner déjà ancien mais qui me donne toute satisfaction. D'autant plus que l'on me l'a donné ;-)

Pré-requis

  1. Un systeme GNU/Linux fonctionnel,
  2. Un scanner supporté par SANE,
  3. les librairies sane-backends (les pilotes),
  4. les programmes sane-frontends (les interfaces). A signaler que sane-frontends n'est pas obligatoire si vous envisagez d'utiliser une autre interface comme xsane (http://www.xsane.org) ou quiteinsane (http://sourceforge.net/projects/quiteinsane), d'un autre côté, ils sont trés léger et permettent de tester rapidement l'installation de SANE.

Installation

Si vous disposez d'une distribution récente il y a de fortes chances pour que SANE soit disponible sur les cds de votre distribution. Dans ce cas utilisez votre méthode habituelle pour l'installation.

Exemple pour un systeme basé sur RPM :

rpm -ivh sane-backends-1.0.5.rpm
rpm -ivh sane-frontends-1.0.5.rpm

Exemple pour une slackware :

installpkg sane.tgz

Si vous préférez installer à partir des sources copiez celles-ci dans le répertoire de votre choix, /opt par exemple :

cp sane-backends-1.0.5.tar.gz /opt/sane-backends-1.0.5.tar.gz
cp sane-frontends-1.0.5.tar.gz /opt/sane-frontends-1.0.5.tar.gz

passez dans le repertoire /opt

cd /opt

décompressez-les :

tar zxpvf sane-backends-1.0.5.tar.gz
tar zxpvf sane-frontends-1.0.5.tar.gz

passez dans le répertoire sane-backends-1.0.5 nouvellement créé :

cd sane-backends-1.0.5

compilez de la manière habituelle :

./configure ; make ; make install

effectuez la même opération pour sane-frontends :

cd /opt/sane-frontends-1.0.5 ; ./configure ; make ; make install

Configuration

Suivant votre distribution, les fichiers de configuration ne se trouvent pas au même endroit.
Il s'agit du fichier dll.conf ainsi que du fichier propre a votre scanner : mustek_pp.conf pour notre exemple.
Ils se trouvent à l'intérieur du dossier sane.d

Pour une Mandrake 8 avec installation des rpm Mandrake :

/etc/sane.d

Pour une slackware 8 avec installation par installpkg :

/etc/sane/sane.d

Pour une installation a partir des sources :

/usr/local/etc/sane.d

A l'intérieur du répertoire sane.d supprimez toutes les entrées ne correspondant pas à votre scanner. Ne laissez que dll.conf et l'entrée liée à votre matériel, mustek_pp.conf dans notre cas.

éditez le fichier dll.conf et commentez (mettez le symbole # devant une ligne, pour qu'elle ne soit pas prise en compte) ou supprimez toutes les entrées ne correspondant pas à votre matériel. Dans mon exemple il a fallu que je décommente la ligne mustek_pp qui correspond à mon scanner.

Voici pour l'exemple mon fichier dll.conf :

# enable the next line if you want to allow access through the network:
#net
mustek_pp

éditez le fichier correspondant à votre scanner : mustek_pp.conf dans notre cas. Dans la section DEVICES, précisez sur quel port est connecté votre scanner, soit :

  • port 0x378 pour un scanner connecté sur lp1
  • port 0x278 pour un scanner connecté sur lp2
  • port 0x3bc pour un scanner connecté sur lp0

Attention : pour une carte mère avec un seul port parallèle, lp0 correspond à 0x378. Décommentez les entrées correspondant au modèle exact de votre scanner.

Commentez toutes les autres sauf : option io-mode alt_lock, option niceload, option buffer 122400

Voici mon fichier mustek_pp.conf :

# For documentation see sane-mustek_pp(5)

# GLOBAL #

# option io-mode [mode] must come before all port< definitions, or it won't
# have the effect you'd expect

# enable this option, if you think your scanner supports the UNI protocol
# note however that this might disable the better EPP protocol
#option io-mode try_mode_uni

# choose between two different ways to lock to port option io-mode alt_lock

# set the maximal height (in lines) of a strip scanned (default: no limit)
#option strip-height 0

# wait n msecs for bank to change (default: 700 msecs)
# if this value is to low, stripes my appear in the scanned image
#option wait-bank 700

# size (in bytes) of scan buffer (default: 1 megabyte)
#option buffer 1048576

# try to avoid to heavy load. Note that this reduces scan speed
option niceload

# Define the time the lamp has to be on before scan starts (default 5 secs)
#option wait-lamp 5

# DEVICES #

# specify the port your scanner is connected to. Possible are 0x378 (lp1)
# 0x278 (lp2) and 0x3bc (lp0)
port 0x378

# the following options are local to this scanner

# WELL KNOWN OPTIONS #

# most scanners only need 200 - 250 msecs to change bank -> try it out

Mustek ScanExpress 6000 P
name SE-6000P
vendor Mustek
option wait-lamp 15

# Mustek ScanExpress 600 SEP
# name SE-600SEP
# vendor Mustek
# option wait-lamp 15

# Mustek ScanMagic 4800 P
# name SM-4800P
# vendor Mustek
# option wait-lamp 15

# Mustek 600 III EP Plus
# name 600IIIEPP
# vendor Mustek
# option wait-lamp 15
# some models only need 5 secs...

# Mustek ScanMagic/Express 1200 ED Plus (this scanner isn't yet supported!!!)
# name SM-1200EDP
# name SE-1200EDP
# vendor Mustek
# this scanner has an optical resolution of 600 dpi
# option use600
# this scanner *must* use option niceload
# option niceload

# Fidelity Imaging Solutions Inc. Gallery 4800
# name Gallery-4800
# vendor Fidelity-Imaging-Solutions

# Viviscan Compact II
# name Compact-II
# vendor Viviscan

# Medion MD9848 (aka Aldi-Scanner)
# name MD9848
# vendor Medion
# option wait-bank 250

# scan maximal 16 lines for one sane_read() call
#option strip-height 16

# we just need 16 lines * 3 (rgb) colors * 300 dpi * 8.5 inch bytes
option buffer 122400

# Enable this option, if you want user authentification *and* if it's
# enabled at compile time
#option auth
# use this option to define the maximal black value for lineart scans
#option bw 127

Utilisation

Après avoir enregistré vos modifications vous pouvez (si vous avez installé sane-frontend) lancer /usr/local/bin/xscanimage. Si tout s'est bien passé vous devez voir apparaître l'interface de gestion de votre scanner.

Vous avez la possibilité de lancer xscanimage comme un plugin de Gimp. Pour cela il suffit de creer un lien symbolique de /usr/local/bin/xscanimage vers le repertoire plug-ins de gimp dans votre repertoire personnel exemple pour l'utilisateur pedro :

ln -s /usr/local/bin/xscanimage /home/pedro/.gimp-1.2/plug-ins

Remarques :

Ce document n'est écrit que dans un but indicatif. Ce qui fonctionne chez moi peut ne pas fonctionner chez vous. Lisez les pages man de sane. Allez sur le site de sane : http://www.mostang.com/sane pour en savoir plus sur le matériel supporté et quel type de backend utiliser pour votre propre matériel.

A mon avis xsane (http://www.xsane.org) est plus complet que xscanimage notamment avec le support de la photocopie et la gestion fax. Mais bien sûr cela n'engage que moi.

Merci de me faire part de vos commentaires ou suggestions.

Additif

A la suite de plusieurs courriers reçus depuis la parution de cet article, il apparait que plusieurs problemes se posent encore.

1 . Il faut etre root pour pouvoir utiliser le scanner.

Le principe est simple : utiliser la couche réseau de SANE.

Solution pour Slackware (via inetd)

Ceci doit être compatible (ou presque) avec toute distribution utilisant inetd comme super-daemon.

éditer /usr/local/etc/sane.d/saned.conf et s'assurer que localhost est décommenté

éditer /usr/local/etc/sane.d/net.conf et s'assurer de la même chose

rajouter dans /etc/services " sane 6566/tcp "

rajouter dans /etc/inetd.conf "sane stream tcp nowait root /usr/local/sbin/saned saned "

Voilà ! Maintenant en tant que "user" le scanner apparait comme [net:localhost:mustek_pp:SE-6000P]

Solution pour Mandrake

Pour l'instant je n'en ai pas : Je sais que le principe est le même sauf que la Mandrake utilise xinetd au lieu de inetd mais je n'ai pas encore compris la procedure
Avis aux amateurs!!!!!!!

(Fred):: Je n'ai pas essayé, mais je pense qu'il faut :
créer /etc/xinetd.d/sane tel que :

service sane
{
disable = yes
port = 6566
socket_type = stream
wait = no
only_from = localhost
server = /usr/local/sbin/saned
# ce qui suit, doit peut-être être changé.
user = root
log_on_failure += USERID
}

Voilà ! Maintenant en tant que "user" le scanner doit apparaitre comme [net:localhost:mustek_pp:SE-6000P]

2 . Nico m'a fait part d'un probleme sur sa Debian.

Il faut selon lui creer un lien symbolique sur /dev/lp0 (ln -s /dev/lp0 /dev/scanner).
A essayer !

Je voudrais remercier tous ceux qui m'ont ecrit pour me faire part de leurs remarques et de leurs encouragements et par la meme occasion m'excuser de parfois avoir ete
un peu long a repondre mais n'etant pas informaticien de profession je ne peux y consacrer que mon temps libre.




@ 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 Pierre Fritsch le 22/10/2001.

Copyright

Copyright © 22/10/2001, Pierre Fritsch

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/