Skip to content

v4.0.2-rc1: hardware results and mandatory BSSID pin for Ultra variants - #2

Merged
timfromhcs merged 2 commits into
masterfrom
release/v4.0.2
Oct 29, 2026
Merged

timfromhcs merged 2 commits into
masterfrom
release/v4.0.2

Conversation

@timfromhcs

@timfromhcs timfromhcs commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

What changed

Follow-up to #1 (already merged). Three commits:

  • ed796af docs(report): hardware results for v4.0.2-rc1 on the Board 601 / BM1370 unit (192.168.178.80) and the BM1366 incident from the same session.

    • 124 samples over 3 711 s, evaluated from the raw CSV against thresholds written before the run: T1–T9 all pass (0 rejected / stale, 1 530.8 GH/s last-30-min mean, 60.4 °C ASIC / 82 °C VR, heap flat, notifyDropped 0).
    • No improvement is claimed — only that nothing regressed.
    • Records that an un-pinned blackharkminer image went offline after OTA, and the cause.
  • f3563b4 fix(tools): tools/build_release.sh now requires the BSSID pin for timsminer / blackharkminer (none opts out explicitly), validates the format, and drops the gateway/netmask/DNS defaults. tools/test_build_release_args.sh covers the rejections and runs in the host-tests CI job.

  • 88926d9 docs(readme): corrects the README status rows (the 353 h figures were v4.0.0), the build examples (the old ones would now be rejected) and the release row.

Why

On a mesh every node shares the SSID, and a rebooted station takes the loudest one. That can be a node that associates but relays nothing (no DHCP, gateway unreachable). The pin was an optional sixth argument defaulting to empty, so an OTA-flashed unit could end up needing a USB cable. That is what happened to blackharkminer; evidence is in reports/v4.0.2-rc1/HARDWARE_VALIDATION.md §4.

For the reviewer

  • The new argument test fails against the previous build_release.sh and passes against this one. A valid call was checked to pass validation and stop only at the missing IDF environment; no firmware build was run for this change.
  • Limits of the hardware result: one unit, one hour. The image was uploaded through the previous firmware's OTA handler, so the new handler has not run on hardware. Reconnect after a real router outage is NOT MEASURED. Per-sample board/ASIC and Wi-Fi state were not CSV columns and are marked snapshot/reachability based.
  • CI was green for 746a2d7. Runs for f3563b4 were started and not awaited when this PR was opened.
  • Still blocking a Stable release (docs/RELEASE_READINESS.md): no SHA256SUMS in the release assets, pool credentials logged at INFO by stratum_api, and the OTA handler untested on hardware.
  • BSSIDs of the mesh nodes are shortened to suffixes in the new report text. The full pinned BSSID for .80 was already in tools/build_release.sh.
  • Not included: GEMINI.md has uncommitted local edits that are not part of this work.

🤖 Generated with Claude Code

timfromhcs and others added 2 commits October 29, 2026 21:43
…ident

Board 601 / BM1370 (192.168.178.80), 124 samples over 3 711 s, evaluated from
the raw CSV against thresholds declared before the run: all T1-T9 pass
(0 rejected/stale, 1 530.8 GH/s last-30-min mean, 60.4 C / 82 C, heap flat,
notifyDropped 0). Per-sample identity and Wi-Fi state were not CSV columns and
are marked as snapshot/reachability based. No improvement is claimed. The new
OTA handler has not run on hardware yet; reconnect-after-outage is NOT
MEASURED.

Records the BM1366 units flashed in the same session, including the failure:
the un-pinned blackharkminer image went offline after OTA because the station
picked a mesh node that associates but relays nothing (shown on timsminer's
boot log); pinned variants fixed both. States the process fault and that the
pin defaults to empty in tools/build_release.sh.

Readiness: observation criteria and CI status updated; BSSIDs redacted.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
build_release.sh took the BSSID as an optional sixth argument defaulting to
empty. On a mesh every node shares the SSID and a rebooted station takes the
loudest one, which can be a node that associates but relays nothing. The
un-pinned blackharkminer image went offline after OTA that way
(reports/v4.0.2-rc1/HARDWARE_VALIDATION.md section 4).

timsminer/blackharkminer now need <ip> <gw> <mask> <dns> <bssid|none>; 'none'
is an explicit opt-out for single-AP networks, the format is validated, and
the gateway/netmask/DNS defaults are gone so nothing is guessed.

tools/test_build_release_args.sh checks the rejections (no args, missing,
empty, short, non-hex, dashes, trailing char) for both variants and runs in
the host-tests CI job. Against the previous script it fails; against this one
it passes. A valid call was confirmed to pass validation and stop only at the
missing IDF environment.

README, CHANGELOG and RELEASE_READINESS updated accordingly.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@timfromhcs
timfromhcs merged commit 31c120c into master Oct 29, 2026
9 checks passed
@github-actions

Copy link
Copy Markdown

Test Results

  2 files  ±0    2 suites  ±0   1s ⏱️ ±0s
136 tests ±0  136 ✅ ±0  0 💤 ±0  0 ❌ ±0 
138 runs  ±0  138 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit f3563b4. ± Comparison against base commit 746a2d7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant