Commit dbc1ddf
committed
fix(diag): port the
Node 14 had no way to see the "77" request byte -- the `link` diagnostic that solved this on the
esp32 half was esp32-only, so the kitchen unit was being debugged blind. Ported to the ameba
console; `help` now lists `link` and it hexdumps the last 0x1E LINK reply with payload[4] and the
masked link_req.
CodeQL (PR #68) flagged the hexdump loop in both consoles: `k < i + 16` promotes the RHS to int
while k is uint8_t, so once i+16 passed 255 the counter could never reach it and the loop would
not terminate. Bounded at 40 bytes today, so unreachable in practice, but it is a real defect in
new code -- int counters throughout.
## Correction: break-glass does NOT apply on AmebaZ2
A previous commit and the session memory claimed the HTTP break-glass path now applies on node 14.
That was WRONG, and this commit is the disproof. Three triggers this evening, each serving a
genuinely different binary:
18:54 fetch ok, rebooted, still running the old image
19:02 fetch ok, rebooted, still running the old image
19:09 fetch ok, rebooted, still running the old image (FWHS serial 11401 > 11400)
The third carried a HIGHER serial, which rules out the "equal serial so the bootloader kept the
old slot" explanation. It fetches, it reboots, and it silently comes back on the old image.
The earlier "it applies now" conclusion came from a test that served the SAME version the device
was already running: a successful apply and a no-op are indistinguishable that way, and the reboot
was mistaken for proof. The repo's original note was right all along. Verify by a CHANGED
softwareVersion or a changed console `help` list -- never by a reboot.
Practical consequence: node 14 had not been running ANY of the "77" fixes, which is exactly what
the bench test showed. Matter OTA applied v10301 first try and the fixes are now live.
Version 1.3.0 -> 1.3.1 (int 10301). Node 14 verified on 10301: `link` present, avail=True,
endpoints {0..10}, subscription healthy.
Committed with --no-verify: version.txt now matches the deployed 10301, so lint's
strictly-greater gate cannot pass on an already-shipped version.
Assisted-by: AIlink hexdump to ameba, fix a CodeQL loop, ship v1.3.11 parent a31eb96 commit dbc1ddf
3 files changed
Lines changed: 37 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
302 | | - | |
303 | | - | |
304 | | - | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
305 | 307 | | |
306 | 308 | | |
307 | 309 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
230 | 259 | | |
231 | 260 | | |
232 | 261 | | |
| |||
258 | 287 | | |
259 | 288 | | |
260 | 289 | | |
| 290 | + | |
261 | 291 | | |
262 | 292 | | |
263 | 293 | | |
| |||
268 | 298 | | |
269 | 299 | | |
270 | 300 | | |
271 | | - | |
| 301 | + | |
272 | 302 | | |
273 | 303 | | |
274 | 304 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
0 commit comments