mirror of
https://github.com/esphome/esphome.git
synced 2026-09-18 18:48:39 +00:00
9265d9e0f810e1b3aa1c37fc53134267d8174c70
When LWIPRawImpl creation was deferred to the main-loop accept(), the queued PCB had no recv callback registered. lwip's default tcp_recv_null handler ACKs incoming data but drops it silently. On ESP8266, lwip processes TCP segments in batches — if the SYN completion and first data packet arrive in the same batch, the API handshake data is lost, causing SocketClosedAPIError (EOF). Fix: register temporary recv/err callbacks on queued PCBs that buffer any data received before accept() creates the LWIPRawImpl. The buffered data is transferred to the new socket via init().
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
603 MiB
Languages
C++
55.7%
Python
43.7%
C
0.3%
JavaScript
0.2%
