URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8593
[ Назад ]

Исходное сообщение
"Как получить список доступных системе COM портов? "

Отправлено juvf , 20-Янв-10 06:39 
Как получить список доступных системе COM портов в Linux? Раньше искал в /dev файлы типа ttyS*, но что-то тут не так. На моем компе имеется один физический компорт. В /dev есть 4 порта (ttyS0, ttyS1, ttyS2, ttyS3). Но, например когда пытаюсь добавить в систему принтер, визард просит выбрать порт и показывает только ОДИН доступный компорт. Всё правильно, порт всего один. Хотя в девах их 4, в визарде только 1. На другом компе физически есть 1 компорт, а в /dev их аш 5. Как из кода в Linux-e можно получить список доступных компортов? или как проверить все  ttyS0, ttyS1, ttyS2, ttyS3 и найти среди них рабочий(е)(реальный(е))?

Содержание

Сообщения в этом обсуждении
"Как получить список доступных системе COM портов? "
Отправлено ACCA , 21-Янв-10 18:37 
>Как получить список доступных системе COM портов в Linux? Раньше искал в

a) grep serial /proc/ioports
b) cat /proc/tty/driver/serial
c) dmesg | grep ttyS
d) setserial -g /dev/ttyS[0-9] | grep -v unknown

setserial получает информацию о порте через ioctl = TIOCGSERIAL.


"Как получить список доступных системе COM портов? "
Отправлено juvf , 08-Фев-10 08:06 
2ACCA

Спасибо. Таким образом смог выделить из всех ttyS* только рабочие. А можно подобным образом получить инфу о портах типа ttyUSB*? Или достаточно по наличию в /dev/ttyUSB0 определить, что такой порт доступен системе?



"Как получить список доступных системе COM портов? "
Отправлено ACCA , 10-Фев-10 23:44 
>подобным образом получить инфу о портах типа ttyUSB*? Или достаточно по
>наличию в /dev/ttyUSB0 определить, что такой порт доступен системе?

Смотря откуда этот /dev/ttyUSB* взялся. Если его udev или ещё какой hal сделал - почти достаточно.

Посмотри, что такое /dev. Если udev filesystem, то скорее всего можно - /dev/ttyUSB* создаются и убираются динамически, если udev скрипт не глюканул.

Сделай `lshal', почитаешь много интересного про ttyUSB. dmesg | grep ttyUSB тоже поможет.