fix(firmware): refresh release_bins to v0.6.5 — fixes node_id=1 on all nodes (#679)
release_bins/ was built from v0.4.3.1 and predated the early-capture node_id fix (PRs #232/#375/#385/#390). Every device flashed from those binaries emitted node_id=1 regardless of provisioned ID, making multi-node deployments appear as a single node. Changes: - Rebuild all 6 release_bins/ binaries from v0.6.5 source (2026-05-20) - esp32-csi-node.bin (8 MB, 1,110,384 bytes) - esp32-csi-node-4mb.bin (4 MB, 894,352 bytes) - bootloader.bin, partition-table.bin, partition-table-4mb.bin, ota_data_initial.bin - Add release_bins/version.txt (0.6.5 / git-sha: d72e06fc8) - README: add Step 0 "Pre-built binaries" flash command with version reference; update expected boot output to show early-capture log line - provision.py: fix write-flash → write_flash (esptool v4.10+ underscore API) Validated on real hardware (COM7 — ESP32-S3 N16R8, node_id=2): I (396) csi_collector: Early capture node_id=2 (before WiFi init, #232/#390) I (406) main: ESP32-S3 CSI Node (ADR-018) — v0.6.5 — Node ID: 2 Closes #679
This commit is contained in:
parent
cfda8dbd14
commit
aeb69315d8
|
|
@ -25,6 +25,23 @@ This firmware captures WiFi Channel State Information (CSI) from an ESP32-S3 and
|
|||
|
||||
For users who want to get running fast. Detailed explanations follow in later sections.
|
||||
|
||||
### 0. Pre-built binaries (v0.6.5 — skip the build step)
|
||||
|
||||
Pre-built binaries are in `firmware/esp32-csi-node/release_bins/` (version: see `release_bins/version.txt`).
|
||||
Flash them directly:
|
||||
|
||||
```bash
|
||||
python -m esptool --chip esp32s3 --port COM7 --baud 460800 \
|
||||
write_flash --flash_mode dio --flash_size 8MB \
|
||||
0x0 firmware/esp32-csi-node/release_bins/bootloader.bin \
|
||||
0x8000 firmware/esp32-csi-node/release_bins/partition-table.bin \
|
||||
0xf000 firmware/esp32-csi-node/release_bins/ota_data_initial.bin \
|
||||
0x20000 firmware/esp32-csi-node/release_bins/esp32-csi-node.bin
|
||||
```
|
||||
|
||||
For 4 MB boards use `release_bins/esp32-csi-node-4mb.bin` and `release_bins/partition-table-4mb.bin`
|
||||
with `--flash_size 4MB`.
|
||||
|
||||
### 1. Build (Docker -- the only reliable method)
|
||||
|
||||
```bash
|
||||
|
|
@ -294,8 +311,9 @@ python -m serial.tools.miniterm COM7 115200
|
|||
Expected output after boot:
|
||||
|
||||
```
|
||||
I (321) main: ESP32-S3 CSI Node (ADR-018) -- Node ID: 1
|
||||
I (345) main: WiFi STA initialized, connecting to SSID: wifi-densepose
|
||||
I (396) csi_collector: Early capture node_id=1 (before WiFi init, #232/#390)
|
||||
I (406) main: ESP32-S3 CSI Node (ADR-018) -- v0.6.5 -- Node ID: 1
|
||||
I (566) main: WiFi STA initialized, connecting to SSID: wifi-densepose
|
||||
I (1023) main: Connected to WiFi
|
||||
I (1025) main: CSI streaming active -> 192.168.1.100:5005 (edge_tier=2, OTA=ready, WASM=ready)
|
||||
```
|
||||
|
|
|
|||
|
|
@ -294,7 +294,7 @@ def flash_nvs(port, baud, nvs_bin, chip):
|
|||
"--chip", chip,
|
||||
"--port", port,
|
||||
"--baud", str(baud),
|
||||
"write-flash",
|
||||
"write_flash",
|
||||
hex(NVS_PARTITION_OFFSET), bin_path,
|
||||
]
|
||||
print(f"Flashing NVS partition ({len(nvs_bin)} bytes) to {port} (chip={chip})...")
|
||||
|
|
@ -499,7 +499,7 @@ def main():
|
|||
f.write(nvs_bin)
|
||||
print(f"NVS binary saved to {out} ({len(nvs_bin)} bytes)")
|
||||
print(f"Flash manually: python -m esptool --chip {args.chip} --port {args.port} "
|
||||
f"write-flash 0x9000 {out}")
|
||||
f"write_flash 0x9000 {out}")
|
||||
# Persist merged state even on dry-run so a subsequent real flash from
|
||||
# this machine sees the same staged config.
|
||||
path = save_state(args.port, args.state_dir, merged)
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
|||
0.6.5
|
||||
git-sha: d72e06fc8
|
||||
built: 2026-05-20
|
||||
Loading…
Reference in New Issue