Пустой проект выдает ошибки при загрузке Arduino Leonardo в Linux Manjaro
У меня Linux Manjaro. Я подключил свой клон Arduino Leonardo (который, как я знаю, работает правильно). И попытался прошить на него пустой проект:
(Моя версия IDE - 1.8.12
)
void setup() {
// поместите сюда код установки для однократного запуска:
}
void loop() {
// поместите сюда ваш основной код для многократного запуска:
}
Это дает мне эту ошибку:
Sketch uses 3410 bytes (11%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:152)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2047)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: processing.app.SerialException: Error touching serial port '/dev/ttyACM1'.
at processing.app.Serial.touchForCDCReset(Serial.java:107)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:136)
... 5 more
Caused by: jssc.SerialPortException: Port name - /dev/ttyACM1; Method name - openPort(); Exception type - Permission denied.
at jssc.SerialPort.openPort(SerialPort.java:170)
at processing.app.Serial.touchForCDCReset(Serial.java:101)
... 6 more
@John, 👍1
Обсуждение1 ответ
Лучший ответ:
Хорошо, я нашел способ сделать это. Откройте Терминал и введите:
ls -l /dev/ttyACM*
вы получите что-то вроде:
crw-rw---- 1 root dialout 188, 0 5 апр 23.01 ttyACM0
"0" в конце ACM может быть другим числом или может быть возвращено несколько записей. Нам нужны данные dialout
(группа-владелец файла).
Теперь нам просто нужно добавить нашего пользователя в группу:
sudo usermod -a -G dialout <username>
Итак, для меня это будет:
sudo usermod -a -G dialout john
НО похоже, что он работает с dialout
в дистрибутивах на основе Ubuntu/Debian. Я использую Manjaro
, и вместо dialout
мне пришлось использовать uucp
(и вообще в дистрибутивах на основе Arch
) так:
sudo usermod -a -G uucp john
Чтобы это изменение вступило в силу, вам потребуется выйти и снова войти в систему.
Это процедура доступа к последовательному порту из программного обеспечения Arduino (IDE), если вы получаете сообщение об ошибке
После этой процедуры вы сможете продолжить работу в обычном режиме и загрузить скетч на свою плату или использовать Serial Monitor.
Хотя для меня это еще не конец. После этого единственной ошибкой, которую я получил, было то, что Arduino IDe просто сказал, что у него нет разрешения на запись в этот порт. Поэтому мне пришлось запустить Arduino IDE
следующим образом:
sudo arduino
в терминале. После этого все работает нормально.
Я нашел помощь по этим ссылкам:
- https://www.arduino.cc/en/Guide/Linux#toc6
- https://forum.manjaro .org/t/how-to- enable-putty-usb-serial-converter-access-without-sudo/82736
- Проблема с загрузкой моего скетча на Ардуино
- Загрузить код на Arduino Leonardo с помощью командной строки
- Проблема с загрузкой скетча в Леонардо
- "avrdude: stk500_getsync(): not in sync: resp=0x00", или некто по имени Avr не позволяет мне загрузить мою программу
- Как использовать SPI на Arduino?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Проблема с загрузкой в Arduino Uno
TL; DR этого чрезмерно подробного сообщения об ошибке: «/dev/ttyACM1: Отказано в доступе»., @Edgar Bonet
В настоящее время я переустанавливаю Arduino IDE (с моим плохим интернетом это займет несколько минут). Так что я должен попытаться запустить Arduino IDE в
sudo
?, @JohnСм. https://arduino.stackexchange.com/search?q=Linux+permission+denied, @Edgar Bonet
Присоединяйтесь к правильной группе (группам). Дайте пользователю правильные разрешения. Затем перезагрузитесь и повторите попытку., @Majenko
это хрестоматийный пример того, как должен выглядеть вопрос... минимальный код, полная распечатка сообщения об ошибке... вопрос о том, как определить причину ошибки, или о том, что обычно вызывает ошибку, или о том, как расшифровать распечатка ошибки завершила бы сообщение .... я думаю, что он заслуживает одобрения, хотя вопрос уже задавался раньше, @jsotola
@jsotola, лол, спасибо Завтра я опубликую точный ответ, как восстановить его для моего дистрибутива, потому что сегодня у меня больше нет времени играть с ардуино., @John
https://www.arduino.cc/en/Guide/Linux#toc6, @Juraj