Возникла ошибка при загрузке ардуино

Первая прошивка


Итак, разобрались со средой разработки, теперь можно загрузить прошивку. Рекомендую загрузить пустую прошивку, чтобы убедиться, что все драйвера установились и плата вообще прошивается. Также лучше делать это с новой или заведомо рабочей платой.

1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель.
  • Неисправен USB порт компьютера.
  • Неисправен USB порт Arduino.
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка.
  • Попробуйте другую плату, чтобы исключить часть проблем из списка.
  • На плате Arduino сгорел диод по питанию USB.
  • Плата Arduino сгорела полностью из-за неправильного подключения питания или короткого замыкания

2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей.
  • Кабель должен быть data-кабелем, а не “зарядным”.
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб.
  • Не установлены драйверы для Arduino.

3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, отличный от COM1. Если этого не произошло:

  • См. предыдущий список неисправностей.
  • Некорректно установлен драйвер CH341.
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику

4. Выбираем свою плату. Если это Arduino Nano, выбираем в Инструменты\Плата\Arduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.

  • [Для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем Инструменты\Процессор\ATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p.

Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.

Ошибки компиляции


Возникает на этапе компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать.
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Возможно поможет урок по оптимизации кода.

Частые ошибки в коде, приводящие к ошибке компиляции


  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘\320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

Ошибки загрузки


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

  • USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
  • Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
  • Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
  • Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
  • Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
  • Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
  • Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
  • Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.

Предупреждения


Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет критических ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message… – это просто сообщения, оставленные разработчиком проекта или библиотеки. Чаще всего номер версии и прочая информация.
  • Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.

FAQ


Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:

  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс Flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов. Подробнее в этом уроке.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Подробнее в этом уроке.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу.
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь.
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

Видео


Полезные страницы


  • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
  • Поддержать автора за работу над уроками
  • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
  1. Столкнулся со странной проблемой: попытался добавить esp через менеджер, он выдает ошибку загрузки архива с гита. Странность в том, что архив на месте и спокойно качается. На зарубежных форумах нашел несколько решений: проверить прокси, положить архив в папку ручками, переустановить другую версию IDE. Как можно догадаться, ничего из этого не помогло. сообщение об ошибке:

    Возникла ошибка при загрузке https://github.com/esp8266/Arduino/releases/download/2.4.1/esp8266-2.4.1.zip
    java.lang.RuntimeException: java.lang.Exception: Возникла ошибка при загрузке https://github.com/esp8266/Arduino/releases/download/2.4.1/esp8266-2.4.1.zip
        at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:176)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.Exception: Возникла ошибка при загрузке https://github.com/esp8266/Arduino/releases/download/2.4.1/esp8266-2.4.1.zip
        at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:131)
        at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:69)
        at cc.arduino.contributions.packages.ContributionInstaller.install(ContributionInstaller.java:102)
        at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:173)
        … 1 more
    Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
        at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
        at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
        at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:129)
        … 4 more
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
        at sun.security.validator.Validator.validate(Validator.java:260)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
        … 17 more
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
        at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
        … 23 more
     
  2. Что я пробовал:
    положить архив в каталог вручную, переустановить ide, использовать ссылки на другие версии, добавить ссылку в hosts, включить vpn, устанавливать python скриптом.

    Что заметил:
    Другие платы ставятся нормально; при отключении инета ошибка не меняется; на маке данная ссылка работает

  3. Версия и разрядность ОС, версия Arduino IDE? Интернет не через мобильного оператора? У меня МТС возвращает битый файл по адресу http://arduino.esp8266.com/stable/package_esp8266com_index.json, поэтому в менеждере плат использую ссылку https://github.com/esp8266/Arduino/releases/download/2.4.1/package_esp8266com_index.json.

  4. Инет МГТС оптика, win 10 система х64. Ссылку эту пробовал, перестает видеть даже json. ИДЕ пробовал 1.6.5, 1.8.1, 1.8.5

  5. Руками помещали файлы в %LocalAppData%\Arduino15\staging\packages?

  6. Да, писал выше. Ноль реакции

  7. Хотя вру, я вроде сувал в папку /roaming!!!/arduino15/… Сейчас перепроверю

  8. ПРОДВИЖЕНИЕ!!!! теперь не может загрузить другой файл, «mkspiffs-0.2.0-no_magic_length-windows.zip») Буду класть их в папку по очереди…

  9. Нужны
    win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
    mkspiffs-0.2.0-no_magic_length-windows.zip
    esptool-0.4.13-win32.zip
    esp8266-2.4.1.zip
    их из json можно с путями надергать.

  10. Установилось! Спасибо огромное, бился весь день. Почему IDE потеряла гитхаб — отдельный вопрос. Мало ли, что ркн с маленькими и мягкими начудили

  11. Тоже столкнулся с такой проблемой. Оказалось, что некоторых сертификатов ssl нет в jre, которая идёт с Arduino ide. Не знаю почему так, на одном компе всё нормально скачалось, а на другом ошибку выдаёт как в топике. В общем, недостающий сертификат нужно установить, тогда всё заработает.

    1. Заходим сюда: https://github.com/esp8266/Arduino/releases/

    2. В браузере, где зелёный замочек возле адресной строки нажимаем на него, далее в зависимости от браузера находим что-то вроде посмотреть сертификат, а затем экспортировать. В фаерфоксе: клик на замочек, стрелочка, подробнее, посмотреть сертификат, подробности, экспортировать. В итоге имеем файл сертификата на жёстком диске.

    3. Запускаем командную строку (cmd) от имени администратора.

    4. Переходим в папку с установленной jre, которая используется ArduinoIDE:

    cd “c:\Program Files (x86)\Arduino\java\bin\”

    5. Выполняем следующую команду: keytool -import -alias github -keystore ..\lib\security\cacerts -file c:\githubcom.crt

    Где вместо c:\githubcom.crt путь к сохранённому сертификату.

    6. Спросит пароль. Нужно будет ввести «changeit» (без кавычек). Пароль отображаться не будет, внимательно.

    7. Потом спросит «Trust this certificate? [no]». Нужно ввести «yes» (без кавычек).

    В итоге должно быть сообщение: «Certificate was added to keystore».

    Ну вот и всё, можно пробовать добавлять плату ESP.


    ИгорьК и ZAZ-965 нравится это.

  12. Ребят, помогите с аналогичной проблемой для ESP32
    прописываю путь https://dl.espressif.com/dl/package_esp32_index.json ,но при заходе в менеджер плат

    Возникла ошибка при загрузке https://downloads.arduino.cc/packages/package_index.json
    java.lang.RuntimeException: java.lang.Exception: Возникла ошибка при загрузке https://downloads.arduino.cc/packages/package_index.json
        at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$1(ContributionManagerUI.java:150)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.Exception: Возникла ошибка при загрузке https://downloads.arduino.cc/packages/package_index.json
        at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:139)
        at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:333)
        at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:307)
        at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:285)
        at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$1(ContributionManagerUI.java:146)
        … 1 more
    Caused by: java.nio.file.FileSystemException: C:\Users\79062\AppData\Local\Arduino15\package_index.json.tmp: Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.

        at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
        at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
        at sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269)
        at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
        at java.nio.file.Files.delete(Files.java:1126)
        at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:156)
        at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:132)
        at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:137)
        … 5 more

    причем не пойму почему пишет » Возникла ошибка при загрузке https://downloads.arduino.cc/packages/package_index.json» хотя я другой путь ведь прописал, в файле «preferences» прописан путь, как поменяный в Arduino. Сертификат, как писал Themen установился без проблем. Что я не так делаю? вручную платы ставить не умею =(

Comments

@clivepengelly

I have installed a fresh copy of the IDE but continue to get this error when opening the Boards Manager.

I have followed instructions on the forum to rectify the problem but nothing works.

I am running Windows 10.

I can access this URL from my browser.

I am able to install some of the boards that are listed in the Boards Manager, but most give errors when trying to install.

image

Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$0(ContributionManagerUI.java:151)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
    at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
    at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
    at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$0(ContributionManagerUI.java:147)
    ... 1 more
Caused by: java.net.SocketException: Address family not supported by protocol family: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:83)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
    at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
    ... 5 more

@agdl

Hi, If you open the preferences menu, you can navigate to the .Arduino15 folder clicking on the preferences path. Then open the folder staging/packages and try to delete all the archive you have there. Please let me know if the problem persist.

@clivepengelly

Hi.

Thanks for the reply.

Deleted the folder, same problem.

@agdl

@clivepengelly

GENIUS!

This worked.

I am surprised that many more people do not have this problem. I do not have anything special in my environment.

This is what I had to do – nothing else:-

  1. Open command prompt (windows start button, type cmd in search)
  2. Click top left of command prompt, click properties, enable quick edit mode
  3. Copy: setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
  4. Right click on command prompt, should paste
  5. Hit enter. That easy!
seant100, kwatcha, unslur, MrEliptik, joesch31, VirusEcks, MisterAwesome23, DarkStar18, evoteknologi, remotegard, and 5 more reacted with thumbs up emoji
mrohner, sicsim, FredericoLeite105, DENISGOMASKO, and akdimitri reacted with thumbs down emoji
DarkStar18, remotegard, and FusionSource reacted with heart emoji

@cmaglie

@clivepengelly
from the linked article it seems that the problem is caused by a spyware:

Try to check whether the spy program called «RelevantKnowledge» is installed. Its
uninstallation helped me to solve the problem.

You may probably want to check if you have this program installed too.

BTW happy that you solved it!

@clivepengelly

I do have this relevant knowledge thing running. What is it and where does it come from?

I download a lot of development and test software.

@cmaglie

@sachin1389

Please help the problem still exist for me

I have done:

setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

on command prompt. I am getting «Success: specified value was saved«.

I also checked for the relevant knowledge spy.

I also tried Arduino 1.6.8.

I also deleted archives in arduino15 file.

I’m still getting the error:

 Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
    at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
    at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
    at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
    ... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
    at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
    ... 5 more
 Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
    at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
    at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
    at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
    ... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
    at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
    ... 5 more
 Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
    at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
    at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
    at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
    ... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
    at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
    ... 5 more
 Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
    at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
    at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
    at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
    at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
    ... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
    at java.net.Socket.connect(Socket.java:589)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
    at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
    at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
    ... 5 more

@sachin1389

Hey Problem solved,I just tried remove as much software which was seeing to be unknown to me
and then deleted the arduino and reinstalled and then restarted my pc . now it is working fine.

@adam4142

Its worked ………..
you r a GENIUS>…………

@ArimoJak7

@paulenuta

@TechnocratLabs

it’s a problem of Internet connectivity in PC or laptop.

@bigelite

i have this problem too,
I have followed instructions on the forum to rectify the problem but nothing works.
I am running Windows 10.
I can access this URL from my browser.
I’ve opened the folder staging/packages and deleted all the archive that i had.
I’ve tried this one: setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

but its still had an error. i don’t know what to do!

@ShotgunBurger

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

jeanmoretto, friesandacoke, MrJ6, tin345, chathuranga1931, cjayasanka, Mediocentro, qianfan-Zhao, PierreLecomte, zexalistic, and 30 more reacted with thumbs up emoji
DENISGOMASKO, amrithmmh, rozenc, and alisalmabadi reacted with laugh emoji
friesandacoke, PierreLecomte, HamzaHajeir, Hammarstrom, kheshava043, amrithmmh, BlaT2512, rozenc, antoanyanev, Combinacijus, and 2 more reacted with hooray emoji
AnnaLobo, aakshjn, amrithmmh, rozenc, antoanyanev, alisalmabadi, and ChibaniMohamed reacted with heart emoji
ChibaniMohamed reacted with rocket emoji

@mrohner

This setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
results in an error:
ERROR: Invalid syntax. Default option is not allowed more than ‘2’ time(s).
Type «SETX /?» for usage.

@jeanmoretto

@ShotgunBurger perfect for me. I just deleted that file and «voilà».
It back to work.

@hamid1234567

I could solved this issue by correcting java configuration and change the proxy seeting of java network to correct solution. try these step in windows
1- search configure java from start menu
2- In general tab open network setting and correct it (i changed it to direct connection — no proxy )
arduino work and download rapidly any things

@friesandacoke

@ShotgunBurger That was what I needed. Perfect. Thanks!

To add, most will need to unhide hidden files and folders before they can see the appdata folders.

@sunnydevtale

Hi,

I am also facing the same error while managing the Arduino libraries. I have tried all above solution but this didn’t worked for me.

For me, getting this error due to internet connectivity. I have switch to another internet network and tried again and this Works..!.

Hopefully this issue will resolve for you also.

@MrJ6

@sunnydevtale

@AlexSwensen

I think it might be down today. Tried to access the URL from my phone and home connection. No dice.

@AlexSwensen

@tin345

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

This one worked for me also…. Thanks Much…

@SYEDMAQSOOD05

Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
java.lang.RuntimeException: java.lang.Exception: Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
	at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:176)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.Exception: Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:131)
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:69)
	at cc.arduino.contributions.packages.ContributionInstaller.install(ContributionInstaller.java:110)
	at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:173)
	... 1 more
Caused by: java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(SocketInputStream.java:210)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
	at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:593)
	at sun.security.ssl.InputRecord.read(InputRecord.java:532)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
	at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
	at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	at sun.net.www.MeteredStream.read(MeteredStream.java:134)
	at java.io.FilterInputStream.read(FilterInputStream.java:133)
	at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3375)
	at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3368)
	at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:209)
	at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
	at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:129)
	... 4 more

error

@yokozawa766

Just copy company’s proxy setting to ArduinoIDE>preference>NetworkTab. It works. You can use library manager and board manager.

@maurodom

@yokozawa766

@zexalistic

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

Thank you very much!!!

@cooldew2007

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

This worked for me. Cheers

@DarkStar18

@clivepengelly Wow, open the Command and paste «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true» WORK perfectly. Thank you so much for solving my problem. <3

@xuanbka1

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

thanks !! so lady

@AnnaLobo

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

thaaaaanks the only thing that worked \o/

@amrithmmh

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

this worked for me

@NeMeSiS97

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

This is indeed the correct solution.
Thanks alot mate

@iofirag

open arduino ide
File > Preferences

copy paste to the input box of (Additional boards manager urls):
https://arduino.esp8266.com/stable/package_esp8266com_index.json

click on arduino folder url link at the bottom. and leave it aside.

click ok in preferences screen.

open cmd and copy paste this:
«setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»

open ide again, and wait a minute.
looking on the content folder from before, when something has changed,
wait some seconds to finish,
and then,
delete all from the folder except from the preferences.txt

open:
Tools > Board > Board Manager

see if the loader in the bottom finish working

@smtpsantiago

They recommend deleting the file package_index.json that is stored in package_index.json or package_index.json.tmp

@JeffrySan

I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
I tried by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and delete all of them and nothing happend
None of these fixed the problem.

but when i try to uninstall java and reinstall it and plus to configure java path on Advance System Settings, it’s good (in condition i reinstall arduino, i delete file in arduino>file>preferences folder)

Goodluck guyss

@pvinod424

It worked for me!! Try this definately
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

@Ksol13

I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again and again.
Whats my mistake?

@JeffrySan

Re Install your Java from computer :
1. Uninstall java from (add remove program (search))
2. Install Java from https://www.java.com/en/download/

On Wed, Oct 9, 2019 at 6:13 PM Ksol13 ***@***.***> wrote:
I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again
and again.
Whats my mistake?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5188?email_source=notifications&email_token=ANDDKZKHDJTW5BMYAHEAL5TQNW4F3A5CNFSM4CLEBVB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAXRACY#issuecomment-539955211>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ANDDKZMX7HBWYN5E4RB3NZTQNW4F3ANCNFSM4CLEBVBQ>
.

@MiracelVip

@yihanglim

I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again and again.
Whats my mistake?

Same here, tried all method stated above, the file just keep comes up again when try to open board manager. Are you able to solve it yet?

@ptrooms

@yihanglim I’ve perhaps a related problem.
When I try to use Board_Manager, I run into an java.lang.RuntimeException:

java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
        at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$1(ContributionManagerUI.java:150)
        at java.lang.Thread.run(Thread.java:748)

Note: this BM action updates file(s) from «http://downloads.arduino.cc/packages/package_index.json»
After this, BM exception, Arduino cannot be restarted as long the «package_index.json» exists.
Removing this re-iterates the problem as soon as I (need to) update board manager.

Note: I run Linux, the problem initiated on my old Arduino 1.8.5 (which was fine) and now persists with the latest 1.8.12. The same happens on a cleanly installed machine. Hence, something seems to be wrong with «package_index.json».

@KTibow

You could try deleting all files that seem related to package_index.json, not just package_index.json.tmp.

@ptrooms

@KTibow : same result. Clearing the .Arduino15 directory will refill it with newly downloaded files as soon when I try to use BoardManager.

Further testing, show that (my problem) is related to the signature file «package_index.json.sig», as soon as I remove that file and/or change the original contents of «package_index.json» (which causes an unmatched signature), I can restart Arduino with the per BoardManager newly updated json file.
Problem remains of course that whenever I try to use BoardManager, this file is renewed and again re-iterate the start of the problem (java null-exception at/with BoardManager).

I also compared «package_index.json» with te preserved old one (dated january 2020) and found that new file now of contains the following extra packages: arduino-beta, Arduino megaAVR Boards 1.8.6 (in addition tot 1.8.5), Arduino nRF528x Boards (Mbed OS), avr-gcc 7.3.0-atmel3.6.1-arduino7 (in addition to 7.3.0-atmel3.6.1-arduino5.

I see #10333 reporting this (exception) and continue to contribute there.

@yihanglim

@ptrooms after spending whole night of troubleshooting, I couldn’t find a solution. This version used to work fine for a few days before and suddenly this issue occurred out of nothing. So I uninstalled 1.8.12 and installed the hourly builds (last upated 3 June 2020 22:13:17 GMT) . So far everything runs alright.

@ptrooms

@yihanglim , yes metoo. Currently I’m using the nightly version also. See the other threads for more details. Time for a good nap of sleep.

@facchinm

We had a problem on our package_index.json that caused the error and prevented the IDE to start.
Now the package_index has been fixed, but to recover a working installation you must delete once again the package_index.json with the cache folder and restart the IDE as usual.

Windows:

  • remove file C:\Users\YourUsername\AppData\Local\Arduino15\package_index.json
  • remove folder C:\Users\YourUsername\AppData\Local\Arduino15\cache

Mac:

  • remove file /Users/YourUsername/Library/Arduino15/package_index.json
  • remove folder /Users/YourUsername/Library/Arduino15/cache

Linux:

  • remove file /home/YourUsername/.arduino15/package_index.json
  • remove folder /home/YourUsername/.arduino15/cache

Please note that the problem that prevents the IDE to start has already been fixed and it’s ready for the next release, that’s the reason why the Nightly/Beta Builds are not affected, and also the reason why we did not detect this problem earlier, sorry about that!

@dharmik768

@dammyjay

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

This one worked for me also…. Thanks Much…

so reliefed

@bunya017

If everything here doesn’t work for you, download the package manually and place it in C:\Users\< USER >\AppData\Local\Arduino15\staging\packages. Then go back to the IDE and install again.

@behnamsaberi

I had this issue — I am running Windows 10, Arduino IDE 1.8.3 I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true» I tried a fresh install of the Arduino IDE I tried resetting my PPPoE Connection via my modem to my ISP I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot None of these fixed the problem.

I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»

Now it works fine.

hi , it worked for me too
thanksssss

@arduino
arduino

locked as resolved and limited conversation to collaborators

Jan 26, 2023

СОДЕРЖАНИЕ ►

  • Произошла ошибка при загрузке скетча в Ардуино
    • programmer is not responding
    • a function-definition is not allowed arduino ошибка
    • expected initializer before ‘}’ token arduino ошибка
    • ‘что-то’ was not declared in this scope arduino ошибка
    • No such file or directory arduino ошибка
  • Compilation error: Missing FQBN (Fully Qualified Board Name)

Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.

Произошла ошибка при загрузке скетча Ардуино

Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).

avrdude: stk500_recv(): programmer is not responding

Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Ошибка: programmer is not responding

Ошибка Ардуино: programmer is not responding

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает (programmer is not responding). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».

a function-definition is not allowed here before ‘{‘ token

Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

Ошибка: a function-definition is not allowed

Ошибка: a function-definition is not allowed here before ‘{‘ token

expected initializer before ‘}’ token   expected ‘;’ before ‘}’ token

Сообщение expected initializer before ‘}’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘}’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.

‘что-то’ was not declared in this scope

Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Ошибка Ардуино: was not declared in this scope

Ошибка Ардуино: was not declared in this scope

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.

exit status 1 ошибка компиляции для платы Arduino

Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory. Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:\Program Files\Arduino\libraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

exit status 1 Ошибка компиляции для Arduino Nano

exit status 1 Ошибка компиляции для платы Arduino Nano

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino uno /genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.

missing fqbn (fully qualified board name)

Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.

Что делать?

С такой проблемой сталкиваются довольно
часто. Причем даже те, кто уже имел неплохой опыт программирования ардуино.

Понятное дело, что первое, что приходит на ум
заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.

Существует две наиболее частые ситуации:

  1. Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
  2. Загрузка скетча подвисает, а потом выдает ошибку:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding

1я ситуация разобрана здесь.

Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.

Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью
15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со
скоростью в 2 раза меньше – 57600.

Решить эту проблему можно двумя способами:

  1. Обновить загрузчик на плате
  2. Добавить плату со старым загрузчиком в конфигурацию Arduino IDE

Лично мне кажется, что второй способ – более
универсальный и простой. Поэтому его и опишу.

Итак, зайдите на компьютере в папку, в которую
установлена Arduino IDE. Лично у меня это, как
и большинства, “C:\Program Files (x86)\Arduino”, если Вы на Windows.

Теперь откройте папку hardware\arduino\avr и
найдите файл boards.txt

В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»

Выбор платы из списка

Откройте этот файл в текстовом редакторе,
например, в блокноте.

Найдите в нем строчку uno.upload.speed

Настройки плат ардуино

Мы видим, что скорость загрузки равно 115200.
Но у нас плата, которая хочет 57600!

Можно, конечно, поменять на 115200 на 57600,
но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.

Выход, получается, один – добавить плату,
скажем, UNO2,
на случай скорости 57600.

Предлагаю просто вставить себе мои настройки и сохранить файл:

uno2.name=Uno 57600

uno2.vid.0=0x2341
uno2.pid.0=0x0043
uno2.vid.1=0x2341
uno2.pid.1=0x0001
uno2.vid.2=0x2A03
uno2.pid.2=0x0043
uno2.vid.3=0x2341
uno2.pid.3=0x0243

uno2.upload.tool=avrdude
uno2.upload.protocol=arduino
uno2.upload.maximum_size=32256
uno2.upload.maximum_data_size=2048
uno2.upload.speed=57600

uno2.bootloader.tool=avrdude
uno2.bootloader.low_fuses=0xFF
uno2.bootloader.high_fuses=0xDE
uno2.bootloader.extended_fuses=0xFD
uno2.bootloader.unlock_bits=0x3F
uno2.bootloader.lock_bits=0x0F
uno2.bootloader.file=optiboot/optiboot_atmega328.hex

uno2.build.mcu=atmega328p
uno2.build.f_cpu=16000000L
uno2.build.board=AVR_UNO
uno2.build.core=arduino
uno2.build.variant=standard

##############################################################

nano2.name=Nano 57600

nano2.upload.tool=avrdude
nano2.upload.protocol=arduino

nano2.bootloader.tool=avrdude
nano2.bootloader.unlock_bits=0x3F
nano2.bootloader.lock_bits=0x0F

nano2.build.f_cpu=16000000L
nano2.build.board=AVR_NANO
nano2.build.core=arduino
nano2.build.variant=eightanaloginputs

## Arduino Nano w/ ATmega328P
## --------------------------
nano2.menu.cpu.atmega328=ATmega328P

nano2.menu.cpu.atmega328.upload.maximum_size=30720
nano2.menu.cpu.atmega328.upload.maximum_data_size=2048
nano2.menu.cpu.atmega328.upload.speed=57600

nano2.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano2.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano2.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
nano2.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

Теперь у вас две платы UNO и две Nano:

Выбор платы ардуино в Arduino IDE

Удачи!

Понравилась статья? Поделить с друзьями:
  • Возникла ошибка при добавлении друга
  • Возникла ошибка при активации подарка steam
  • Возникла ошибка посмотрите файл протокола dbeaver
  • Возникла ошибка пожалуйста попробуйте еще раз crunchyroll
  • Возникла ошибка подключения камеры trueconf 1072875772