Как найти, какой последовательный порт используется?

Попытайтесь создать резервную копию или очистить Ваш ~/.config/Trolltech.conf

33
05.04.2016, 13:24
1 ответ

К сожалению, последовательные порты не поддерживают PlugNPlay, поэтому ядро ​​не знает, какое устройство было подключено. После прочтения учебника HowTo I у меня есть рабочая идея.

Каталог / dev / операционных систем типа Unix содержит файлы с именами ttySn (где n - число) . Большинство из них не соответствует существующим устройствам. Чтобы узнать, какие из них работают, введите команду:

$ dmesg | grep ttyS
[    0.872181] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    0.892626] 00:07: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    0.915797] 0000:01:01.0: ttyS4 at I/O 0x9800 (irq = 19) is a ST16650V2
[    0.936942] 0000:01:01.1: ttyS5 at I/O 0x9c00 (irq = 18) is a ST16650V2

Выше приведен пример вывода моего ПК. Вы можете увидеть инициализацию нескольких последовательных портов:

ttyS0 , ttyS1 , ttyS4 , ttyS5 .

Один из них будет иметь положительное напряжение на подключенном устройстве. Итак, сравнив содержимое файла / proc / tty / driver / serial с и без подключив устройство, мы можем легко найти ttyS , относящийся к нашему устройству. Итак, теперь выполните:

$ sudo cat /proc/tty/driver/serial> /tmp/1

(отключите) подключите устройство

$ sudo cat /proc/tty/driver/serial> /tmp/2

Затем проверьте разницу между двумя файлами.Ниже представлен вывод моего ПК:

$ diff /tmp/1 /tmp/2
2c2
< 0: uart:16550A port:000003F8 irq:4 tx:6 rx:0
---
> 0: uart:16550A port:000003F8 irq:4 tx:6 rx:0 CTS|DSR

Сравнивая три числа с выводом dmesg, мы можем определить, какой из них является портом:

[    0.872181] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

Следовательно, наше устройство - / dev / ttyS0 , миссия выполнена !

35
27.01.2020, 19:37

Теги

Похожие вопросы