Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Socat изо всех сил пытается создать последовательные порты

Автор вопроса: ullixОтветов: 1

В целях тестирования я хочу использовать socat для создания виртуальных последовательных портов для использования в моей программе Python.

У меня ограниченный успех, но я снова и снова борюсь со многими вариантами в сокат. Я использую эту команду в Ubuntu Linux:

sudo socat -d -d  pty,b9600,raw,echo=0,link=/dev/ttyS90    pty,b9600,raw,echo=0,link=/dev/ttyS91

Как и должно быть, он создает виртуальные порты, такие как /dev/pts/2 и 4, и связывает их с /dev/ttyS90 и *91. Без sudo не работает (не работает отвязка для портов *90, *91, хотя обычный пользователь находится в группе дозвона).

введите здесь описание изображения

Но, как вы видите, разрешения "lrwxrwxrwx" выглядят как чтение/запись для всех. Однако это НЕ соответствует действительности: я НЕ МОГУ использовать эти устройства, если я не являюсь пользователем root. Файловый менеджер (=Nemo) дает такой результат:

введите здесь описание изображения

Разрешения существенно отличаются. Хм?

После выдачи "sudo chmod 777 /dev/ttyS90" (и то же самое для *91) в выводе терминала ничего не меняется, потому что он уже, но неправильно, показывает разрешения 777, но вывод Nemo меняется на

введите здесь описание изображения

И теперь я могу использовать порты как обычный пользователь! Как идет? Я делаю что-то неправильно?

И еще одна проблема с socat: приведенная выше команда socat дает 8-битное соединение без контроля четности, но мне действительно нужно 7-битное соединение с контролем четности. Все мои попытки реализовать это путем манипулирования некоторыми из множества опций не увенчались успехом. Я потерян; любое понимание?

portsocat

Ответы

Ответ 1 · Apeiron

Попробуйте изменить разрешение на /dev/pts/2 и /dev/pts/4 вместо ссылки

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы