GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver tous les périphériques série (ttyS, ttyUSB, ..) sous Linux sans les ouvrir ?

Dans les noyaux récents (vous ne savez pas depuis quand), vous pouvez lister le contenu de /dev/serial pour obtenir une liste des ports série de votre système. Ce sont en fait des liens symboliques pointant vers le bon nœud /dev/ :

[email protected]:~$ ls /dev/serial/
total 0
drwxr-xr-x 2 root root 60 2011-07-20 17:12 by-id/
drwxr-xr-x 2 root root 60 2011-07-20 17:12 by-path/
[email protected]:~$ ls /dev/serial/by-id/
total 0
lrwxrwxrwx 1 root root 13 2011-07-20 17:12 usb-Prolific_Technology_Inc._USB-Serial_Controller-if00-port0 -> ../../ttyUSB0
[email protected]:~$ ls /dev/serial/by-path/
total 0
lrwxrwxrwx 1 root root 13 2011-07-20 17:12 pci-0000:00:0b.0-usb-0:3:1.0-port0 -> ../../ttyUSB0

Il s'agit d'un adaptateur USB-série, comme vous pouvez le voir. Notez que lorsqu'il n'y a pas de ports série sur le système, le répertoire /dev/serial/ n'existe pas. J'espère que cela vous aidera :).


Le /sys Le système de fichiers devrait contenir de nombreuses informations pour votre quête. Mon système (2.6.32-40-generic #87-Ubuntu) suggère :

/sys/class/tty

Ce qui vous donne des descriptions de tous les périphériques TTY connus du système. Un exemple simplifié :

# ll /sys/class/tty/ttyUSB*
lrwxrwxrwx 1 root root 0 2012-03-28 20:43 /sys/class/tty/ttyUSB0 -> ../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/ttyUSB0/tty/ttyUSB0/
lrwxrwxrwx 1 root root 0 2012-03-28 20:44 /sys/class/tty/ttyUSB1 -> ../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/ttyUSB1/tty/ttyUSB1/

En suivant l'un de ces liens :

# ll /sys/class/tty/ttyUSB0/
insgesamt 0
drwxr-xr-x 3 root root    0 2012-03-28 20:43 ./
drwxr-xr-x 3 root root    0 2012-03-28 20:43 ../
-r--r--r-- 1 root root 4096 2012-03-28 20:49 dev
lrwxrwxrwx 1 root root    0 2012-03-28 20:43 device -> ../../../ttyUSB0/
drwxr-xr-x 2 root root    0 2012-03-28 20:49 power/
lrwxrwxrwx 1 root root    0 2012-03-28 20:43 subsystem -> ../../../../../../../../../../class/tty/
-rw-r--r-- 1 root root 4096 2012-03-28 20:43 uevent

Ici le dev le fichier contient ces informations :

# cat /sys/class/tty/ttyUSB0/dev
188:0

C'est le nœud majeur/mineur. Ceux-ci peuvent être recherchés dans le /dev répertoire pour obtenir des noms conviviaux :

# ll -R /dev |grep "188, *0"
crw-rw----   1 root dialout 188,   0 2012-03-28 20:44 ttyUSB0

Le /sys/class/tty dir contient tous les périphériques TTY, mais vous souhaiterez peut-être exclure ces terminaux virtuels et pseudo-terminaux embêtants. Je vous suggère d'examiner uniquement ceux qui ont un device/driver entrée :

# ll /sys/class/tty/*/device/driver
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS0/device/driver -> ../../../bus/pnp/drivers/serial/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS1/device/driver -> ../../../bus/pnp/drivers/serial/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS2/device/driver -> ../../../bus/platform/drivers/serial8250/
lrwxrwxrwx 1 root root 0 2012-03-28 19:07 /sys/class/tty/ttyS3/device/driver -> ../../../bus/platform/drivers/serial8250/
lrwxrwxrwx 1 root root 0 2012-03-28 20:43 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../../bus/usb-serial/drivers/ftdi_sio/
lrwxrwxrwx 1 root root 0 2012-03-28 21:15 /sys/class/tty/ttyUSB1/device/driver -> ../../../../../../../../bus/usb-serial/drivers/ftdi_sio/

Linux
  1. Comment trouver la liste de tous les ports ouverts sous Linux

  2. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  3. Linux - Comment Gnome redémarre-t-il sans privilèges root ?

  4. Comment trouver l'utilisation de l'inode du système de fichiers sous Linux

  5. Comment lister tous les fichiers d'une partition sous Linux ?

Comment étendre la partition racine XFS sans LVM sous Linux

Comment trouver les périphériques connectés au réseau sous Linux

Comment lister tous les utilisateurs sous Linux

Comment trouver des fichiers en double sous Linux et les supprimer

Comment trouver toutes les polices installées sous Linux

gzip tous les fichiers sans les supprimer