Рейтинг:7

Ubuntu 20.04 - не могу загрузить скетч Arduino

флаг cn

После новой установки Ubuntu я попытался загрузить скетч, используя Arduino IDE v1.8.16 (установленный с помощью .deb файл, загруженный из Интернета).

Произошла ошибка при загрузке скетча avrdude: ser_open(): невозможно открыть устройство "/dev/ttyACM0": устройство или ресурс занят

После первой установки Arduino IDE на новую машину с Linux необходимо быть участником: sudo usermod -a -G dialout $USER и выход из системы, вход в систему, который не изменился, как ожидалось.

Поэтому я попытался chmod подключенного порта /dev/ttyUSB0, что не изменило сообщение об ошибке (кстати, и на USB1, и на ACM0 у меня был такой же вывод- при попытке загрузить на Нано).

Теперь я получаю эту ошибку:

esptool.py v3.0
Последовательный порт /dev/ttyUSB0
Подключение........_____....._____....._____....._____....._____....._____....._____
Traceback (последний последний вызов):
  Файл "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py", строка 66, в <module>
    esptool.main(cmdline)
  Файл "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", строка 3552, в основном
    esp.connect(args.before, args.connect_attempts)
  Файл "/home/guy/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool/esptool.py", строка 529, при подключении
    поднять FatalError('Не удалось подключиться к %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: не удалось подключиться к ESP8266: истекло время ожидания заголовка пакета
esptool.FatalError: не удалось подключиться к ESP8266: истекло время ожидания заголовка пакета

Чтобы убедиться, что это не ошибка IDE, я попытался использовать esptool.py стереть flash, и у меня такое же поведение Подключение........_____....._____....._____....._____....._____....._____....._____

David avatar
флаг cn
Известна ошибка, связанная с последовательным портом. Вы имеете в виду известную ошибку или имеете в виду полученную вами ошибку?
guyd avatar
флаг cn
@David, возможно, не оптимальное объяснение, попробуйте следующее: после новой установки ubuntu (или первого использования Arduino IDE на ПК необходимо добавить пользователя в группу `dialout`
David avatar
флаг cn
Сильно отличается от того, что говорится в вопросе. Возможно, отредактируйте вопрос.
guyd avatar
флаг cn
вопрос отредактирован как указано
N0rbert avatar
флаг zw
Нано похоже на Ардуино. В то время как esptool используется для Espressif ESP8266 и/или ESP32. Уточните, пожалуйста, используемую аппаратную модель MCU.
Eric Duminil avatar
флаг us
Теперь ошибка кажется исправленной (например, в «5.4.0-91-generic»).
Рейтинг:7
флаг ru

это происходит с последней версией ubuntu с последним ядром и несколькими версиями arduino-ide (из оснастки, из apt install, даже с последней версией, установленной с веб-сайта arduino) попробовал несколько версий платы пробовал модифицированный esptool пробовал немодифицированный esptool пробовал несколько (не только зарядных) кабелей пробует несколько плат esp32 и поставщиков esp32 (wemos, nodemcu и т. д.)

Я считаю, что может быть проблема с серийным драйвером? Все платы отлично работают на Windows со всеми версиями arduino-ide, протестированными на Ubuntu 20.04, и с теми же кабелями. Я исключил любую возможную проблему, связанную с: программным обеспечением (IDE), кабелями, платами.

будет копать больше в этом.

Л.Э.: Нашел проблему! Похоже, в драйвере ядра для ch340/ch341 есть ошибка. У меня было установлено одно старое ядро ​​( 5.9.x ) и с этим работает. Это привело меня к поиску в Интернете :) так здесь это

      Идентификатор ошибки: 214131
     Резюме: проблема связи ch341
     Продукт: Драйверы
     Версия: 2.5

Версия ядра: 5.14-rc5 Оборудование: Все ОС: линукс Дерево: Магистраль Статус: НОВЫЙ Тяжесть: нормальная Приоритет: P1 Компонент: USB

Мне кажется, начиная с ядра 5.10.x до 5.14-rc5 ошибка присутствует.

Удачного кодирования, ребята

флаг er
Насколько я понимаю, здесь нет решения для конечного пользователя, кроме как ждать обновления? Это хлопотно, но как ни странно, мой Arduino Nano, работающий на CH340, работает нормально. Проблема возникает только с платами ESP.
флаг fr
Кажется, он исправился после недавнего исправления ядра для меня, до этого загрузка в 5.3.0-64 работала как временное исправление.
ISparkes avatar
флаг ru
Я сдержал ядро, которое работает до тех пор, пока не выйдет обновление https://askubuntu.com/questions/938494/how-to-i-prevent-ubuntu-from-kernel-version-upgrade-and-notification
Рейтинг:4
флаг in

Обходной путь для плат ESP:

Настройки перед загрузкой скетча:

  • Тип платы: универсальный ESP8266
  • Размер флэш-памяти: 4 МБ
  • Метод сброса: «dtr (он же nodemcu)» (по умолчанию)

Затем:

  1. Измените метод сброса на: "нет дтр (он же ск)" (Инструменты -> Метод сброса)
  2. Затем нажмите кнопку вспышки
  3. Нажмите Сброс в ближайшее время
  4. Затем отпустите Флэш
  5. Загрузить скетч в Arduino IDE

Ардуино

Источник: https://forum.manjaro.org/t/manjaro-21-1-0-und-esp8266-sketch-upload-doesnt-work-anymore/79712/2

Примечание. Протестировано на ESP8266 (NodeMCU).

Обновлять:

Эта проблема исправлена ​​в последней версии ядра. Пожалуйста, обновите ядро ​​и повторите попытку.

guyd avatar
флаг cn
Я уже пробовал это, так как казалось, что ESP32 или pro micro ждут этого сброса (хотя и не успешно)
DevTomek avatar
флаг in
@Guy.D Я успешно протестировал ESP8266 (NodeMCU)
Eric Duminil avatar
флаг us
Я не могу найти «Инструменты -> Метод сброса». Это в Arduino IDE, рядом с Board/Upload Speed/Debug Port/...?
DevTomek avatar
флаг in
@EricDuminil Вы должны выбрать правильную доску, например. «Универсальный модуль ESP8266»
Eric Duminil avatar
флаг us
@DevTomek: Спасибо. Я понизил версию своего ядра, но приятно знать, что доступны и другие временные исправления.
guyd avatar
флаг cn
как обновить только ядро?
Рейтинг:3
флаг mn

с ядром linux-image-5.4.0-87-generic @ ubuntu 18.04 у меня точно такая же проблема (запуск последней версии arduino, определений платы и libz), когда я перезагружаюсь на 5.4.0-86-generic, он снова работает, не знаю почему , но сегодня потратил час, чтобы узнать, что изменилось (потому что я давно использую arduino на этом компьютере, и всегда все работало гладко...)

Так что попробуй загрузить старое ядро, может поможет

Eric Duminil avatar
флаг us
Я могу подтвердить, что это отлично работает с «5.4.0-86-generic» в Ubuntu 18.04 и Linux Mint 19.3. Эту проблему было действительно сложно отследить среди всех ответов «RTFM, Noobie», в которых людям предлагалось нажимать кнопки, изменять разрешения, добавлять пользователей в группы или использовать DIP-переключатели. "5.4.0-87", "5.4.0-88" и "5.4.0-89" все имеют эту ошибку. Будем надеяться, что в следующей версии этого не будет.
Eric Duminil avatar
флаг us
«5.4.0-91-generic» теперь работает нормально, и я могу снова загрузить его на ESP8266 с текущим ядром.
Рейтинг:0
флаг us

Спасибо, обходной путь работает для меня!

5.4.0-89-generic #100-Ubuntu SMP Пт, 24 сентября, 14:50:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

ВИД: 1А86 ПИД-код: 7523

Someone avatar
флаг my
Ваш ответ может быть улучшен с помощью дополнительной вспомогательной информации. Пожалуйста, [измените], чтобы добавить дополнительные сведения, такие как цитаты или документация, чтобы другие могли подтвердить правильность вашего ответа. Дополнительную информацию о том, как писать хорошие ответы, можно найти [в справочном центре](/help/how-to-answer).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.