В CrunchBang Linux (вариант Debian) у меня включен COM-порт ttyS0
, который я пытаюсь использовать с устройством NFC. libnfc ответил, что не видит никаких устройств NFC, поэтому я попытался открыть COM-порт напрямую. Для этого я использовал:
sudo cu -l /dev/ttyS0 -s 9600
Однако эта команда возвращает:
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
Я не знаю, что может быть, используя это соединение. Чтобы выяснить это, я попытался прочитать все открытые процессы и выполнить фильтрацию для использования ttyS0
:
ps -ef | grep tty
но для этой команды ничего не отображается, что используется ttyS0
. Я также попытался захватить все открытые файлы и выполнить фильтрацию для блокировки ttyS0
:
lsof | grep tty
но это ничего не возвращает, используя ttyS0
.
Как это возможно, cu
говорит, что линия используется, но оба ps
и lsof
ничего не возвращают, используя эту строку?
/dev/ttyS0
. Это, однако, скрывает все остальные ttys.minicom
Работает нормально, ноcu
иscreen
отказывается разговаривать/dev/ttyUSB0
. Мне посоветовали добавить мой пользователя кuucp
иdialout
групп и выйти , что не поможет.Ответы:
Вероятно, нет реального использования линии, но проблема разрешения. Быстрый и грязный способ проверки для меня заключался в выполнении:
и повторите
cu
. Если он начинает работать, вам нужно позаботиться о соответствующемudev
файле и разрешениях / группах пользователей. Для моего устройства это выглядело так (будучи членомplugdev
группы):источник
Привилегии последовательных устройств предоставляются членам
dialout
группы. Чтобы подключиться,/dev/ttyS0
я добавил текущего пользователя в группу, используя:sudo adduser <username> dialout
источник
Кажется, это ошибка в
cu
. Я решил это, изменив группу владельцев с/dev/ttyUSB0
помощью следующей команды:источник