2010-04-14 21:10:13 +0000 2010-04-14 21:10:13 +0000
33
33

Comment savoir quel /dev/ttyS* est mon port série ?

J'ai un ordinateur portable qui n'a qu'un seul port série.

je suis entré :

/dev

répertoire, et j'ai trouvé :

ttyS0
ttyS1
ttyS2
ttyS3

Comment savoir lequel de ces “ttyS” fait référence à mon port série ?

Réponses (5)

34
34
34
2010-04-14 21:24:54 +0000

Je pense que c'est cette commande :

dmesg | grep tty

L'exécution de cette commande sur mon propre boîtier Linux (qui n'a qu'un seul port série) produit une seule ligne de sortie ttyS0. Essayez-le vous-même, vous verrez ce que je veux dire.

14
14
14
2016-06-30 15:45:47 +0000

Voir quels UART ont été détectés dans /proc/tty/driver/serial. Une ligne avec uart:unknown signifie : rien détecté (et probablement inexistant).

# cat /proc/tty/driver/serial 
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3

Si quelque chose est connecté et pilote les lignes CTS, DSR ou CD (ce sont des lignes d'entrée), vous pouvez même être presque sûr qu'il y a vraiment quelque chose… C'est la même chose pour le comptage des rx-byte.

7
7
7
2014-12-20 13:55:13 +0000

Si vous devez le faire par programmation, la lecture de la sortie du dmesg peut être gênante. Au lieu de cela, le dossier /dev/serial/by-id a des liens sym qui sont nommés d'après des données identifiables de votre appareil et qui pointent vers le /dev/tty spécifique auquel ils sont connectés.

Je ne suis pas sûr qu'il s'agisse d'une règle spéciale d'Udev spécifique à la distribution, mais elle fonctionne bien dans Ubuntu, faites-moi savoir si elle fonctionne.

6
6
6
2010-04-14 21:17:04 +0000

ttyS0 à 3 correspondent respectivement à COM1 à 4. Ils ont généralement les mêmes ressources matérielles et ne sont pas toujours détectables, donc ils existent toujours.

1
1
1
2016-09-12 15:19:53 +0000

Il y a aussi la commande setserial qui utilise /proc/tty/driver/serial pour obtenir ses données.

# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3