From 5e603764266568084eaae9ec0e0b130e7f233402 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 May 2026 23:52:04 +0530 Subject: docs: update all plans with current board inventory and smoke test results - Board A (ttyACM1): USB flash failing, cable issue - Board B (ttyACM0): Flashed esp32-tollgate, smoke test 6/9 pass - NerdAxe (ttyACM2, fan-damaged): TOLLGATE=1 flashed, crash loop in APIsFetcher - Working NerdAxe (ttyACM1, 80:b5:4e:c7:7a:d0): Can't flash (USB brownout) - Test mint intermittently down (TLS error) - Firewall not blocking unpaid clients (needs investigation) --- PLAN_EXECUTION.md | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 PLAN_EXECUTION.md (limited to 'PLAN_EXECUTION.md') diff --git a/PLAN_EXECUTION.md b/PLAN_EXECUTION.md new file mode 100644 index 0000000..e1f4716 --- /dev/null +++ b/PLAN_EXECUTION.md @@ -0,0 +1,140 @@ +# Execution Plan — TollGate + NerdQAxePlus Integration + +**Created:** 2026-05-28 +**Updated:** 2026-05-28 +**Status:** In Progress — Smoke testing phase + +--- + +## Locked-In Decisions + +| Decision | Choice | +|----------|--------| +| esp32-tollgate GitHub repo | `OpenTollGate/tollgate-esp32` | +| esp32-tollgate default branch | `master` | +| NerdQAxePlus GitHub repo | `c03rad0r/ESP-Miner-NerdQAxePlus` | +| NerdQAxePlus branch | `develop` | +| Target boards | Board A + Board B + NerdAxe | +| Board variant | `NERDQAXEPLUS` for dev boards, `NERDAXE` for BM1366 hardware | +| Nostr remotes | `ngit-dev` (relay.ngit.dev) + `gitnostr` (gitnostr.com) | +| Stratum username fallback | Option A: `#ifdef TOLLGATE` uses `CONFIG_STRATUM_USER` | +| Component version | v1.3.0 | +| ASIC-less testing | Safe — TollGate WiFi/payment/portal work without ASIC | +| Upstream WiFi | `EnterSSID-2.4GHz` / `c03rad0r123!` | + +## Board Inventory + +| Board | Port | MAC | Hardware | Status | +|-------|------|-----|----------|--------| +| A | `/dev/ttyACM1` | `94:a9:90:2e:37:7c` | ESP32-S3 dev | USB flash failing, cable issue | +| B | `/dev/ttyACM0` | `fc:01:2c:c5:50:50` | ESP32-S3 dev | Flashed, needs NVS config + smoke test | +| NerdAxe | `/dev/ttyACM2` | `80:b5:4e:c7:79:88` | BM1366 ASIC (fan-damaged) | Needs flash + smoke test | + +**Important:** Ports shift on USB replug. Always verify with `esptool --port chip-id`. + +## Current State + +| Item | Value | +|------|-------| +| esp32-tollgate `master` | HEAD `10c69b0` (pushed to GitHub + relay.ngit.dev) | +| esp32-tollgate `feature/tollgate-core-v2` | HEAD `8f18b7a` v1.3.0 (pushed to GitHub + relay.ngit.dev) | +| NerdQAxePlus `develop` | HEAD `a2fd1fa6` (9 TollGate commits rebased on upstream, pushed to GitHub) | +| IDF Component Registry | v1.2.0 live, v1.3.0 pending upload | +| Unit tests | 29 tests, all pass | +| orangesync.tech | Entirely offline | + +--- + +## Step 1: Stratum Username Fallback ✅ + +- [x] 1a-c. Implemented, committed, verified + +## Step 2: Add Nostr Remotes (esp32-tollgate) ✅ + +- [x] 2a-f. `ngit-dev` and `gitnostr` added, pushed to relay.ngit.dev + +## Step 3: Add Nostr Remotes (NerdQAxePlus) ✅ + +- [x] 3a-d. Remotes added, push to nostr deferred (repo too large) + +## Step 4: Push esp32-tollgate to GitHub ✅ + +- [x] 4a-d. Both branches pushed, default set to `master` + +## Step 5: Rebase + Push NerdQAxePlus ✅ + +- [x] 5a-g. 9 TollGate commits rebased onto upstream `4b8f3225`, pushed to GitHub + +## Step 6: Bump tollgate_core to v1.3.0 ✅ + +- [x] 6a-f. Bumped, committed, pushed, rsynced to NerdQAxePlus + +## Step 7: Re-publish to IDF Component Registry (PENDING) + +- [ ] 7a. `compote component pack --path components/tollgate_core` +- [ ] 7b. `compote component upload --name tollgate_core --namespace c03rad0r` +- [ ] 7c. Verify v1.3.0 on components.espressif.com + +## Step 8: Update Docs ✅ + +- [x] 8a. PLAN_BITAXE_FIXES.md updated with checklist +- [x] 8b. REMOTES.md updated with current state +- [x] 8c. PLAN_EXECUTION.md updated + +## Step 9: Build NerdQAxePlus ✅ + +- [x] 9a. `TOLLGATE=1 BOARD=NERDQAXEPLUS idf.py build` passes +- [x] 9b. `TOLLGATE=1 BOARD=NERDAXE idf.py build` — needs verification for NerdAxe + +## Step 10: Flash Boards + +- [ ] 10a. **NerdAxe** (`/dev/ttyACM2`, MAC `80:b5:4e:c7:79:88`): Flash with `BOARD=NERDAXE` +- [ ] 10b. **Board B** (`/dev/ttyACM0`, MAC `fc:01:2c:c5:50:50`): Already flashed, needs NVS config +- [ ] 10c. **Board A** (`/dev/ttyACM1`, MAC `94:a9:90:2e:37:7c`): Blocked by USB issue + +## Step 11: Configure NVS on NerdAxe + +- [ ] 11a. Connect to NerdAxe AP, note IP +- [ ] 11b. `curl -X PATCH http:///api/system -d '{"ssid":"EnterSSID-2.4GHz","wifiPass":"c03rad0r123!"}'` +- [ ] 11c. `curl -X PATCH http:///api/system -d '{"stratumUser":"bc1q7n70rumyv6lvu8avpml0c3uggvssfu52egum3q.nerdqaxe"}'` +- [ ] 11d. `curl -X POST http:///api/system/restart` +- [ ] 11e. Wait for reboot, verify upstream WiFi connection + +## Step 12: Smoke Test NerdAxe + +- [ ] 12a. AP visible +- [ ] 12b. Connect to AP +- [ ] 12c. Captive portal auto-redirects +- [ ] 12d. Portal page renders (price, mint, form) +- [ ] 12e. Generate token: `cashu -h https://testnut-nutshell.mints.orangesync.tech send --legacy 21` +- [ ] 12f. Submit token → payment accepted +- [ ] 12g. Internet passthrough: `curl -I https://google.com` +- [ ] 12h. `GET /api/tollgate/status` +- [ ] 12i. `GET /api/tollgate/wallet` +- [ ] 12j. `GET /api/tollgate/config` +- [ ] 12k. `POST /api/tollgate/grant` +- [ ] 12l. Disconnect + reconnect → internet blocked +- [ ] 12m. `GET /api/system/info` — check ASIC detection +- [ ] 12n. Serial monitor: check ASIC init output, hashrate + +## Step 13: Smoke Test Board B (if time permits) + +- [ ] 13a-13n. Repeat Step 12 on Board B + +## Step 14: Final Commit + Push + +- [ ] 14a. Commit doc updates +- [ ] 14b. Push esp32-tollgate to GitHub + nostr +- [ ] 14c. Push NerdQAxePlus to GitHub + +--- + +## Risks + +| Risk | Mitigation | +|------|------------| +| NerdAxe ASIC dead from fan block | TollGate still works ASIC-less; diagnose via serial | +| Test mint down | Skip payment test, test everything else | +| Board doesn't create AP | Check serial monitor | +| `BOARD=NERDAXE` build fails | Use `NERDQAXEPLUS` variant, works ASIC-less | +| `compote` CLI syntax changed | Check `compote --help` before upload | -- cgit v1.2.3