diff options
| author | Your Name <you@example.com> | 2026-05-19 20:33:37 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-19 20:33:37 +0530 |
| commit | 918432128df5797045dc27407d30851a60c1a69f (patch) | |
| tree | 5ab9f1bf061490de0a971888252d0c66e1fc17d3 | |
| parent | c89ab319fd520c9914b015264a26b581e2103954 (diff) | |
docs: update E2E fix plan with hardware blocker and validation status
| -rw-r--r-- | docs/E2E_FIX_PLAN.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/E2E_FIX_PLAN.md b/docs/E2E_FIX_PLAN.md index 480a2d3..814b5de 100644 --- a/docs/E2E_FIX_PLAN.md +++ b/docs/E2E_FIX_PLAN.md | |||
| @@ -151,3 +151,33 @@ Tests use fixed sleeps after flash. No polling for HTTP server readiness. | |||
| 151 | 151 | ||
| 152 | 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 | 152 | 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 |
| 153 | (Socket fix -> Owner fix -> Connection close -> Portal config API -> NAPT fix -> Boot probe -> Validate) | 153 | (Socket fix -> Owner fix -> Connection close -> Portal config API -> NAPT fix -> Boot probe -> Validate) |
| 154 | |||
| 155 | ## Blockers | ||
| 156 | |||
| 157 | ### Board A needs physical power cycle (ACTIVE) | ||
| 158 | |||
| 159 | After ~20 erase/flash cycles during debugging, Board A's WiFi AP stopped | ||
| 160 | routing TCP traffic. ICMP (ping) works but all TCP ports return RST | ||
| 161 | (connection refused). Serial shows HTTP servers starting successfully | ||
| 162 | but connections from the host are rejected. | ||
| 163 | |||
| 164 | **Symptoms**: | ||
| 165 | - `ping 10.192.45.1` works | ||
| 166 | - `curl http://10.192.45.1:2121/` → "Connection refused" | ||
| 167 | - `nmap -p 80,2121` → both "closed" | ||
| 168 | - Serial: "Captive portal started on port 80", "API started on port 2121" | ||
| 169 | - Even the original (unmodified) firmware exhibits this issue | ||
| 170 | - Board produces serial output (not fully crashed) but TCP is broken | ||
| 171 | |||
| 172 | **Fix**: Physical power cycle (unplug USB, wait 10s, reconnect). | ||
| 173 | RTS/DTR reset via esptool is NOT sufficient. | ||
| 174 | |||
| 175 | ### LWIP socket exhaustion still needs validation | ||
| 176 | |||
| 177 | `CONFIG_LWIP_MAX_SOCKETS=16` and `max_open_sockets=2` have been set in the | ||
| 178 | code but not yet validated on a working board. The theory is correct | ||
| 179 | (14 sockets needed, 10 available) but the actual fix hasn't been verified. | ||
| 180 | |||
| 181 | ### All code changes are committed (c89ab31) | ||
| 182 | |||
| 183 | Steps 0-4 are implemented in the codebase. Steps 5-6 require a working board. | ||