- Cannot open /dev/ttyUSB0: Permission denied #26
- Comments
- Navis-Raven commented Jul 18, 2017
- ConstantJoe commented Aug 8, 2017
- stefanofiorentino commented Mar 28, 2018
- kbhuinfo commented Jan 22, 2019
- bumbalu commented Feb 13, 2019
- abstract17 commented Mar 29, 2019
- Taudris commented Apr 21, 2019
- shamo1 commented Nov 11, 2019
- fr3kz commented Nov 11, 2019
- Vince55 commented Jan 20, 2020
- tdgi commented Jan 24, 2020
- BlagoD commented Feb 10, 2020
- m-atoms commented May 19, 2020
- thecompoundingdev commented Jun 9, 2020 •
- hashc4t commented Jun 25, 2020
- duncanhames commented Jul 6, 2020
- kaustubhKVS commented Jul 13, 2020
- ThomasGeor commented Oct 9, 2020
- loleg commented Oct 30, 2020
- kelvin-JR commented Nov 3, 2020
- diesilveira commented Nov 12, 2020
- RicBar10 commented Nov 18, 2020
- Bill0412 commented Nov 21, 2020
- cheng3100 commented Jan 27, 2021
- stefanofiorentino commented Jan 27, 2021
- MohamedYousof commented Feb 4, 2021
- peely commented Feb 10, 2021 •
- Arduino.ru
- Подключение Arduino Nano к IDE (Ubuntu 19.10). Не загружается скетч. Ошибка can’t open device «/dev/ttyUSB0»: Permission denied
Cannot open /dev/ttyUSB0: Permission denied #26
Comments
Navis-Raven commented Jul 18, 2017
I had an issue , while trying to do flash
Cannot open /dev/ttyUSB0: Permission denied
I palliated to this problem with the command » sudo chmod -R 777 /dev/ttyUSB0 » each time I wanted to flash.
Do you know more about these bugs ? This maybe due to an ubuntu bug (Ubuntu 16 LTS) but I don’t know
The text was updated successfully, but these errors were encountered:
ConstantJoe commented Aug 8, 2017
I’m not a dev on this project, just a user so if anyone else wants to jump in please do:
This is not an issue with the esp8266, and its not actually a bug at all, its just part of Linux. Its best practice to not change permissions in /dev unless as a last resort. What you want to do instead is to add yourself to the group which would give you permission to access the tty ports.
To see the groups you are in simply type:
To see all available groups type:
Most of them are self-explanatory, in this case you want to add yourself to either the tty group, or dialout, which you would do by:
sudo usermod -a -G tty yourname
Then your user should have access to tty without use of sudo.
stefanofiorentino commented Mar 28, 2018
After the sudo usermod -a -G tty yourname you have to logout/login to get group addition happens.
kbhuinfo commented Jan 22, 2019
I had to add my user to group «dialout» too (ubuntu). Logout/login required.
bumbalu commented Feb 13, 2019
Thank you people, it helped me to get access to my 3d printer from Klipper on Raspberry Pi!
abstract17 commented Mar 29, 2019
PROPER LOGOUT IS REQUIRED
Taudris commented Apr 21, 2019
Can this issue be added to the install documentation? Or even better, is there a way to automate handling it?
shamo1 commented Nov 11, 2019
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
fr3kz commented Nov 11, 2019
thank you shamo1, it helped me
Vince55 commented Jan 20, 2020
thanks shamo1, that worked for me too!
tdgi commented Jan 24, 2020
I add myself to dialout group and it works:
sudo usermod -a -G dialout your_user_name
BlagoD commented Feb 10, 2020
I had to add my user to group «dialout» too (ubuntu). Logout/login required.
Indeed, without being member of the «dialout» group, the access to the ttyUSB is not granted.
Thanks for pointing it out!
m-atoms commented May 19, 2020
note for future users who are curious about this
Problem
Cannot open /dev/ttyUSB0: Permission denied error is caused by the user not having access to the serial ports as other commenters have mentioned. More specifically, the user is not in the dialout group.
Solution
sudo usermod -a -G dialout $USER
For anyone who likes knowing what they’re running before they run it:
usermod — modify a user account
-a — add the user to supplementary groups
-G — a list of supplementary groups (man page says to use -a only with -G )
dialout — group that controls access to serial ports (and other hardware too)
$USER — Bash variable containing current username (not a builtin, usually automatically set env variable)
bonus notes: This is the ‘linux way’ to solve the problem. Adding the user to the group with permission to use the device is much safer than changing the permissions of the device itself. And as others have mentioned, make sure you log out for the changes to take effect.
thecompoundingdev commented Jun 9, 2020 •
thanks @shamo1 ! I tried adding myself to tty and dialout group and it worked after logging back in. but the next day it gave same error but I was still a member of those groups. Had to add chown ttyUSB0 through root and it worked!
hashc4t commented Jun 25, 2020
For anyone using Arch Linux, Arch has a separate user group for serial ports called uucp.
To add your current user:
sudo usermod -a -G uucp $USER
then logout/login.
duncanhames commented Jul 6, 2020
For anyone using Arch Linux, Arch has a separate user group for serial ports called uucp.
To add your current user:
sudo usermod -a -G uucp $USER
then logout/login.
Thanks for that!
kaustubhKVS commented Jul 13, 2020
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
This worked better for me !! They should include this on documentation !! Thankyou @shamo1 .
ThomasGeor commented Oct 9, 2020
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
This one worked for me with ESP32
loleg commented Oct 30, 2020
In addition to adding my user to the tty and dialout groups on Fedora Linux 32, I also had to follow the instructions here:
On modern distros that use ConsoleKit create the file /etc/udev/rules.d/01-ttyusb.rules containing the following and then reload the udev rules and replug the Arduino device:
kelvin-JR commented Nov 3, 2020
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
it’s helpful ,thank you
diesilveira commented Nov 12, 2020
RicBar10 commented Nov 18, 2020
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
thanks you, it solve the problem, you’re a genius
Bill0412 commented Nov 21, 2020
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
This solves my problem, thanks!
cheng3100 commented Jan 27, 2021
Hi ,just look at this issue and I found a better solution .
Just type this commad to install a udev ruler file:
This ruler file is from platformio.
And you also need to join group dialout and plugdev :
stefanofiorentino commented Jan 27, 2021
And you also need to join group dialout and plugdev:
and remember to logout/login..
MohamedYousof commented Feb 4, 2021
this is actually a permission problem u have to allow your Arduino IDE to access the specified port just simply type following commands in your terminal
sudo su
//type your password
cd /
cd dev
chown username ttyUSB0
This worked for me Ubuntu 20.04
peely commented Feb 10, 2021 •
note for future users who are curious about this
Problem
Cannot open /dev/ttyUSB0: Permission denied error is caused by the user not having access to the serial ports as other commenters have mentioned. More specifically, the user is not in the dialout group.
Solution
sudo usermod -a -G dialout $USER
For anyone who likes knowing what they’re running before they run it:
usermod — modify a user account
-a — add the user to supplementary groups
-G — a list of supplementary groups (man page says to use -a only with -G )
dialout — group that controls access to serial ports (and other hardware too)
$USER — Bash variable containing current username (not a builtin, usually automatically set env variable)
bonus notes: This is the ‘linux way’ to solve the problem. Adding the user to the group with permission to use the device is much safer than changing the permissions of the device itself. And as others have mentioned, make sure you log out for the changes to take effect.
This is the safest, cleanest and most reliable answer. Don’t just go round changing ownership, make yourself a member of that devices ownership group. Thank you @m-atoms for the clear explanation.
Источник
Arduino.ru
Подключение Arduino Nano к IDE (Ubuntu 19.10). Не загружается скетч. Ошибка can’t open device «/dev/ttyUSB0»: Permission denied
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Люди, требуется помощь .
Система Ubuntu 19.10. Плата Arduino Nano на процессоре ATmega168P (согласно мануалу).
При подключении к компу (через USB) определяется как :
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Плата с загрузчиком (мигает красный светодиод)
В IDE выставлено: Arduino Nano, процессор ATmega168, порт ttyUSB0 (стоит галочка),
Пользователь состоит в группах dialout, tty, sudo
Компиляция скетча проходит без ошибок, ошибки возникают при загрузке — пишет ошибку can’t open device «/dev/ttyUSB0», понятно, что нет доступа к девайсу через порт, но почему (?), теоретически все должно работать. Или все же плата неисправна? Или дело в процессоре ?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
покажите вывод команды
ls -l /dev/ttyUSB0
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
crw-rw—-+ 1 root dialout 188, 0 мар 3 19:49 /dev/ttyUSB0
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
добавь себя в группу dialout.
Это написано даже там, где ты ИДЕ качал. Фу.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пользователь состоит в группах dialout, tty, sudo
Читайте внимательней, прежде чем «фукать». :/
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
добавь себя в группу dialout.
Влад, у него юзер и так в dialout состоит.
Возможно, что программа прошивки ардуины запускается от другого юзера?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хм. если из под «root»а , то и так должно все работать, нет ? И как это проверить ?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Не selinux с AppArmor-ом ли тут гадят?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хм. если из под «root»а , то и так должно все работать, нет ? И как это проверить ?
перейти в папку с ИДЕ и набрать sudo arduino
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
вообще ты странные вещи описываешь. покажи, плз, последние строчки вывода dmesg ДО и ПОСЛЕ физического подключения платки
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Две последние строчки ДО ПОДКЛЮЧЕНИЯ :
[ 849.756441] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 849.756461] ch341 1-1:1.0: device disconnected
[ 961.825768] audit: type=1400 audit(1583260279.917:23893): apparmor=»DENIED» operation=»open» profile=»snap.arduino.arduino» name=»/dev/ttyS2″ pid=5249 comm=»java» requested_mask=»wr» denied_mask=»wr» fsuid=1001 ouid=0
[ 961.825856] audit: type=1400 audit(1583260279.917:23894): apparmor=»DENIED» operation=»open» profile=»snap.arduino.arduino» name=»/dev/ttyS28″ pid=5249 comm=»java» requested_mask=»wr» denied_mask=»wr» fsuid=1001 ouid=0
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
дождись когла ttyUSB появится
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
ой. помню такое. В итоге выключил нафик. работать невозможно 🙂
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
[ 956.519605] usb 1-2: new full-speed USB device number 6 using xhci_hcd
[ 956.668709] usb 1-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[ 956.668712] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 956.668714] usb 1-2: Product: USB Serial
[ 956.670231] ch341 1-2:1.0: ch341-uart converter detected
[ 956.670622] usb 1-2: ch341-uart converter now attached to ttyUSB0
Все что нашел поиск после подключения, больше с USB0 ничего нет.
IDE порт видит . галочка выбора стоит, но при мониторе порта пишет ошибку последовательного порта 🙁
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Версия IDE какая?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
была бодяга со старой версие, в 1.8.9 проблема исчезла, поточнее не помню. тоже бодался — не хотела писать
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
есть ли у тебя еще плата?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пока я спать не ушел — поставь анидеск (это то, куда ушли разрабы тимвьюера), если у тебя на компе нет всяких интернет-банков ;))))).
Номер и пароль кидай на мой ник на жмейле.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
К сожалению нет. Завтра проверю, то что есть, на ноуте с Виндой. На Ubuntu чего то совсем работать не хочет. Эх.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Там всё просто, у тебя IDE порт от рута поднимает, проинсталлируй от Юзера, пропиши его на пользование портом, только что проинсталлировал на новую машину 1.8.9 с такой же болячкой
всё работает великолепно на ubunte )))
sudo usermod -a -G tty users
sudo usermod -a -G dialout users
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Танцы с бубном удались :)))) Заработало , однако . Загрузил IDE по-новой, через менеджер приложений Ubuntu. и дал разрешения на прямой доступ к USB оборудованию. Вот и все :)))) Всем спасибо за участие :)))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ну значит все-таки криво стояло и пользователя в dialout не было. ;))))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вот именно, что был (я же писал в начале темы). вот это и смущало . Вроде все как надо . но не работает 🙁 Сейчас все «летает» как надо :)))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вот именно, что был (я же писал в начале темы). вот это и смущало . Вроде все как надо . но не работает 🙁 Сейчас все «летает» как надо :)))
да, в ubuntu обычно после добавления прав пользователю требуется перестартовать ядро )))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
По ходу не зря подписался :)))))) Опять та же песня . только с другой стороны :)))) Теперь система не видит порта ttyUSB0
Кто сталкивался с таким?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
По ходу не зря подписался :)))))) Опять та же песня . только с другой стороны :)))) Теперь система не видит порта ttyUSB0
Кто сталкивался с таким?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
а можешь на 4 откатить? Поддержка она жеж в ядре, да, забудь о руте на чистой убунте, от слова совсем
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А без «откатить» никак не получится?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А без «откатить» никак не получится?
я немного юзаю xubuntu старенькую (trusty), у меня там проблем нет )))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Посмотрел наличие драйвера в новом ядре.
$ find /lib/modules/|grep ch34
/lib/modules/5.3.0-45-generic/kernel/drivers/usb/serial/ch341.ko
/lib/modules/5.3.0-42-generic/kernel/drivers/usb/serial/ch341.ko
/lib/modules/5.3.0-46-generic/kernel/drivers/usb/serial/ch341.ko
все есть. так что откатываться не имеет смысла . я думаю. Начинаю думать, что дело в плате.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Обновил JAVA . думал, может дело в этом.
Не помогло . пишет не найдено:
Произошла ошибка при загрузке скетча
avrdude: ser_open(): can’t open device «/dev/ttyUSB0»: No such file or directory
Мозг кипит . чего еще такого бы сделать, что бы хорошо стало ? :))))
Дело однозначно не в кабеле. на нем данная плата работала на ура. Может дело в плате. Склоняюсь к этому мнению :((((
Все таки придется попробовать поэксперементировать с Windows :))) как бы не хотелось .
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
setserial -g /dev/ttyS[0123456789]
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
$ setserial -g /dev/ttyS[0123456789]
/dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
/dev/ttyS4, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS5, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS6, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS7, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS8, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS9, UART: unknown, Port: 0x0000, IRQ: 0
при подключении Arduino через USB.
$ setserial -g /dev/ttyUSB[0123456789]
/dev/ttyUSB0: Input/output error
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Это выполнил?
sudo usermod -a -G tty users
sudo usermod -a -G dialout users
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
$ id -Gn
avg root adm tty uucp dialout cdrom sudo dip plugdev lpadmin lxd sambashare mysql
Я уже не понимаю, что нужно этой железяке ? 🙁
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Может это важно на плате горят два диода PWR и L . но в нее был ранее загружен скетч серво-приводов. обычно когда загрузчик пуст диод мигает .
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Думал может нет доступа к ttyUSB0. но при определении прав, выдает.
$ sudo chmod a+rw /dev/ttyUSB0 chmod: невозможно получить доступ к ‘/dev/ttyUSB0’: Нет такого файла или каталога
Значит порт USB0 не определяется . значит проблема все же в драйвере?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Думал может нет доступа к ttyUSB0. но при определении прав, выдает.
$ sudo chmod a+rw /dev/ttyUSB0 chmod: невозможно получить доступ к ‘/dev/ttyUSB0’: Нет такого файла или каталога
Значит порт USB0 не определяется . значит проблема все же в драйвере?
то, что порт не определяется это понятно, до этого работало жеж, значит не в драйвере а в шнуре ну или в самой ардуине, но по самой ардуине не сталкивался, а вот с шнуром — было, неоднократно, хлипенькие они, даже дорогие, по 10 баксов
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Может это важно на плате горят два диода PWR и L . но в нее был ранее загружен скетч серво-приводов. обычно когда загрузчик пуст диод мигает .
1) На ардуине нет светодиодов для индикации каких-либо ошибок или неисправностей.
2) Светодиод PWR (power) подключен к шине питания и горит всегда, когда подано питание на плату.
3) Светодиод L подключен к пину D13 и горит, когда в плату загружен скетч и в этом скетче на пин 13 подается высокий уровень — digitalWrite(13, HIGH).
4) Загрузчик не может быть пуст или полон. Это микропрограмма в памяти контроллера, которая загружает скетчи по USB (UART). Просто вместе с загрузчиком в плату по-умолчанию загружен скетч Blink с мигающим светодиодом на пине D13.
Источник