User Tools

Site Tools


arduino:arduino_on_linux

This is an old revision of the document!


Arduino on Linux

Serial port permissions

Depending on your distribution, you might need to add permission to your user so it can access /dev/ttyACM* or whatever. On my Debian system, the following worked (as root):

# usermod -a -G dialout <username>

USBtiny permissions

If you plan to use a USBtiny on Linux 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. Adding my user to the dialout group didn't fix this issue.

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 USBtiny should work as expected, unless the product, idProduct, and/or idVendor aren't as expected.

You can confirm the ATTR{idProduct} and ATTRS{idVendor} 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 USBtiny from a different vendor I tried identified itself as “USBtinyISP” rather than “USBtiny”, and so the udev rule above didn’t work. The solution was to add a new 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.1577563611.txt.gz · Last modified: 2019/12/28 20:06 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki