Изменение разрешений на последовательный порт

Я использую IDE Arduino в Ubuntu, и у меня проблемы с последовательным портом. Он работал в прошлом, но по причинам, которые могут быть ненужными, я почувствовал необходимость изменить права собственности на некоторые файлы из корневого права собственности на мое владение пользователями.

Это сделало работу IDE корректной, но я потерял возможность использовать правильный последовательный порт. В папке dev, мне нужен порт, который указан как разрешение 166. Кто-то (кто больше не в области, чтобы помочь мне) заменил разрешения на 666, что сделало все это славным.

Однако, он вернул назад, как только я перезапустил свой компьютер, и если теперь попытаюсь использовать команду:

sudo chmod 666 ttyACM0

ничего не происходит. Нет сообщений об ошибках, но никаких изменений не разрешается.

Как я могу его изменить, и как я могу заставить его постоянно меняться.

Прошу прощения, если этот вопрос слишком упрощен или неясен, я ubuntu noob, и я не будет жалеть обратной связи!

1
задан 23 August 2012 в 03:57

4 ответа

Я не мог заставить предложение Rinzwind работать, потому что он жаловался, что учетная запись пользователя уже существует. Вместо этого я использовал эту команду для добавления существующего пользователя (terrik) к существующей группе (dialout), как описано в Вики-странице справки Ubuntu.

sudo adduser terrik dialout

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

groups terrik
19
ответ дан 25 May 2018 в 19:13

Я не мог получить ответ Террика, но мог бы, если бы я сделал эту небольшую корректировку для пути к ttyACM0.

sudo chmod 666 /dev/ttyACM0

Опубликовал бы в качестве комментария, но у меня нет привилегии для этого еще ...

9
ответ дан 25 May 2018 в 19:13
  • 1
    Разрешения, похоже, сбрасываются при отключении и повторной загрузке Arduino. – user1063287 9 January 2015 в 17:14
  • 2
    не работает. :( – Freddy 10 April 2015 в 14:06
  • 3
    он работает, ну хорошо. но требует правила udev для повторного разрешения на повторное включение – pylover 9 September 2015 в 12:59
  • 4
    Я попробовал sudo chmod 666 /dev/ttyACM0, и он не работает при запуске снова. у кого-нибудь есть решение? – user1063287 21 April 2016 в 10:32
  • 5
    Hmm peepz, это действительно работает ... Добавьте команду в сценарий запуска. (/ Dev воссоздается при загрузке, поэтому вам нужно повторить эту команду при каждой загрузке) – Rinzwind 15 September 2016 в 09:36

Другая возможность - создать файл правил в каталоге /etc/udev/rules.d/. У меня была аналогичная проблема, и я создал файл 50-myusb.rules в приведенном выше каталоге с этим контентом:

KERNEL=="ttyACM[0-9]*",MODE="0666"

Обратите внимание, что это даст любому устройству, подключенному к разрешениям чтения / записи сокета ttyACM. Если вам нужно только определенное устройство для получения разрешений на чтение / запись, вы также должны проверить idVendor и idProduct. Вы можете найти их, выполнив команду lsusb дважды, один раз, когда ваше устройство не подключено, и один раз, когда он подключен, затем наблюдайте дополнительную строку на выходе. Там вы увидите что-то вроде Bus 003 Device 005: ID ffff:0005. В этом случае idVendor = ffff и idProduct = 0005. У тебя будет другое. Затем вы изменяете файл правил:

ACTION=="add", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="0005", MODE="0666"

Теперь только это устройство получает разрешения. Прочтите это, чтобы узнать больше о написании правил udev.

3
ответ дан 25 May 2018 в 19:13

Попробуйте войти в систему / Пользователи и группы и установите флажок в поле имени пользователя в группе TTY.

2
ответ дан 25 May 2018 в 19:13
  • 1
    [F1]. Кроме группы tty, пользователь также находится в группе dialout. Linux Mint 17.1. – user1063287 9 January 2015 в 16:11
  • 2
    @ user1063287 Попробуйте sudo chmod a+rw /dev/ttyACM0 – Vladimir S. 1 October 2015 в 07:32

Другие вопросы по тегам:

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