Un port d'E/S permet de recevoir des données depuis, et d'en envoyer à partir d'un ordinateur. Il existe plusieurs types de ports d'E/S, comme les ports série, les ports parallèles, les contrôleurs de disques durs, les cartes Ethernet, etc. Les modems et les terminaux dont nous allons traiter n'utilisent que des ports série. Chacun de ces ports possède une adresse d'E/S, et un vecteur d'interruption (IRQ). Les quatre ports série suivants correspondent à COM1 - COM4 :
ttyS0 (COM1) adresse 0x3f8 IRQ 4
ttyS1 (COM2) adresse 0x2f8 IRQ 3
ttyS2 (COM3) adresse 0x3e8 IRQ 4
ttyS3 (COM4) adresse 0x2e8 IRQ 3
Si aucun port série n'est détecté lors de l'amorçage de Linux,
assurez-vous que leur support a été sélectionné et compilé dans
le noyau. Dans ce document, je me réfère à COM1 pour ttyS0
,
COM2 pour ttyS1
, COM3 pour ttyS2
, et à COM4 pour
ttyS3
. Par défaut, ces ports ont des IRQ communes, et
vous ne pouvez pas les utiliser simultanément dans cette
configuration. Certaines de ces IRQ doivent être réassignées.
Reportez-vous à la section
Puis-je utiliser plus de deux ports série ?.Sur certaines installations, deux périphériques supplémentaires
vont être créés : /dev/modem
pour le modem et
/dev/mouse
pour la souris. Ce sont des liens
symboliques sur le périphérique approprié (dans le répertoire
/dev
) que vous avez spécifié lors de l'installation.
Si vous possédez une souris de type bus PS/2,
/dev/mouse
pointera correctement sur le périphérique de
la souris bus.
Plusieurs discussions ont porté sur les avantages et
inconvénients de ces pseudo-périphériques /dev/mouse
et
/dev/modem
. Personnellement, je décourage
fortement l'utilisation de ces liens. En particulier, si
vous prévoyez d'employer plusieurs modems pour les connexions
entrantes sur /dev/modem
, des problèmes peuvent
apparaître à cause des fichiers de verrouillage (lock
files). Vous pouvez néanmoins les utiliser si vous le désirez,
mais assurez-vous qu'ils pointent bien sur les bons
périphériques. Cependant, si vous supprimez ces liens,
certaines applications (comme minicom
) peuvent ne plus
fonctionner sans reconfiguration.
/dev
/dev/ttyS0 majeur 4, mineur 64 /dev/cua0 majeur 5, mineur 64
/dev/ttyS1 majeur 4, mineur 65 /dev/cua1 majeur 5, mineur 65
/dev/ttyS2 majeur 4, mineur 66 /dev/cua2 majeur 5, mineur 66
/dev/ttyS3 majeur 4, mineur 67 /dev/cua3 majeur 5, mineur 67
Remarque : toutes les distributions doivent être livrées
avec ces périphériques déjà correctement configurés, ce que vous
pouvez vérifier en tapant les commandes :
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*
/dev
Si un périphérique est absent, vous devez le créer avec la
commande mknod
. Par exemple, pour ttyS0
:
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
Le script MAKEDEV
, situé dans le répertoire /dev
,
peut être utilisé pour simplifier leur création. Par exemple,
pour ttyS0
:
linux# cd /dev
linux# ./MAKEDEV ttyS0
Cette commande crée les périphériques d'entrée et de sortie
correspondants, et positionne également les bonnes permissions.Les périphériques utilisés par les cartes multiports sont
dépendants du type de carte que vous possédez. Ils sont listés
en détail dans le fichier rc.serial
fourni avec le
programme setserial
. Je recommande vivement de
récupérer la version la plus récente de setserial
si vous
devez utiliser une telle carte. Vous devrez alors sûrement créer
ces périphériques, soit avec la commande mknod
, soit avec
le script MAKEDEV
. Ils doivent être déclarés en ajoutant
64 au numéro du port. Par exemple, pour ttyS17
:
linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81
Car ``64 + 17 = 81''. En utilisant le script MAKEDEV
, il
suffit d'entrer :
linux# cd /dev
linux# ./MAKEDEV ttyS17
Remarque : le listing des ports COM5-COM8 pour les IO1812 est erroné dans le manuel SIIG. Les valeurs doivent être remplacées par COM5=0x250, COM6=0x258, COM7=0x260, et COM8=0x268.
Remarque : le registre d'état d'interruption (Interrupt Status Register) de la carte Digi PC/8 se trouve en 0x140.
Remarque : pour la carte AST Fourport, le fichier
rc.serial
doit spécifier le paramètre skip_test
.
Lisez les informations fournies avec le gestionnaire. Ces cartes utilisent des périphériques non-standards. Ces informations varient suivant le matériel.