So after the holidays, I updated my Arduino IDE to 2.3.7 and updated all libraries, now when I update the board from 3.3.3 to 3.3.5 or 3.3.4 i get an Error 4 Deadline_Exceeded net/http: request canceled (Client.Timeout or context cancellation while reading body).
I even uninstalled 3.3.3, but now I cannot reinstall it or any other. Should I still be using ESP32 for the Nesso?
Hi @Sonicboom The installation of the "esp32" boards platform failed due to timeout occurred during the download.
The duration of the timeout that causes Arduino IDE to cancel a download is configurable. You should be able to work around this problem by configuring a higher timeout value. I'll provide instructions you can follow to do that:
Select File > Quit from the Arduino IDE menus if it is running.
All Arduino IDE windows will close.
Open the file at the following path in any text editor:
If you are using Linux:
/home/<username>/.arduinoIDE/arduino-cli.yaml
(where <username> is your Linux username)
The .arduinoIDE folder may be hidden by default in your file manager and terminal.
If you are using macOS:
/Users/<username>/.arduinoIDE/arduino-cli.yaml
(where <username> is your macOS username)
The .arduinoIDE folder is hidden by default. You can make it visible by pressing the Command+Shift+. keyboard shortcut.
If you are using Windows:
C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
(where <username> is your Windows username)
Add the following content to the arduino-cli.yaml file (or replace the existing content if equivalent content is already present in the file):
network:
connection_timeout: 600s
ā I arbitrarily chose a timeout value of 600 seconds. You can adjust this as needed.
Save the file.
Start Arduino IDE.
Now try installing/updating the "esp32" boards platform again, just the same as you did before. Hopefully this time it will be successful.
Please let us know if you have any questions or problems while following those instructions.
The Arduino developers are tracking the need to adjust the timeout system to avoid spurious failures when the default configuration is in use here:
Please only comment on the GitHub issue thread if you have new technical information that will assist with the resolution. General discussion and support requests are always welcome here on Arduino Forum.
60s is the default value, so this is not expected to fix the problem. However, you might find that the problem is intermittent in the case where you are right at the edge of the point where the download may succeed or fail, depending on network conditions.
Obviously 60 seconds is a very conservative timeout value if this was only applying to the connection as implied by the configuration key name. However, it seems like it must be actually be having some other effect where it causes the download to be terminated even though the initial connection to the server happened well within the 60 s timeout window.
Note: on my machine 600 seconds was not long enough, I changed to 1200 and it
finally installed. Hopefully at some point the ESP32 install could be split or ???
such that it does not take that long!
Thanks for the feedback. I'll increase the value in the future when providing these instructions to affected users.
I was looking at this list of median download speeds:
I had thought the ~8 Mbps I get in my very rural location was only a bit below average, but apparently it is quite atrocious! The ironic thing is that what I have now is actually far superior to the previous situation where we only had satellite Internet (via Viasat/Exede, prior to the advent of Starlink). I had a cap of 10 GB/month, after which I would be downgraded to dial up speeds (at which many sites simply time out instead of loading).
There is some discussion on that subject starting from this point in a separate topic: