4. Port Série
Il vous faut trouver un port série de libre et une irq de libre sur votre machine. Rappel:
COM1 -> /dev/ttyS0
COM2 -> /dev/ttyS1
COM3 -> /dev/ttyS2
COM4 -> /dev/ttyS3
Il importe de connaitre l'adresse du port série afin d'utiliser setserial
Détection des ports série par le noyau:
$ dmesg |grep ttyS
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
ttyS02 at 0x03e8 (irq = 4) is a 16550A
Les adresses 0x03f8, 0x02f8 ..., sont des valeurs par défaut dans le noyau linux. Vous devez connaître celle de votre port série si elle est différente (en général, ce sont les mêmes).
Pour exemple, prenons exemple ttyS02 comme port série.
Regardons les valeurs par défaut:
$ setserial /dev/ttyS2
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 4
Si vous avez un message du type UART: unknown, c'est que le noyau ne l'a pas détecté à l'adresse (port) en question. C'est mauvais pour vous.
Configurons le :
$ setserial /dev/ttyS2 uart 16550A port 0x03e8 \
baud_base 115200 spd_normal skip_test auto_irq
Vérifions le:
$ setserial /dev/ttyS2
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 5
Vous remarquez que l'irq est passée à 5.
Testons le port série:
cat /dev/ttyS2 | od
0000000 033230 043013 114005 005424 002524 070630 064412 114005
0000020 005121 003001 033230 013412 114006 005040 003052 007630
0000040 035012 114006 005003 003103 075630 043011 114006 004566
...
En bougeant le stylet, vous devez voir plein de chiffres apparaître. Si vous avez une sortie du type :
cat /dev/ttyS2 | od
cat: /dev/ttyS2: Input/output error
0000000
C'est que le port série est mal configuré.
Partager