ERR_TIMEOUT
embedded
network_error
ai_generated
partial
lwIP: TCP connection to 192.168.1.100:80 timed out after 3 retransmissions
ID: embedded/lwip-tcp-retransmit-timeout
80%Fix Rate
90%Confidence
1Evidence
2024-06-10First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| lwIP v2.1.3 | active | — | — | — |
| lwIP v2.2.0 | active | — | — | — |
| FreeRTOS+TCP v3.0.0 | active | — | — | — |
Root Cause
The TCP remote host is unreachable or not responding due to network congestion, firewall blocking, or device power state.
generic中文
由于网络拥塞、防火墙阻止或设备电源状态,TCP远程主机不可达或未响应。
Official Documentation
https://savannah.nongnu.org/projects/lwip/Workarounds
-
75% success Implement a TCP keepalive mechanism using tcp_keepalive() to detect connection failure earlier and reduce retransmission count.
Implement a TCP keepalive mechanism using tcp_keepalive() to detect connection failure earlier and reduce retransmission count.
-
70% success Add a fallback DNS resolution check before connecting: if host resolution fails, abort and retry with exponential backoff.
Add a fallback DNS resolution check before connecting: if host resolution fails, abort and retry with exponential backoff.
中文步骤
Implement a TCP keepalive mechanism using tcp_keepalive() to detect connection failure earlier and reduce retransmission count.
Add a fallback DNS resolution check before connecting: if host resolution fails, abort and retry with exponential backoff.
Dead Ends
Common approaches that don't work:
-
Increase the TCP retransmission timeout in lwIP configuration (e.g., TCP_RTO_MIN)
80% fail
Longer timeouts only mask the problem; if the remote host is unreachable, the connection will still fail eventually.
-
Disable TCP checksum offloading on the network interface
95% fail
Checksum offloading is unrelated to retransmission timeouts; the issue is network reachability, not data corruption.