10

В Linux CrunchBang (вариант 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 ничего не возвращают, используя эту строку?

3 ответа3

9

Вероятно, нет реального использования линии, но проблема разрешения. Быстрый и грязный способ проверить для меня было выполнить:

ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0

и повторите cu Если он начинает работать, вам нужно позаботиться о соответствующем файле udev и пользовательских разрешениях / группах. Для моего устройства это выглядело так (будучи членом группы plugdev ):

> cat /etc/udev/rules.d/42-CP210x.rules 
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"
2

Кажется, это ошибка в cu . Я решил эту проблему, изменив группу владельцев /dev/ttyUSB0 с помощью следующей команды:

chown root:root /dev/ttyUSB0
0

Привилегии последовательных устройств предоставляются членам группы dialout . Чтобы подключиться к /dev/ttyS0 я добавил текущего пользователя в группу, используя:

sudo adduser <username> dialout

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .