web-dev-qa-db-fra.com

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 allé dans:

/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?

28
sivabudh

Je pense que c'est cette commande:

dmesg | grep tty

L'exécuter sur ma propre machine Linux (qui n'a qu'un seul port série) produit une seule ligne de sortie ttyS0. Essayez vous-même, vous verrez ce que je veux dire.

25
sivabudh

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

# 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 (il s'agit de lignes d'entrée), vous pouvez même être presque sûr qu'il y a réellement quelque chose ... Il en va de même pour le nombre d'octets rx.

9
Robert Siemer

Si vous devez effectuer cette opération par programme, la lecture de la sortie de dmesg peut s'avérer gênante. Au lieu de cela, le dossier/dev/serial/by-id contient des liens sym qui portent le nom de données identifiables de votre périphérique et pointent vers le/dev/tty * spécifique. sont connectés à.

Je ne suis pas sûr qu'il s'agisse d'une règle particulière d'udev spécifique à la distribution, mais cela fonctionne bien dans Ubuntu. Faites-moi savoir si cela fonctionne.

6
santileortiz

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

5

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
0
Daniël W. Crompton