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

Есть быстрые и простые способы сделать это с Bash в качестве оболочки, но они не очень безопасны. (Прошло несколько недостатков безопасности, найденных в последних нескольких годах с директивой authorized_keys 'Directive и с переменными среды Bash. Должно быть в безопасности сейчас, если нет другой скрытой ошибки ...)

, если вы хотите сделать Это благополучно, но все же хочу написать скрипт в Bash для отображения вывода, я бы предложил написать небольшую программу C для выполнения оболочки, которая выполняется и отображает выход из вашего скрипта Bash. Программа C должна игнорировать свои аргументы и Сбросьте окружающую среду в безопасную по умолчанию, а затем Fork / Exec () ваш сценарий Bash с помощью stdin / dev / null. Таким образом, пользователь не имеет абсолютно никакого способа взаимодействовать с скриптом. Я могу предоставить пример, если вам нужно.

0
13.04.2017, 15:32
3 ответа

Linux использует ttysx для имени устройства последовательного порта. Например, COM1 (имя DOS / Windows) - ttys0, com2 - ttys1 и так далее.

  1. Прикрепите свой микроконтроллер до последовательного порта и типа DMESG | GREP TTY Команда проверять, обнаруживается ли она или нет.

  2. Если все ваши слоты являются PCI, последовательный порт, вероятно, будет на шине ISA или шина LPC (также называется «интерфейс LPC»). LPC распространен на ноутбуках. Тип « LSPCI « Чтобы увидеть, показывает ли он «LPC»

Теперь для настройки серийного порта, вы должны работать с COTSERIAL COMAD. ( Нажмите здесь , чтобы узнать Cosserial Команда .)

Список литературы:
http://www.cyberciti.biz/faq/find-out-inilec-serial-ports -С-Setserial / http://www.tldp.org/howto/serial-howto-8.html

1
28.01.2020, 02:36

Я бы запустил LSOF как root, а затем проверять, какие процессы имеют / dev / tty * открытыми файлами. Затем отследите процесс, чтобы определить, что они делают.

1
28.01.2020, 02:36

Я использую компьютер с двумя внешними последовательными контроллерами для подключения к двум различным системам BMS. Запуск двух проигрывателей vmware на debian weezy с разными операционными системами в каждом и подключение одного последовательного порта к каждой машине vmware! Проблема заключалась в том, что один или оба последовательных порта непредсказуемо не подключались к vmware или отображались так, как будто они использовались другим приложением. После нескольких часов поиска в журнале, смены оборудования и т. д. я заметил в / var / log / syslog modemmanager , который звонит всем ttyS *, пытаясь идентифицировать подключенный модем! {{ 1}} Я удалил его с помощью "apt-get remove modemmanager", и проблема решена! Я считаю, что при попытке найти подключенные устройства порты оставались или устройства, подключенные к портам, не были готовы!

0
28.01.2020, 02:36

Теги

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