User Tools

Site Tools


arduino:arduino_on_linux

This is an old revision of the document!


Arduino on Linux

Managing permissions

Serial port permissions

Depending on your distribution, you may need to add permission to your user so it can access /dev/ttyACM* or whatever. On my Debian sid system, all I needed to do was add my user to the dialout group. The following did the trick (as root):

# usermod -a -G dialout <username>

USBtiny/USBtinyISP permissions

If you plan to use a USBtiny or USBtinyISP to program your Arduino instead of the more conventional approaches, you are likely to encounter a different permission error. On my Debian sid system, I encountered a “Warning: cannot open USB device: Permission denied” error that adding my user to the dialout group didn't fix.

I was able to clear it by adding the suggestion at the end of this Adafruit page. Specifically, as root create a file /etc/udev/rules.d/99-USBtiny.rules with the following single line:

SUBSYSTEM=="usb", ATTR{product}=="USBtiny", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"

The next time you log in, your programmer should work as expected — unless the product, idProduct, and/or idVendor attributes aren't as expected. You can confirm their values by plugging in your USBtiny and running dmesg (as root):

# dmesg
[404467.789928] usb 2-1.2: New USB device found, idVendor=1781, idProduct=0c9f
[404467.789930] usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[404467.789931] usb 2-1.2: Product: USBtiny

A USBtinyISP from a different vendor I used identified itself as “USBtinyISP” rather than “USBtiny”, and so the udev rule above didn’t work. The solution was to add an additional rule in a second line to /etc/udev/rules.d/99-USBtiny.rules:

SUBSYSTEM=="usb", ATTR{product}=="USBtiny", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"
SUBSYSTEM=="usb", ATTR{product}=="USBtinyISP", ATTR{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0660", GROUP="dialout"

Modify as needed for your USBtiny.

arduino/arduino_on_linux.1577597779.txt.gz · Last modified: 2019/12/29 05:36 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki