/dev/ttyACM0 доступ запрещен на Ubuntu 24.04

Вопрос или проблема

Я пытаюсь получить доступ к МК, подключенному через USB и представленному как последовательный порт: /dev/ttyACM0. То, что хорошо работало в Ubuntu 22.04, не работает в 24.04. Каждый раз, когда я подключаю устройство, единственный способ получить к нему доступ – это выполнить chmod 666, но это работает только временно.

Пользователь, с которым я работаю, уже добавлен в группу dialout, и команда ls -l /dev/ttyACM0 возвращает: crw-rw---- 1 root dialout 166, 0 Oct 25 15:33 /dev/ttyACM0, так что, насколько я понимаю, только root имеет права r/w, и любой член группы dialout. Не хватает ли мне чего-то для настройки/добавления?

С уважением,

Пиотр

Ответ или решение

Проблема доступа к /dev/ttyACM0 в Ubuntu 24.04

Уважаемый Пётр,

Ваша проблема с доступом к устройству, представленному как /dev/ttyACM0, в новой версии Ubuntu 24.04, действительно может быть связана с некоторыми изменениями в политике управления доступом или настройках системы по сравнению с 22.04. Давайте разберём это подробнее.

1. Понимание разрешений

Вы упомянули, что вывод команды ls -l /dev/ttyACM0 показывает следующие разрешения:

crw-rw---- 1 root dialout 166, 0 Oct 25 15:33 /dev/ttyACM0

Объяснение вывода:

  • crw-rw----: c указывает на то, что это специальный файл (character device). rw-rw---- показывает, что владелец (root) имеет права на чтение и запись, члены группы (dialout) имеют права на чтение и запись, а остальные пользователи не имеют никаких прав.
  • Владелец и группа: /dev/ttyACM0 принадлежит пользователю root и группе dialout, что подтверждает ваше указание о том, что пользователь добавлен в группу dialout.

2. Проверка членства в группе

Убедитесь, что изменения группы вступили в силу. Возможно, после добавления пользователя в группу dialout, необходимо перезагрузить систему или выйти из текущей сессии и войти заново, чтобы изменения применились.

Для проверки, в каких группах находится ваш пользователь, выполните команду:

groups ваше_имя_пользователя

3. Автоматическое применение прав

Ваше временное решение с chmod 666 действительно будет работать, но, как вы заметили, это не постоянное решение. Права доступа к устройству могут сбрасываться при каждом подключении устройства из-за правил udev.

Настройка udev

Чтобы сделать права доступа постоянными, вы можете создать правило udev. Для этого выполните следующие шаги:

  1. Откройте терминал и создайте новый файл правил udev:

    sudo nano /etc/udev/rules.d/99-usb-serial.rules
  2. Добавьте следующее правило в файл (замените your_vendor_id и your_product_id на соответствующие значения вашего устройства):

    SUBSYSTEM=="tty", ATTRS{idVendor}=="your_vendor_id", ATTRS{idProduct}=="your_product_id", MODE="0666", GROUP="dialout"

    Вы можете найти значения idVendor и idProduct, выполнив команду:

    lsusb
  3. После того как вы добавили правило, сохраните файл и выйдите из редактора. Затем перезагрузите правила udev:

    sudo udevadm control --reload-rules
    sudo udevadm trigger

4. Проверка работоспособности

После выполнения вышеуказанных шагов, отключите и снова подключите ваше устройство. Теперь права доступа должны оставаться измененными, и ваше устройство должно быть доступно для использования.

Заключение

Если проблема сохраняется, возможно, стоит обратить внимание на другие аспекты конфигурации системы или лог файлы, такие как /var/log/syslog, для выявления возможных ошибок или конфликтов. Надеюсь, эти шаги помогут вам устранить проблему и вернуть доступ к вашему устройству в Ubuntu 24.04.

С уважением,

[Ваше имя]
IT-Эксперт

Оцените материал
Добавить комментарий

Капча загружается...