La lecture de cette section n'est pas indispensable, à moins de vouloir utiliser plus de 2 ports série...(sans disposer d'une carte multiports).
Du moment qu'il vous reste un port série inutilisé, tout à fait.
Le nombre de ports série utilisable n'est limité que par le nombre d'interruptions (IRQ) et de ports d'entrée/sortie disponibles. Chaque périphérique série doit posséder un IRQ et une adresse de port I/O qui lui sont propres. Un périphérique série peut être un port série, un modem interne, ou une carte multisérie.
Les cartes multisérie rassemblent tous leurs ports série sur un seul IRQ. Linux échange des données avec les ports en utilisant une adresse d'I/O spécifique à chacun des ports série de la carte.
Par défaut, votre PC est configuré avec ttyS0
et ttyS2
sur
l'IRQ 4, et ttyS1
et ttyS3
sur l'IRQ 3. Pour utiliser plus
de 2 périphériques série, il va falloir sacrifier une interruption.
On suggère de détourner une interruption du port parallèle ~: les
PC sont configurés en standard pour l'utilisation de IRQ 5 et 7 par
les ports parallèles, mais il est rare qu'on utilise 2 ports parallèles.
Il est donc possible de détourner l'un des 2 IRQ au profit d'un
périphérique série, via setserial
, et de continuer à disposer
d'un port parallèle. Il faudra certainement tripoter les cavaliers de
vos cartes, afin que chaque port corresponde à l'IRQ choisi~; consultez
leurs documentations respectives.
En tout état de cause, il ne doit y avoir qu'une et une seul IRQ par
périphérique série. Voici comment les miens sont configurés dans
/etc/rc.d/rc.local
- vous devez le faire à un moment ou un autre
de l'initialisation~:
/etc/setserial /dev/cua0 irq 3 # ma souris
/etc/setserial /dev/cua1 irq 4 # mon terminal Wyse
/etc/setserial /dev/cua2 irq 5 # mon modem Zoom
/etc/setserial /dev/cua3 irq 9 # mon modem USR
Affectations d'IRQ standard~:
IRQ 0 Sequenceur systeme
IRQ 1 Clavier
IRQ 2 Cascade sur le second controleur d'interruption
IRQ 3 Premier port serie
IRQ 4 Deuxieme port serie
IRQ 5 Deuxieme port parallele
IRQ 6 Lecteur de disquette
IRQ 7 Premier port parallele
IRQ 8 Horloge temps reel
IRQ 9 redirige sur IRQ2
IRQ 10 Libre
IRQ 11 Libre
IRQ 12 Libre
IRQ 13 Coprocesseur mathematique
IRQ 14 Controleur de disque dur
IRQ 15 Libre
Il n'y a pas vraiment de manière Politiquement Correcte de choisir les IRQ. La seule chose à faire est de s'assurer qu'ils sont libres. 2,3,4,5 et 7 sont des candidats valables. ``Libre'' signifie que pour l'heure, aucune utilisation standard de l'IRQ n'est connue. On notera que IRQ 2 et IRQ 9 sont équivalents~; vous pouvez l'appeler 2 ou 9, le pilote série est extrêmement complaisant.
Avec les cartes série 16 bits, il est également possible d'utiliser les IRQ 10, 11, 12 et 15.
N'utilisez pas les IRQ 0, 1, 6, 8, 13 et 14~! Elles sont nécessaires au fonctionnement de la carte-mère. En lui prenant ses IRQ, vous lui feriez beaucoup de peine.
Il faut ensuite fixer les adresses de ports d'entrée/sortie. Consultez le manuel de votre carte pour toute manipulation de cavaliers. A l'instar des interruptions, chaque adresse de port ne peut correspondre qu'à un seul périphérique série. La configuration standard des ports d'entrée/sortie est la suivante~:
ttyS0 addresse 0x3f8
ttyS1 addresse 0x2f8
ttyS2 addresse 0x3e8
ttyS3 addresse 0x2e8
Choisissez les adresses de vos périphériques série, et positionnez
les cavaliers en conséquence. Mon modem est sur ttyS3
,
ma souris sur ttyS0
et mon terminal sur ttyS2
.
Au prochain démarrage, Linux 'verra' vos ports série aux adresses
que vous avez configurées. Les IRQ affichées peuvent en revanche
ne pas correspondre aux positionnements de cavaliers. Ne vous en
inquiétez pas. Linux ne cherche pas à détecter les IRQ lors de
l'initialisation, car le processus est hasardeux et peu fiable.
Il est nécessaire de lancer setserial
pour informer Linux
des IRQ utilisés par les ports.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre