Jawaban:
Saya pikir ini perintah ini:
dmesg | grep tty
Menjalankan itu pada kotak Linux saya sendiri (yang hanya memiliki 1 port Serial) menghasilkan jalur output ttyS0 tunggal. Cobalah sendiri, Anda akan melihat apa yang saya maksud.
tty
untuk mendapatkan nama tty Anda. Saya berasumsi itulah yang dimaksud OP karena mereka tidak mengajukan pertanyaan sebagai "yang memiliki port serial getty
berlari? "
Lihat UART mana yang terdeteksi di /proc/tty/driver/serial
. Sebuah garis dengan uart:unknown
berarti: tidak ada yang terdeteksi (dan kemungkinan tidak ada).
# 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
Jika ada sesuatu yang terhubung dan menggerakkan garis CTS, DSR atau CD (ini adalah jalur input) Anda bahkan dapat cukup yakin bahwa sebenarnya ada sesuatu ... Hal yang sama berlaku untuk rx-byte-count.
Jika Anda perlu melakukan ini secara program, membaca output dari dmesg dapat merepotkan, sebaliknya folder / dev / serial / by-id memiliki tautan sym yang dinamai setelah data yang dapat diidentifikasi dari perangkat Anda dan menunjuk ke spesifik / dev / tty * terhubung ke.
Saya tidak yakin apakah ini adalah beberapa aturan udev khusus yang spesifik untuk distribusi, tetapi berfungsi dengan baik di Ubuntu, beri tahu saya jika itu berfungsi.
ttyS0
melalui 3
sesuai dengan COM1
melalui 4
masing-masing. Mereka biasanya memiliki sumber daya perangkat keras yang sama dan tidak selalu dapat dideteksi, sehingga selalu ada.
setserial
untuk memetakan sumber daya yang ttyS0 gunakan untuk port serial Anda. linux.die.net/man/8/setserial Ini biasanya tidak diperlukan, karena apa pun di luar COM4 biasanya memiliki perangkat keras tambahan yang cukup untuk memungkinkan Linux mendeteksi dan menambahkan perangkat serial yang sesuai.
Ada juga perintahnya setserial
yang menggunakan /proc/tty/driver/serial
untuk mendapatkan data itu.
# 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