Я установил Ардуино, но поскольку в заголовке говорится, я могу только загрузить с sudo
. И да мой пользователь является частью dialout
группа, таким образом, это - странная вещь.
Ардуино действительно функционировал прежде в моей системе. Что могло быть неправильным?
Вывод ls -l
:
ls -l /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 apr 2 09:23 /dev/ttyUSB0
Как показано в выводе Вашего 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". Посмотрите это для большего количества информации.