Il n'y a pas de modules à charger pour permettre au clavier et à la
souris d'être détectés. Les périphériques série normaux (de COM1 à
COM4 sous DOS/Windows) sont auto-détectés à l'amorçage et sont disponibles
en tant que fichiers périphériques /dev/ttyS0
à /dev/ttyS3. Un message au démarrage tel
que celui-ci:
Serial driver version 4.27
with MANY_PORTS MULTIPORT SHARE_IRQ enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A |
En revanche, les cartes série à ports multiples peuvent s'avérer difficile à configurer. Ces périphériques forment une catégorie spéciale de matériel. Pour la plupart, ces périphériques utilisent une puce 16550A UART (Universal Asynchronous Receiver Transmitter) qui est analogue à celle du port série intégré dans votre carte-mère. Le code série générique du noyau les supporte, et vous ne devriez pas utiliser un module séparé. La puce UART consitue réellement le port série et est caractérisée par des sous-types 8250, 16450, 16550, 16550A, 16650, 16650V2 et 16750.
Pour faire fonctionner ces cartes, il vous faudra utiliser la commande
setserial. Elle consite à configurer
le pilote série intégré au noyau. Un cas typique: la carte ISA non-PnP
à 8 ports et à cavaliers (IRQ 5; ports
E/S 0x180-0x1BF). Notez que, contrairement
à la plupart des périphériques, beaucoup de périphériques série peuvent
partager la même IRQ [La raison en est que les
périphériques série utilisent un port E/S pour indiquer le périphérique
qui envoie une interruption. La CPU vérifie chaque périphérique série
chaque fois qu'une interruption a lieu]. La carte est configurée
avec ce script:
cd /dev
./MAKEDEV -v ttyS4 ./MAKEDEV -v ttyS5 ./MAKEDEV -v ttyS6 ./MAKEDEV -v ttyS7 ./MAKEDEV -v ttyS8 ./MAKEDEV -v ttyS9 ./MAKEDEV -v ttyS10 ./MAKEDEV -v ttyS11 /bin/setserial -v /dev/ttyS4 irq 5 port 0x0180 uart 16550A skip_test /bin/setserial -v /dev/ttyS5 irq 5 port 0x0188 uart 16550A skip_test /bin/setserial -v /dev/ttyS6 irq 5 port 0x0190 uart 16550A skip_test /bin/setserial -v /dev/ttyS7 irq 5 port 0x0198 uart 16550A skip_test /bin/setserial -v /dev/ttyS8 irq 5 port 0x01A0 uart 16550A skip_test /bin/setserial -v /dev/ttyS9 irq 5 port 0x01A8 uart 16550A skip_test /bin/setserial -v /dev/ttyS10 irq 5 port 0x01B0 uart 16550A skip_test /bin/setserial -v /dev/ttyS11 irq 5 port 0x01B1 uart 16550A skip_test |
Les périphériques série engendrent d'innombrables problèmes. Le Serial-HOWTO est d'ailleurs très long. Il vous aidera très certainement à résoudre d'éventuels problèmes car il contient de nombreuses données techniques et discute en profondeur du support spécial du noyau dans le cas de nombreuses cartes non-standards.