I have connected two arduinos to /etc/ttyUSB0 and /etc/ttyUSB1.

Only one is visible in Arduino IDE. Why and how to force second?


$ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jan  6 23:32 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1

I.e. it shows port, which IS NOT SHOWN in Arduino IDE (only /dev/ttyUSB0 is shown.


I can see both ports if run arduino with sudo. Should I run it with sudo?

Permissions are same

$ ls -l ttyUSB?
crw-rw-rw- 1 root dialout 188, 0 Jan  6 23:26 ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 Jan  6 23:39 ttyUSB1
  • What means are you using to verify that both of these devices exist right now ? Incidentally, unlike some other operating systems, these identifiers are newly assigned each time the device is connected, and may refer to different devices at different times. You can even get the assigned numbers to increment with a single device, if a program holds the old device file open while it is re-plugged. Jan 6, 2018 at 20:28
  • What does ls -l /dev/serial/by-id show?
    – jfpoilpret
    Jan 6, 2018 at 20:32
  • You can also verify it with gtkterm. Click "Configuration" and "Port" and open the drop down menu "Port:". Check if they both are there. Perhaps you can try the Arduino IDE with sudo. Did you set some kind of permission to /etc/ttyUSB0? Remove all the Arduino and Java from the repositories. Unpack the newest Arduino IDE into a folder and start it from that folder. Be sure to remove the librxtx-java from the repositories (I use synaptic).
    – Jot
    Jan 6, 2018 at 20:34
  • @Jot this looks blind guessing
    – Dims
    Jan 6, 2018 at 20:49
  • 3
    Terrible advice. You should NEVER EVER run the Arduion IDE (or any similar software) as root. It's not designed to be safe for such use, and you run the risk of leaving behind files which your normal user won't be able to clean up or change. Instead, either set up proper udev rules, put yourself in the group that owns serial devices, and restart. Or temporarily chown the device in question to yourself - but if you do that you'll have to each time you plug it in. Jan 6, 2018 at 22:21

1 Answer 1


You have to add use your user to the dialout group, as explained in the installation instructions for Linux.

sudo usermod -a -G dialout $USER

Then log out and back in again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.