GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana menemukan semua perangkat serial (ttyS, ttyUSB, ..) di Linux tanpa membukanya?

Di kernel baru-baru ini (tidak yakin sejak kapan) Anda dapat membuat daftar konten /dev/serial untuk mendapatkan daftar port serial di sistem Anda. Mereka sebenarnya adalah symlink yang menunjuk ke node /dev/ yang benar:

[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

Ini adalah adaptor USB-Serial, seperti yang Anda lihat. Perhatikan bahwa ketika tidak ada port serial pada sistem, direktori /dev/serial/ tidak ada. Semoga ini bisa membantu :).


/sys filesystem harus berisi banyak informasi untuk pencarian Anda. Sistem saya (2.6.32-40-generik #87-Ubuntu) menyarankan:

/sys/class/tty

Yang memberi Anda deskripsi semua perangkat TTY yang diketahui sistem. Contoh yang dipangkas:

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

Mengikuti salah satu tautan ini:

# 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

Ini dev file berisi informasi ini:

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

Ini adalah simpul mayor/minor. Ini dapat dicari di /dev direktori untuk mendapatkan nama yang mudah digunakan:

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

/sys/class/tty dir berisi semua perangkat TTY tetapi Anda mungkin ingin mengecualikan terminal virtual dan terminal semu yang mengganggu itu. Saya sarankan Anda memeriksa hanya yang memiliki device/driver entri:

# 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. Cara Mendaftar atau Mengurutkan Semua File berdasarkan Ukuran di Linux

  2. Bagaimana Menemukan Semua File yang Dimiliki oleh Pengguna Tertentu di Unix/Linux?

  3. Bagaimana menemukan semua file yang lebih besar dari ukuran 1GB di Linux?

  1. Bagaimana menemukan semua file yang jarang di Linux

  2. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?

  3. gzip semua file tanpa menghapusnya

  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Cara Menemukan Semua Pengguna Sudo Di Linux

  3. Bagaimana cara mendaftar semua file partisi di linux?