Sous FreeBSD, l'accès aux scanners est possible grâce à l'API SANE (Scanner Access Now Easy) disponible dans le catalogue des logiciels portés. SANE utilisera également certains pilotes de périphériques FreeBSD pour accéder à la partie matérielle du scanner.
FreeBSD supporte les scanners SCSI et USB. Assurez-vous que votre scanner est supporté par SANE avant d'effectuer une quelconque configuration. SANE dispose d'une liste des périphériques supportés qui peut vous informer sur le support et son statut pour un scanner particulier. La page de manuel uscanner(4) donne également une liste des scanners USB supportés.
Comme mentionné plus haut les interfaces SCSI et USB sont supportées. En fonction de l'interface de votre scanner, différents pilotes de périphérique sont nécessaires.
Le noyau GENERIC
inclut par
défaut les pilotes nécessaires au support des
scanners USB. Si vous décidez d'utiliser un noyau
personnalisé, assurez-vous que les lignes suivantes
sont présentes dans votre fichier de configuration du
noyau:
En fonction du contrôleur USB présent sur
votre carte mère, vous n'avez besoin que d'une des
deux lignes device uhci
et
device ohci
, cependant avoir ces deux
lignes simultanément dans la configuration du noyau
est sans risque.
Si vous ne désirez pas recompiler votre noyau et
que votre noyau n'est pas le GENERIC
,
vous pouvez directement charger le module du pilote
uscanner(4) à l'aide de la commande
kldload(8):
#
kldload uscanner
Pour charger ce module à chaque démarrage
du système, ajoutez la ligne suivante au fichier
/boot/loader.conf
:
Après avoir redémarré avec le bon noyau, ou après avoir chargé le module nécessaire, branchez votre scanner USB. Une ligne montrant la détection de votre scanner devrait apparaître dans le tampon des messages du système (dmesg(8)):
Ceci nous indique que notre scanner utilise le fichier
spécial de périphérique
/dev/uscanner0
.
Si votre scanner dispose d'une interface SCSI, il est
important de connaître quelle carte contrôleur
SCSI vous utiliserez. En fonction du contrôleur sur
la carte, vous devrez adapter votre configuration du noyau.
Le noyau GENERIC
supporte les
contrôleurs SCSI les plus courants. Assurez-vous
d'avoir lu le fichier NOTES
et ajoutez la
ligne adéquate dans votre fichier de configuration du
noyau. En plus du pilote de votre carte SCSI, vous avez
besoin des lignes suivantes dans votre fichier de
configuration du noyau:
Une fois que votre noyau a été correctement compilé et installé, vous devriez être en mesure de voir les périphériques au démarrage:
Si votre scanner n'était pas alimenté au démarrage du système, il est encore possible de forcer sa détection, en en sondant le bus SCSI avec la commande camcontrol(8):
#
camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulEnsuite le scanner apparaîtra dans la liste des périphériques SCSI:
#
camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Plus de détails sur les périphériques SCSI sont disponibles dans les pages de manuel scsi(4) et camcontrol(8).
Le système SANE est
divisé en deux parties: les
« backend »s (graphics/sane-backends
) et les
« frontend »s (graphics/sane-frontends
). Les
« backend »s fournissent l'accès au scanner.
La liste des périphériques
supportés par SANE
indique quel « backend » supportera votre scanner.
Il est indispensable de déterminer correctement le
« backend » relatif à votre scanner si vous
voulez être en mesure d'utiliser votre
périphérique. La partie
« frontend »s fournie l'interface graphique de
numérisation
(xscanimage).
La première étape est d'installer le
logiciel porté graphics/sane-backends
ou sa version
pré-compilée. Ensuite, utilisez la commande
sane-find-scanner
pour contrôler la
détection du scanner par l'ensemble
SANE:
#
sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3Le résultat de la commande affichera le type d'interface utilisée par le scanner et le fichier spécial de périphérique utilisé pour attacher le scanner au système. Le fabricant et le modèle peuvent ne pas apparaître, cela n'est pas important.
Certains scanners USB requièrent le chargement préalable d'un « firmware », cela est expliqué dans la page de manuel du « backend » utilisé. Vous devriez également consulter les pages de manuel de sane-find-scanner(1) et sane(7).
Nous devons maintenant vérifier si le scanner sera
identifié par un « frontend » de
numérisation. Par défaut, les
« backend »s SANE sont
fournies avec un outil en ligne de commande appelé
scanimage(1). Cette commande vous permet de lister les
périphériques et d'effectuer une acquisition
d'image à partir de la ligne de commande. L'option
-L
est employée pour afficher les
scanners présents sur le système:
#
scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerAucun résultat, ou un message disant qu'aucun
scanner n'a été identifié indiquent que
scanimage(1) est incapable d'identifier le scanner. Si
cela se produit, vous devrez éditer le fichier de
configuration du « backend » du scanner et
définir le type de scanner utilisé. Le
répertoire /usr/local/etc/sane.d/
contient
tous les fichiers de configurations des
« backend »s. Ce problème d'identification
apparaît essentiellement avec certains scanners
USB.
Par exemple, avec le scanner USB utilisé dans la
Section 7.6.2.1, « Interface USB »,
sane-find-scanner
nous donne l'information
suivante:
#
sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Le scanner est correctement détecté, il
utilise l'interface USB et est attaché au fichier
spécial de périphérique
/dev/uscanner0
. Nous pouvons maintenant
vérifier si le scanner est correctement
identifié:
#
scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Comme le scanner n'est pas identifié, nous devons
éditer le fichier
/usr/local/etc/sane.d/epson.conf
. Le
scanner utilisé était un EPSON
Perfection®
1650, nous en déduisons donc que ce scanner utilisera
le « backend » epson
.
Assurez-vous de bien lire les commentaires d'aide
présents dans les fichiers de configuration des
« backend »s. Les modifications à faire
sont relativement simples: commentez toutes les lignes
concernant une interface différente de celle
utilisée par votre scanner (dans notre cas, nous
commenterons toutes les lignes débutant par le mot
scsi
étant donné que notre
scanner utilise une interface USB), ajoutez ensuite à
la fin du fichier une ligne indiquant l'interface et le
fichier spécial de périphérique
utilisé. Dans ce cas, nous ajoutons la ligne
suivante:
Veuillez vous assurer de bien lire les commentaires fournis dans les fichiers de configurations des « backend »s ainsi que les pages de manuel correspondantes pour plus de détails concernant la syntaxe correcte à utiliser. Nous pouvons maintenant vérifier si le scanner est identifié:
#
scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerNotre scanner a été identifié. Ce
n'est pas important si la marque et le modèle ne
correspondent pas au scanner. L'important est le champ
`epson:/dev/uscanner0'
, qui nous donne le
« backend » et le fichier spécial de
périphérique corrects.
Une fois que la commande scanimage -L
est en mesure d'identifier le scanner, la configuration est
terminée. Le périphérique est prêt
à effectuer sa première
numérisation.
Bien que scanimage(1) permette d'effectuer une
numérisation à partir de la ligne de commande,
il est préférable d'utiliser une interface
graphique. SANE offre une
interface graphique simple mais efficace:
xscanimage (graphics/sane-frontends
).
Xsane (graphics/xsane
) est une autre
interface graphique de numérisation assez populaire.
Ce programme offre des fonctions avancées comme
différents mode de numérisation (photocopie,
fax, etc.), la correction des couleurs, la numérisation
par lots, etc. Ces deux applications sont utilisables comme
greffon pour GIMP.
Toutes les opérations précédentes ont
été effectuées avec les privilèges
root
. Vous pourrez, cependant, avoir
besoin que d'autres utilisateurs puissent accéder au
scanner. L'utilisateur devra avoir les permissions de lecture
et d'écriture sur le fichier spécial de
périphérique /dev/uscanner0
dont le propriétaire est le groupe
operator
. L'ajout de l'utilisateur
joe
au groupe
operator
lui autorisera l'accès
au scanner:
#
pw groupmod operator -m joe
Pour plus de détails, consultez la page de manuel
de pw(8). Vous devez également fixer les
permissions d'écriture correctes (0660 or 0664) sur le
fichier spécial de périphérique
/dev/uscanner0
, par défaut le
groupe operator
n'a qu'un accès
en lecture. Cela se fait en ajoutant les lignes suivantes au
fichier /etc/devfs.rules
:
Ajoutez ensuite ce qui suit au fichier
/etc/rc.conf
et redémarrez la
machine:
Plus d'information concernant ces lignes peut être trouvée dans la page de manuel devfs(8).
Bien sûr, pour des raisons de
sécurité, vous devriez réfléchir
à deux fois avant d'ajouter un utilisateur à
n'importe quel groupe, tout particulièrement au groupe
operator
.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.