Відповіді:
Я думаю, що це така команда:
dmesg | grep tty
Запуск цього в моєму власному вікні Linux (який має лише 1 послідовний порт) створює єдиний вихідний рядок ttyS0. Спробуйте самостійно, ви побачите, що я маю на увазі.
ttyщоб отримати ім’я свого tty. Я припускаю, що це означало ОП, оскільки вони не поставили питання, як "який послідовний порт (и) gettyпрацює?"
Подивіться, які UART, де виявлено в /proc/tty/driver/serial. Рядок із uart:unknownзасобами: нічого не виявлено (і, ймовірно, не існує).
# 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
Якщо щось підключено та керує лініями CTS, DSR або CD (це лінії введення), ви навіть можете бути впевнені, що насправді є щось ... Те саме стосується і rx-byte-count.
Якщо вам потрібно зробити це програмно, читання результатів з dmesg може бути проблематичним, натомість папка / dev / serial / by-id має символьні посилання, які названі за ідентифікованими даними вашого пристрою та вказують на конкретні / dev / tty * вони підключені до.
Я не впевнений, чи це якесь особливе правило udev, яке є специфічним для розповсюдження, але воно добре працює в Ubuntu, дайте мені знати, чи працює воно.
ttyS0через 3відповідно до COM1через 4відповідно. Зазвичай вони мають однакові апаратні ресурси та не завжди виявляються, тому вони завжди існують.
setserialдля зіставлення ресурсів, які ttyS0 використовує, до ресурсів вашого послідовного порту. linux.die.net/man/8/setserial Це, як правило, не потрібно, оскільки все, що перебуває за межами COM4, зазвичай має достатньо допоміжного обладнання, щоб Linux міг його виявити та додати послідовний пристрій у відповідних випадках.
Існує також команда, setserialяка використовує /proc/tty/driver/serialдля отримання даних.
# 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