8

I am having issues uploading to my Arduino from the IDE on Ubuntu 18.04. The error message I have received is:

Arduino: 1.6.10 (Linux), Board: "Arduino/Genuino Uno" avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied

I have checked other questions similiar to this one and have tried adding myself to the dialout group running:

sudo usermod -a -G dialout username

and added permission to write:

sudo chmod a+rw /dev/ttyUSB0

After, when I run:

ls -l /dev/ttyUSB0

I get:

crw-rw-rw- 1 username dialout 188, 0 jūl  2 16:09 /dev/ttyUSB0

However,I still get the same error message from the IDE.

Any help would be greatly appreciated!

sa_leinad
  • 3,118
  • 1
  • 20
  • 49
Neal
  • 81
  • 1
  • 1
  • 3
  • Also have set the port in Tools to ttyUSB0 – Neal Jul 02 '18 at 13:38
  • log-out and log-in https://www.arduino.cc/en/Guide/Linux#toc6 – Juraj Jul 02 '18 at 13:41
  • Are you sure it's /dev/ttyUSB0? A *real* Arduino will be /dev/ttyACM0. Maybe yours is a cheap chinese clone? – Majenko Jul 02 '18 at 15:00
  • Yeah just discovered it is a CH340G chip. Any hope of still getting it to work? Have heard of people having success on Windows but haven't found any good troubleshooting for Linux. – Neal Jul 02 '18 at 17:56
  • Were you able to make it work? – user171780 Sep 21 '18 at 14:20
  • No I ended up giving up and using another board I have. I have another project I am going to start in a month or so for which I am going to try to use that board so will post an update then if I figure it out. – Neal Oct 02 '18 at 11:04

3 Answers3

5

Arduino has added a script to the install to fix this problem. I found it after much annoyance trying to get it to work with all these suggestions.

In the arduino-1.8.8-linuxarm.tar.xz file that you download is a script called arduino-linux-setup.sh

run that from commandline with your user name ./arduino-linux-setup.sh <username>

It'll ask for the root password, and then ask you to reboot. After that you won't have any more port trouble.

terminal

Ticktok
  • 51
  • 1
  • 1
4

As mentioned on the official guide for Linux, you need to run

sudo usermod -a -G dialout <username>

with the <username> replaced with the username of your system. After running this, log out and log in (or in some cases reboot the computer) and you should be good to go.

m.umar
  • 145
  • 4
2

When you run

ls -l /dev/ttyUSB0

you have

crw-rw-rw- 1 username dialout 188, 0 jūl  2 16:09 /dev/ttyUSB0

The Problem is you have the dev as <username>, try to change to as root

sudo chown root:dialout -R /dev/

Note:

One thing after your plug your USB, check your port with follow

ll /dev/tty*

if you can see my port as ttyUSB0 or with difference name (i.g ttyUSBx / ttyACMx ).
and then try to compile your sketch with following,

cd /path/your/arduino/installation/
$ARDUINO-DIR(pwd)
cd /path/your/sketch/
$ARDUINO-INO/arduino --verify sketch.ino --board arduino:avr:uno --port /dev/ttyUSB0 --verbose //compile your sketch.ino with arduino uno board.  

enter image description here

Hope this helps.