I have something strange going on here. I have many ESP32 (ESP32-WROOM-32D) working but lately updating them with OTA is getting more difficult. They just seem to fail with a timeout. These boards are all working and wireless logging also works 100% of the time, Just a OTA code updated fails. I need to try many times to get a successful update. Updating via a USB cable works every time without issues. Seems to suggest network issues but I have no issues with any ESPHome Wifi devices once the code is flashed. I am also using static IP addresses. But this did not help.
Here are few logs with the failures.
INFO ESPHome 2024.6.6
INFO Reading configuration /config/esphome/esp32-pumps.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp32-pumps (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.3
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.4
|-- Wire @ 2.0.0
|-- ArduinoJson @ 6.18.5
|-- Improv @ 1.2.3
RAM: [== ] 16.2% (used 52968 bytes from 327680 bytes)
Flash: [========= ] 90.4% (used 1658257 bytes from 1835008 bytes)
========================= [SUCCESS] Took 19.18 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.106
INFO Uploading /data/build/esp32-pumps/.pioenvs/esp32-pumps/firmware.bin (1664032 bytes)
Uploading: [============ ] 20% ERROR Error receiving acknowledge chunk OK: [Errno 104] Connection reset by peer
And another one
RAM: [== ] 16.2% (used 52968 bytes from 327680 bytes)
Flash: [========= ] 90.4% (used 1658257 bytes from 1835008 bytes)
========================= [SUCCESS] Took 19.29 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.106
INFO Uploading /data/build/esp32-pumps/.pioenvs/esp32-pumps/firmware.bin (1664032 bytes)
Uploading: [======= ] 12% ERROR Error receiving acknowledge chunk OK: [Errno 104] Connection reset by peer
and another
RAM: [== ] 16.2% (used 52968 bytes from 327680 bytes)
Flash: [========= ] 90.4% (used 1658257 bytes from 1835008 bytes)
========================= [SUCCESS] Took 19.16 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.106
INFO Uploading /data/build/esp32-pumps/.pioenvs/esp32-pumps/firmware.bin (1664032 bytes)
Uploading: [==== ] 6% ERROR Error receiving acknowledge chunk OK: [Errno 104] Connection reset by peer
But Wireless logging works fine. Always.
INFO ESPHome 2024.6.6
INFO Reading configuration /config/esphome/esp32-pumps.yaml...
INFO Starting log output from 192.168.1.106 using esphome API
INFO Successfully connected to esp32-pumps @ 192.168.1.106 in 0.073s
INFO Successful handshake with esp32-pumps @ 192.168.1.106 in 0.432s
[20:44:38][I][app:100]: ESPHome version 2024.6.6 compiled on Aug 16 2024, 13:43:18
[20:44:38][I][i2c.arduino:096]: Results from i2c bus scan:
[20:44:38][I][i2c.arduino:102]: Found i2c device at address 0x40
Here is a sample yaml but it does not seem to matter as it effects many boards with different yaml
esphome:
name: "esp32-pumps"
friendly_name: "esp32-pumps"
esp32:
board: esp32dev
framework:
type: arduino
api:
encryption:
key: qN1ks2Cze123xWx5upTDD6H15IYKYExYwCIPoqHg=
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.106
gateway: 192.168.1.1
subnet: 255.255.255.0
ap:
ssid: "ESP PUMPS HOTSPOT"
password: "SXYTSAXXSA1234"
logger:
level: INFO
ota:
platform: esphome
improv_serial:
web_server:
esp32_improv:
authorizer: none
i2c:
sda: GPIO21
scl: GPIO22
sensor:
- platform: ina226
address: 0x40
shunt_resistance: 0.1 ohm
id: ina_sensor
bus_voltage:
name: "Bilge Pump Voltage"
id: bilge_pump_voltage
update_interval: 1s