Arduino IDE Отказано В Разрешении На Загрузку, Ubuntu

У меня возникли проблемы с загрузкой на ардуино из IDE в Ubuntu 18.04. Сообщение об ошибке, которое я получил, выглядит так:

Arduino: 1.6.10 (Linux), Плата: "Arduino/Genuino Uno" avrdude: ser_open(): не удается открыть устройство "/dev/ttyUSB0": В разрешении отказано

Я проверил другие вопросы, похожие на этот, и попытался добавить себя в запущенную группу набора номера:

sudo usermod -a -G dialout username

и добавил разрешение написать:

sudo chmod a+rw /dev/ttyUSB0

После, когда я побегу:

ls -l /dev/ttyUSB0

Я получаю:

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

Тем не менее,я все еще получаю одно и то же сообщение об ошибке от IDE.

Любая помощь будет очень признательна!

, 👍8

Обсуждение

Также установите порт в инструментах в значение ttyUSB0, @Neal

выход из системы и вход в систему https://www.arduino.cc/en/Guide/Linux#toc6, @Juraj

Вы уверены, что это /dev/ttyUSB0? *Настоящим* Arduino будет /dev/ttyACM0. Может быть, ваш дешевый китайский клон?, @Majenko

Да, только что обнаружил, что это чип CH340G. Есть ли надежда на то, что это все еще сработает? Я слышал о людях, добившихся успеха в Windows, но не нашел никаких хороших способов устранения неполадок в Linux., @Neal

Вам удалось заставить это работать?, @user171780

Нет, в конце концов я сдался и использовал другую плату, которая у меня есть. У меня есть еще один проект, который я собираюсь начать примерно через месяц, для которого я собираюсь попробовать использовать эту плату, поэтому опубликую обновление, если я это выясню., @Neal


6 ответов


4

Как уже упоминалось в официальном руководстве для Linux, вам необходимо запустить

sudo модем пользователя-a -G дозвон <имя пользователя><имя пользователя>

с <имя пользователя><имя пользователя> заменено именем пользователя вашей системы. После выполнения этого выйдите из системы и войдите в систему, и вы должны быть готовы к работе.

,

0

Единственный способ, которым я мог установить IDE и передать программы без ошибки разрешения, в Ubuntu 18.4, используя make.

Смотрите этот ответ на вопрос о том, как установить последнюю версию Arduino IDE?.

,

это не ответ на этот вопрос о разрешении на порт tty, @Juraj


2

Когда ты бежишь

ls -l /dev/ttyUSB0

у вас есть

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

Проблема в том, что у вас есть the dev как <имя пользователя><имя пользователя>, попробуйте изменить на как root

sudo chown root:dialout -R /dev/

Примечание:

Одна вещь после того, как вы подключите USB, проверьте свой порт с помощью следующих

ll /dev/tty*

если вы видите мой порт как ttyUSB0 или с другим именем (например,ttyUSBx / ttyACMx).
а затем попробуйте скомпилировать свой скетч следующим образом:

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.  

Надеюсь, это поможет.

,

Вам определенно НЕ СЛЕДУЕТ менять владельца каждого файла в каталоге /dev, как это сделает chown -R., @Sean Lynch


-1

Я запускаю Arduino IDE в Ubuntu Studio. Моя плата-китайский Arduino NANO. Сначала я попытался установить IDE из менеджера программного обеспечения. Я получил то же самое сообщение об ошибке, когда перепробовал все приемы chmod и chown, но ни один из них не сработал. Я наткнулся на решение, которое состояло в том, чтобы удалить мою IDE и заменить ее программным обеспечением, предоставленным de, из arduino.cc сайт.

Я смог подключиться к /dev/ttyUSB0, но получил сообщение об ошибке "синхронизация"... Я выбрал Arduino NANO в качестве платы и ATmega328P(старый загрузчик) в качестве процессора. Для меня все сложилось прекрасно.

Надеюсь, это поможет вам, ребята.

,

это совсем другая проблема, @Juraj


5

Arduino добавил скрипт в установку, чтобы устранить эту проблему. Я нашел его после долгих усилий, пытаясь заставить его работать со всеми этими предложениями.

В файле arduino-1.8.8-linuxarm.tar.xz, который вы загружаете, находится скрипт под названием arduino-linux-setup.sh

запустите это из командной строки с вашим именем пользователя ./arduino-linux-setup.sh <имя пользователя><имя пользователя>

Он запросит пароль root, а затем попросит вас перезагрузиться. После этого у вас больше не будет проблем с портом.

terminal

,

1

ответ здесь : https://www.arduino.cc/en/Guide/Linux

"Пожалуйста, Прочитайте... Может случиться так, что при загрузке скетча - после того, как вы выбрали плату и последовательный порт-вы получите сообщение об ошибке Ошибка открытия последовательного порта ... Если вы получите эту ошибку, вам нужно установить разрешение на последовательный порт. Откройте терминал и введите:

ls -l /dev/ttyACM*

вы получите подчеркнутый текстпримерно следующего содержания:

crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

"0" в конце ACM может быть другим числом или может быть возвращено несколько записей. Нам нужны данные "dialout" (является владельцем группы файла). Теперь нам просто нужно добавить нашего пользователя в группу:

sudo usermod -a -G dialout <username>

где находится ваше имя пользователя Linux. Вам нужно будет выйти из системы и снова войти в систему, чтобы это изменение вступило в силу".*

,

вы только повторяете некоторые из существующих ответов, @Juraj