How to fix /dev/ttyUSB0 or /dev/ttyACM0 permission error
Problem:
When trying to connect to a USB device, you see an error like
[Errno 13] Permission denied: '/dev/ttyUSB0'
and the USB connection can’t be established.
Solution
On Debian & Ubuntu, the /dev/ttyUSBx and /dev/ttyACMx devices are owned by the dialout
group. Therefore, the solution is to add your user to the dialout
group:
sudo usermod -a -G dialout $USER
After that, you need to logout completely and login again (if in doubt, reboot your computer)!
While you can sometimes quickly solve this issue by running whatever command you want to use as root
using sudo
, this is not a recommended solution since it will allow the program you’re calling full access to the entire computer - not just access restricted to the USB device. Therefore, this approach poses a significant security risk and additionally, some programs don’t work properly when called using sudo
.