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.
Любая помощь будет очень признательна!
@Neal, 👍8
Обсуждение6 ответов
Как уже упоминалось в официальном руководстве для Linux, вам необходимо запустить
sudo модем пользователя-a -G дозвон <имя пользователя><имя пользователя>
с <имя пользователя><имя пользователя>
заменено именем пользователя вашей системы.
После выполнения этого выйдите из системы и войдите в систему, и вы должны быть готовы к работе.
Единственный способ, которым я мог установить IDE и передать программы без ошибки разрешения, в Ubuntu 18.4, используя make
.
Смотрите этот ответ на вопрос о том, как установить последнюю версию Arduino IDE?.
это не ответ на этот вопрос о разрешении на порт tty, @Juraj
Когда ты бежишь
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
Я запускаю Arduino IDE в Ubuntu Studio. Моя плата-китайский Arduino NANO. Сначала я попытался установить IDE из менеджера программного обеспечения. Я получил то же самое сообщение об ошибке, когда перепробовал все приемы chmod и chown, но ни один из них не сработал. Я наткнулся на решение, которое состояло в том, чтобы удалить мою IDE и заменить ее программным обеспечением, предоставленным de, из arduino.cc сайт.
Я смог подключиться к /dev/ttyUSB0, но получил сообщение об ошибке "синхронизация"... Я выбрал Arduino NANO в качестве платы и ATmega328P(старый загрузчик) в качестве процессора. Для меня все сложилось прекрасно.
Надеюсь, это поможет вам, ребята.
это совсем другая проблема, @Juraj
Arduino добавил скрипт в установку, чтобы устранить эту проблему. Я нашел его после долгих усилий, пытаясь заставить его работать со всеми этими предложениями.
В файле arduino-1.8.8-linuxarm.tar.xz, который вы загружаете, находится скрипт под названием arduino-linux-setup.sh
запустите это из командной строки с вашим именем пользователя ./arduino-linux-setup.sh <имя пользователя><имя пользователя>
Он запросит пароль root, а затем попросит вас перезагрузиться. После этого у вас больше не будет проблем с портом.
ответ здесь : 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
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Разные и самые быстрые способы вычисления синусов и косинусов в Arduino
- Нет заголовочных файлов (.h) в Documents\Arduino\libraries\arduino_144469 с демонстрационным кодом
- Связь Arduino master/slave с использованием RS485
- Миграция проекта Arduino Uno R3 в Wemos D1 R2 — проблемы с распиновкой
Также установите порт в инструментах в значение ttyUSB0, @Neal
выход из системы и вход в систему https://www.arduino.cc/en/Guide/Linux#toc6, @Juraj
Вы уверены, что это /dev/ttyUSB0? *Настоящим* Arduino будет /dev/ttyACM0. Может быть, ваш дешевый китайский клон?, @Majenko
Да, только что обнаружил, что это чип CH340G. Есть ли надежда на то, что это все еще сработает? Я слышал о людях, добившихся успеха в Windows, но не нашел никаких хороших способов устранения неполадок в Linux., @Neal
Вам удалось заставить это работать?, @user171780
Нет, в конце концов я сдался и использовал другую плату, которая у меня есть. У меня есть еще один проект, который я собираюсь начать примерно через месяц, для которого я собираюсь попробовать использовать эту плату, поэтому опубликую обновление, если я это выясню., @Neal