Howto - scanners HP ScanJet USB avec SANE sous Debian Woody
Voici un article expliquant comment connecter un scanner HP USB sous Debian Woody GNU/Linux. Ceci a été testé avec un HP Scanjet 4100c.
Cet article pourrait s'appliquer à d'autres distributions de GNU/Linux ou marques de scanners, et en tous cas, s'applique à d'autres modèles de scanners HP USB [1].
Ce HOWTO a été réalisé à l'origine par Yannick Warnier, mon frère et président du FoSCuP dans un mail destiné à la mailing-list du BxLUG.
Installation de SANE
Je suis sous Debian, chouette!:apt-get install sane apt-get install xsane (interface graphique de sane)
Branchement du scanner
Je branche mon scanner en USB…comme je ne suis pas très doué, je ne me souviens plus de la façon de voir si GNU/Linux a bien détecté mon scanner.
Hop, je teste avec les fonctions ad-hoc de SANE:sane-find-scanner
Résultat: sane-find-scanner: found USB scanner (vendor = 0x03f0, product = 0x0101) at device /dev/usb/scanner0
Utilisation de xsane
Je lance xsane: ah… No device found?
Documentation
Je lis la doc:man sane man xsane (interface graphique de sane) man sane-usb (module usb de sane) man sane-hp (module hp de sane)J'y trouve que les paramètres de configuration du scanner HP se trouvent dans /etc/sane.d/hp.conf.
Modification de /etc/sane.d/hp.conf
Etat initial:connect-scsi HP /dev/scannerAvec l'aide de la doc, je comprends que ce n'est pas comme ça qu'il faut que le fichier soit écrit, mais bien comme ceci:
/dev/usb/scanner0 //resultat de <<sane-find-scanner>> option connect-device //pour indiquer qu'il s'agit d'un device USBHop, je sauvegarde tout cela.
Droits
Test de xsane: Paf! Segmentation fault! Pas cool!
Ah oui, je me souviens que, dans la doc, ils disaient qu'il fallait avoir les droits en écriture et en lecture sur le périphérique pour pouvoir l'utiliser. Comme mon interface graphique est loggée en <<username>>, je dois donner les droits à <<username>> pour accéder à mon scanner.
Toujours selon la doc, je crée un groupe d'utilisateurs <<scanner>> dans lequel j'ajoute <<username>> comme ceci:groupadd scanner vi /etc/groupajouter <<username>> à <<scanner:x:-id-:>>Je définis mon scanner comme appartenant au groupe <<scanner>> et change les droits (Read-Write pour scanner)
chgrp scanner /dev/usb/scanner0 chmod 660 /dev/usb/scanner0'reste plus qu'à me délogger et à me relogger en <<username>> pour profiter de mon scanner...
Nouveau test de xsane: OK!
Addendum
Pour trouver tout ça, j'ai beaucoup lu et relu la doc de SANE, mais j'ai également (grâce à la doc), essayé le mode debug de SANE. Pour cela, il suffit de:export SANE_DEBUG_HP=128 export SANE_DEBUG_USB=128 export SANE_DEBUG_SCSI=128 export SANE_DEBUG_DLL=128Ca affiche plein de messages inintéressants et quelques-uns intéressants. Ca m'a permis notamment de comprendre qu'il essayait au début d'accéder à mon scanner avec le module SCSI, ce qui n'est pas pratique dans ce cas-ci puisqu'il s'agit d'un autre protocole que celui de mon scanner.
J'ai également modifié le fichier /etc/sane.d/dll.conf car il cherche tous les scanners qu'il connaît à chaque démarrage de xsane. J'ai donc commenté toutes les catégories de scanner s'y trouvant, en dehors de "hp". Ca va plus vite mais ca ne détecte plus d'autre scanner, évidemment.
Je ne sais plus comment faire pour sauvegarder le fait que le scanner appartienne au groupe <<scanner>>, donc pour l'instant je dois refairechgrp scanner /dev/usb/scanner0 chmod 660 /dev/usb/scanner0chaque fois que je mon scanner est détecté.
Et voilà, c'est tout.
[1] mais pas tous, certains utilisent d'autres drivers SANE, qui se configurent aussi différemment. Ex.: HP ScanJet 2200c