The Linux Busmouse Howto, version française: Comment faire fonctionner votre souris
3. Comment faire fonctionner votre souris
Une fois que vous avez déterminé le type d'interface de votre souris
et son protocole, vous êtes prêt à poursuivre.
3.1 Réglage de l'interruption de la souris
Maintenant que vous avez trouvé quelle interface matérielle utilise
votre souris, vous allez avoir besoin de savoir quelle interruption
votre souris utilise, et de vous assurer qu'elle n'entre en conflit
avec aucun des autres périphériques que vous avez installés. Ce
dernier point mérite d'être répété : assurez-vous qu'elle
n'entre en conflit avec aucun des autres périphériques que vous avez
installés !
Assurez-vous que votre souris n'essaie pas d'utiliser la même
interruption que l'un de vos autres périphériques -- la souris ne peut
pas partager une ligne d'interruption sous Linux, même si elle le peut
sous d'autres systèmes d'exploitation. Consultez la documentation de
tous vos autres périphériques pour voir quelle interruption ils
utilisent.
Les souris à bus sous Linux ne déclarent pas quelle IRQ elles utilisent
jusqu'à ce qu'elles soient sollicitées par une application. Les matériels
Plug-n-Play déclarent souvent leurs interruptions pendant la phase
de démarrage. Cela rend possible qu'une carte Plug-n-Play de votre
matériel s'empare de l'IRQ de votre souris. Gardez à l'esprit que, si
d'autres systèmes d'exploitation peuvent initialiser ces cartes à une
IRQ qui n'est pas utilisée par votre souris, les choses peuvent ne pas être
aussi simples avec Linux. C'est à vous
de vous assurer que l'ensemble de votre équipement ne connaît pas
de conflit.
Dans la plupart des cas, l'IRQ4 est utilisée par le premier port série
(/dev/ttyS0 ), l'IRQ3 par le second (/dev/ttyS1 ) (en
supposant que vous ayez réellement ces périphériques -- sinon vous pouvez en
toute quiétude utiliser leur IRQ), l'IRQ5 pour certains adaptateurs SCSI, et
l'IRQ12 pour certaines cartes réseau. Avoir une carte utilisant l'IRQ12 est
un sérieux problème, dans la mesure où généralement, vous ne pouvez utiliser
que l'IRQ12 pour le port PS/2.
Pour les souris ATI-XL, Inport et Logitech, le noyau utilise par défaut
l'IRQ5, donc si vous êtes forcé d'utiliser un noyau pré-compilé (par exemple
si vous utilisez Linux à partir d'un CD-ROM), vous devrez faire avec. Si vous
utilisez une souris Inport ou Logitech avec un noyau plus récent, vous
devriez pouvoir passer une option par la ligne de commande au noyau, lui indiquant
les interruptions que vous utilisez, sans avoir à recompiler.
Les souris Inport et Logitech
Si vous ouvrez le capot de votre ordinateur et regardez la carte sur laquelle
se branche votre souris, vous devriez remarquer un bloc de cavaliers sur la
carte (avec un peu de chance, il sera indiqué "INTERRUPT"), avec les
positions pour les interruptions (aussi appelées IRQ) numéro 2,3,4 et 5. Pour
changer d'interruption, déplacez simplement le cavalier de sa position
actuelle à la paire de connecteurs appropriée.
Les souris ATI-XL
Les souris ATI-XL, ainsi que quelques autres souris ATI, ont une interruption
réglable par logiciel -- vous devriez avoir reçu avec votre souris un
programme MS-DOS (VSETUP.EXE ) pour régler l'IRQ. Pour ce faire, vous
devez (provisoirement) redémarrer sous MS-DOS et exécuter ce programme. Notez
que le programme VSETUP reconnaît un paramètre optionnel « /70 »
pour augmenter le taux de rafraîchissement vertical (ce qui diminue le
scintillement). Le programme VSETUP vous permet également de choisir entre
l'adresse primaire et l'adresse secondaire -- vous avez intérêt à
sélectionner l'adresse primaire, sinon le noyau ne sera pas capable de
détecter votre souris.
Une fois que VSETUP aura été exécuté, vous devrez faire un redémarrage
à froid (hard reset) pour que la nouvelle configuration prenne effet.
Les souris PS/2
Les souris PS/2 utilisent toujours l'IRQ 12 -- il n'y a aucun moyen de le
changer (sinon au fer à souder). Dans le cas (rare) où un autre périphérique
utilise l'IRQ 12, il vous faudra le reconfigurer pour qu'il utilise une autre
ligne d'interruption.
3.2 Configuration du noyau
Pour que votre souris bus fonctionne correctement, vous devrez recompiler le
noyau en y intégrant le support de souris bus. Si vous utilisez un noyau
précompilé, sachez que ces noyaux sont souvent munis d'un support intégré des
trois souris bus. Ce ne sera peut-être pas suffisant. Le noyau pourrait
essayer d'utiliser une mauvaise interruption, ou la détection pourrait
s'embrouiller et se tromper de type de souris.
Dans la série pre-2.4 des noyaux il n'y a pas de support pour
l'auto-détection de l'IRQ qu'une souris à bus utilise. Donc si votre
carte est configurée pour autre chose que la valeur par défaut IRQ5 du
noyau, vous allez avoir besoin de faire reconnaître au noyau l'IRQ
effectivement utilisée. Cela peut être fait plusieures manières. La
plus simple est de passer l'information au noyau au moment du
démarrage dans une ligne de commande. Lire s'il-vous-plait la section
Compilation du noyau mais après avoir d'abord
lu la section
Modification des interruptions sous un noyau récent. Une grande aide dans ce type de problème : le
Bootprompt-HOWTO, disponible sur la plupart des sites qui distribuent
ce HOWTO.
Compilation du noyau
Allez dans le répertoire du noyau (on suppose ici qu'il s'agit de
/usr/src/linux ) et faites un
Si vous n'êtes pas sûr du type de votre souris, la première fois que vous
recompilez le noyau, vous pouvez sélectionner toutes les souris bus qui vous
sont proposées en option, dans l'espoir que le noyau détecte automatiquement
le bon type. Cette méthode a un succès mitigé : ça ne marche pas
toujours, mais d'un autre côté ça peut vous éviter d'avoir à recompiler le
noyau plusieurs fois.
Répondez "y"ou "m" à la question concernant votre type d'interface et
"n" à toutes les autres questions concernant les souris bus. Utilisez
l'option "m" si la configuration de votre système permet le chargement des
modules. Si ce n'est pas le cas, ou si vous ne pas comprenez de quoi il
s'agit, il n'y a aucun inconvénient à répondre "y", ce qui intégrera
directement le support dans le noyau.
Par exemple, si vous avez une souris Inport, vous devrez répondre "y"
à la question
Microsoft busmouse support
et "n" à toutes les autres questions sur les souris bus. Répondez
comme d'habitude à toutes les questions qui ne concernent pas les souris.
Pour compiler le noyau avec le support des souris PS/2, répondez
"y" à la question
PS/2 mouse (aka "auxiliary device") support
Le pilote de souris PS/2 reconnaît en fait deux types de périphériques :
le contrôleur standard PS/2 et une interface PS/2 spéciale de Chips &Technologies, qui est utilisée pour les portables Texas Instruments
Travelmate et Gateway Nomad. Pour compiler le support des trackballs sur
ces machines, répondez "y" à la question
C&T 82C710 mouse port support (as on TI Travelmate)
Notez que vous devrez auparavant avoir répondu "y" à la question sur le
pilote PS/2 standard pour avoir la possibilité de répondre à cette question,
puisque le pilote 82C710 en est en fait un supplément.
Lorsqu'il est configuré à la fois pour une interface PS/2 standard et
pour le contrôleur 82C710, le pilote recherche d'abord une puce
82C710 lors du démarrage. S'il échoue, le pilote standard est utilisé à la
place, donc un noyau configuré pour les deux types d'interfaces devrait aussi
fonctionner sur une machine dotée d'un port PS/2 standard. Toutefois, il y a
eu un cas rapporté où le pilote a détecté par erreur un processeur 82C710,
alors pour mettre toutes les chances de votre côté, ne choisissez pas le
support du 82C710 si vous n'en avez pas besoin.
Compilez votre nouveau noyau et redémarrez normalement.
Maintenant, vous allez pouvoir indiquer au noyau quelle interruption est
utilisée par votre souris. Vous pouvez sauter cette étape si vous avez une
souris PS/2, qui utilise toujours l'IRQ 12.
Si vous avez une souris Logitech, Inport, ou une souris ATI qui utilise le
protocole Logitech, éditez le fichier
/usr/src/linux/include/linux/busmouse.h et changez la ligne :
#define MOUSE_IRQ 5
pour correspondre à l'IRQ réellement utilisée par votre souris (Cf. la
section
Réglage de l'interruption de la souris pour
des détails concernant le réglage de l'IRQ)
Si vous avez une souris ATI-XL, éditez le fichier
/usr/src/linux/drivers/char/atixlmouse.c et changez la ligne :
#define ATIXL_MOUSE_IRQ 5
pour correspondre à l'IRQ réellement utilisée par votre souris.
À cause des caprices de l'architecture PC, si votre souris utilise l'IRQ 2,
vous devez écrire IRQ 9 dans le #define .
Exemples :
Pour une souris sur l'IRQ 3, modifiez la ligne comme suit :
#define MOUSE_IRQ 3
Pour une souris sur l'IRQ 2, modifiez la ligne comme suit :
#define MOUSE_IRQ 9
Ensuite, compilez le noyau selon les instructions qui l'accompagnent et
redémarrez avec le nouveau noyau. Le support de votre souris bus devrait
maintenant être correctement inclus dans le noyau compilé.
Modification des interruptions avec un noyau récent
Ces indications concernant la modification des interruptions utilisées par le
noyau fonctionnent avec n'importe quelle version. Les noyaux plus récents (à
partir de quelque part dans les 2.x.x) permettent de passer des arguments au
noyau pendant le démarrage, par le biais de LILO ou LOADLIN, afin de préciser
le numéro d'interruption concernant les souris Logitech et Microsoft Inport.
Cela peut vous faire gagner pas mal de temps si vous pouvez éviter de
recompiler le noyau (ou d'apprendre à le faire). Si vous avez configuré votre
noyau de façon à charger le pilote souris en tant que module, vous devrez
alors faire passer ces informations au chargement du module.
Vos pouvez ajouter les options suivantes à la ligne de commande lors
de votre démarrage avec LILO :
Remplacez les 3 par le numéro d'interruption de votre souris. Voici un
exemple de cette méthode avec LILO :
LILO:linux msmouse=3
Vous pouvez consulter vos documentations de LILO et LOADLIN pour savoir
comment ajouter des informations à leurs fichiers de configuration, afin de
ne pas avoir à les taper à la main à chaque démarrage.
Si vous utilisez les modules, vous pouvez définir les
interruptions manuellement, en utilisant insmod comme suit :
Si votre système utilise kerneld pour charger les modules
automatiquement, vous pouvez éditer votre fichier /etc/conf.modules
ou /etc/modules.conf (celui que votre système utilise), et y ajouter
une des lignes suivantes :
3.3 Les périphériques associés aux souris.
Sous Linux, on accède aux souris via les périphériques du répertoire
/dev . Le tableau qui suit donne la liste des types d'interfaces et
les périphériques associés.
- Note :
Si vous utilisez votre souris ATI-XL avec le pilote Inport,
vous devez utiliser le périphérique /dev/inportbm , et non pas le
périphérique /dev/atibm .
Les colonnes majeur et mineur donnent les numéros de périphérique
correspondants.
Si vous n'avez pas ces périphériques, il vous faut tout d'abord les créer.
Pour ce faire, vous devez exécuter ce qui suit (en tant que root)
- Note :
Il y a un certain temps dans l'histoire (de moins en moins)
récente de Linux, le nom des périphériques a changé. Les noms suivants ont
été remplacés par ceux donnés plus haut, et doivent être effacés :
bmousems, bmouseps2, bmouseatixl, bmouselogitech .
Nombreux sont ceux qui aiment à créer un lien symbolique entre le
périphérique associé à leur souris et /dev/mouse de façon à ne pas
avoir à se rappeler quel périphérique ils doivent utiliser. Si vous avez une
distribution récente de Linux, vous avez certainement un tel lien. Si c'est
le cas, ou si vous créez ce lien, assurez-vous qu'il pointe bien sur le
périphérique correspondant à votre type de souris.
[22 février 2002, JDNet]
|