Ардуино только работает в корне

Я установил Ардуино, но поскольку в заголовке говорится, я могу только загрузить с sudo. И да мой пользователь является частью dialout группа, таким образом, это - странная вещь.

Ардуино действительно функционировал прежде в моей системе. Что могло быть неправильным?

Вывод ls -l:

ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 apr  2 09:23 /dev/ttyUSB0
4
задан 2 April 2017 в 12:24

1 ответ

Как показано в выводе Вашего ls команда, /dev/ttyUSB0 и весь similart tty файлы устройств все принадлежат dialout группа.

crw-rw-rw- 1 root dialout 188, 0 apr 2 09:23 /dev/ttyUSB0

Таким образом необходимо добавить себя к той группе через usemod команда:

sudo usermod -a -G dialout $USER

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


Альтернатива могла настраивать a udev сценарий, который изменит владение того файла каждый раз, когда это соединено, но изменяющаяся группа для пользователя предпочтена подход в большом количестве случаев

В частности, необходимо исследовать вывод dmesg получить информацию о поставщике и идентификаторе продукта Вашего arduino. Затем в /etc/udev/rules.d/ Вы могли настроить 50-arduino.rules сценарий. Например, вот пример того, что я использую для платы FPGA Altera:

$ cat /etc/udev/rules.d/51-usbblaster.rules                                                                              
# USB-Blaster II
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="*", \
ENV{DEVTYPE}=="usb_device",MODE="0666"

Замена "09fb" с идентификатором поставщика Вашего Arduino. ATTR часть может повторно укомплектовать то же. Можно работать chown с RUN аргумент. Например, используйте 'ВЫПОЛНЕННЫЙ = + "/path/to/chmod_script.sh root:myuser %k". Посмотрите это для большего количества информации.

1
ответ дан 1 December 2019 в 10:35

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

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