Arduino IDE Fehler „Failed to update esp32“ beheben – so geht’s
Wer mit der Arduino IDE und ESP32-Boards arbeitet, stößt früher oder später möglicherweise auf einen frustrierenden Fehler beim Installieren oder Aktualisieren der ESP32-Plattform. Der Update-Vorgang bricht dabei plötzlich ab und die Arduino IDE meldet, dass die Installation fehlgeschlagen ist. Besonders ärgerlich ist dies, da der Fehler auf den ersten Blick oft schwer nachvollziehbar erscheint und das Arbeiten mit dem ESP32 unmöglich macht.

Fehlermeldung
Die typische Fehlermeldung lautet dabei oftmals wie folgt:
Failed to update esp32. Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)
oder auch:
Failed to install platform: „esp32:esp32:3.3-6-RC1′. Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client. Timeout …
Der Grund für diesen Fehler ist in der Regel ein zu langsamer Download. Während die Arduino IDE versucht, die benötigten Dateien aus dem Internet zu laden, überschreitet der Download die erlaubte Zeitspanne und es kommt zu einem sogenannten Timeout. Infolgedessen wird der Vorgang automatisch abgebrochen. Dies kann sowohl an einer langsamen oder instabilen Internetverbindung liegen als auch daran, dass der entsprechende Update-Server stark ausgelastet ist und die Daten nur verzögert bereitstellt.
Problem beheben
Um das Problem dauerhaft zu beheben, muss die erlaubte Downloadzeit in der Konfiguration der Arduino IDE erhöht werden. Dafür wird die Datei „arduino-cli.yaml“ angepasst, welche die Netzwerkeinstellungen der Arduino CLI enthält. Diese Datei kann mit einem einfachen Texteditor oder einem Code-Editor wie Visual Studio Code geöffnet werden.
Windows Nutzer finden diese Datei unter dem Pfad:
C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
Nutzer von macOS finden die entsprechende Datei dagegen im Verzeichnis (der Arduino-Ordner ist unsichtbar, ihr müsst daher eventuell zunächst das Anzeigen von unsichtbaren Dateien zulassen):
/Users/<username>/.arduinoIDE/arduino-cli.yaml
Nach dem Öffnen der Konfigurationsdatei sollte überprüft werden, ob ein Abschnitt mit dem Eintrag „network:“ sowie dem Parameter „connection_timeout“ vorhanden ist. Falls dieser Abschnitt noch nicht existiert, kann er wie folgt manuell ergänzt werden.
network:
connection_timeout: 1000s
Dabei wird der Wert für „connection_timeout“ auf „1000s“ gesetzt. Ist der Eintrag bereits vorhanden, genügt es, den bestehenden Wert entsprechend zu erhöhen und ebenfalls auf 1000 Sekunden festzulegen.
Durch diese Anpassung wird die maximal erlaubte Dauer für Downloads deutlich verlängert. Dadurch erhält die Arduino IDE genügend Zeit, um die ESP32-Plattform auch bei langsamen Verbindungen oder stark ausgelasteten Servern vollständig herunterzuladen. Nach dem Speichern der Datei und einem Neustart der Arduino IDE sollte das Update in der Regel ohne weitere Probleme durchgeführt werden können.
Thank you! This trick saves me!
hallo,
nach diesem Eintrag startet Arduini IDE nicht mehr.
Was kann ich noch machen.
möglicherweise etwas geduldig sein?
Arduino startete auch bei mir nicht nach zwei Tagen Geduldsprobe.
Warum weis ich nicht und habe kurzerhand den Eintrag entfernt und nun kommt das Programm wieder hoch.
SCHLECHTER TIPP!!
Es ist wichtig den Eintrag nicht doppelt zu haben. Falls der network-Eintrag bereits existiert muss lediglich die Anzahl der Sekunden angepasst werden – ansonsten kann die Arduino IDE nicht mehr starten.
Mit anderen Worten – es muss sichergestellt sein, dass in der Konfigurationsdatei nur einmal der Eintrag:
network:
connection_timeout: 1000s
vorhanden ist. Dann funktioniert es auch.
Bei mir startet Arduino auch nicht mehr 2.3.7
Dann den Befehl wieder löschen und nochmal überprüfen ob der Eintrag wirklich nur einmal in dieser Datei vorhanden ist.
ich habe den Fehler gefunden.
ich habe den Eintrag per Copy und Paste übernommen.
Vor connection_timeout war ein gesetzt.
ich habe den durch Leerzeichen ersetzt- dann hat es mit 120s funktioniert.
Danke für die Hilfe
Roland