ERR_TIMEOUT
embedded
network_error
ai_generated
partial
lwIP: 到192.168.1.100:80的TCP连接在3次重传后超时
lwIP: TCP connection to 192.168.1.100:80 timed out after 3 retransmissions
ID: embedded/lwip-tcp-retransmit-timeout
80%修复率
90%置信度
1证据数
2024-06-10首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| lwIP v2.1.3 | active | — | — | — |
| lwIP v2.2.0 | active | — | — | — |
| FreeRTOS+TCP v3.0.0 | active | — | — | — |
根因分析
由于网络拥塞、防火墙阻止或设备电源状态,TCP远程主机不可达或未响应。
English
The TCP remote host is unreachable or not responding due to network congestion, firewall blocking, or device power state.
官方文档
https://savannah.nongnu.org/projects/lwip/解决方案
-
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.
无效尝试
常见但无效的做法:
-
Increase the TCP retransmission timeout in lwIP configuration (e.g., TCP_RTO_MIN)
80% 失败
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% 失败
Checksum offloading is unrelated to retransmission timeouts; the issue is network reachability, not data corruption.