v0.1.0: announcement draft, status log
This commit is contained in:
parent
844541e5a7
commit
b97fa9ec05
2 changed files with 50 additions and 0 deletions
9
PLAN.md
9
PLAN.md
|
|
@ -99,6 +99,15 @@ router-dependent.
|
||||||
router LAN / join `zach` WiFi from devuan-hpz (key + likely MAC-whitelisted,
|
router LAN / join `zach` WiFi from devuan-hpz (key + likely MAC-whitelisted,
|
||||||
but changes this machine's network path mid-session).
|
but changes this machine's network path mid-session).
|
||||||
|
|
||||||
|
- 2026-08-20 (later): MVP v0.1 complete. All 9 worklist steps: scaffold,
|
||||||
|
parser correctness (hidden trailer = recovered version metadata),
|
||||||
|
dataset-driven golden tests, ELF emitter (readelf-validated; Ghidra
|
||||||
|
open-check deferred to Ghidra bring-up — deviation noted), 54-revision
|
||||||
|
dataset, diff engine + 3 pilot reports (2026 build: 0xe003b000 region
|
||||||
|
~95% changed, new RA/DPD/thermal strings), docs (format/boot), CI
|
||||||
|
(push + weekly track), v0.1.0 tagged. Announcement drafted, not posted —
|
||||||
|
hosting decision still open.
|
||||||
|
|
||||||
## Open items
|
## Open items
|
||||||
|
|
||||||
- Repo name + hosting (GitHub reach vs Codeberg/self-hosted Forgejo;
|
- Repo name + hosting (GitHub reach vs Codeberg/self-hosted Forgejo;
|
||||||
|
|
|
||||||
41
docs/announcement-draft.md
Normal file
41
docs/announcement-draft.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# Announcement draft (v0.1.0) — do not post as-is
|
||||||
|
|
||||||
|
Venue plan: OpenWrt forum (Hardware / MediaTek section) first, link from
|
||||||
|
r/reverseengineering. Undersell: this is format tooling + docs + update
|
||||||
|
tracking; the deep RE comes later.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Subject: mtk-wifi-fw v0.1 — tooling, format docs, and a changelog for
|
||||||
|
MediaTek Connac2 WiFi firmware (mt7915/16/7981/86)
|
||||||
|
|
||||||
|
Body:
|
||||||
|
|
||||||
|
The WiFi firmware on Filogic routers ships in linux-firmware with its
|
||||||
|
version strings stripped (`fw_ver = "____000000"`) and no changelog. I've
|
||||||
|
been picking the containers apart; first release of the toolkit:
|
||||||
|
|
||||||
|
- **Extractor + ELF export** — carves `*_wm/wa/rom_patch.bin` into their
|
||||||
|
load regions and emits EM_NDS32 ELF at true addresses, ready for Ghidra
|
||||||
|
(official NDS32 module). Works across mt7915/7916/7981/7986.
|
||||||
|
- **Format spec + boot notes** — field-by-field container documentation
|
||||||
|
cited to the mt76 loader source, plus how the four images (ROM patch,
|
||||||
|
WM, WA, WED WO) load onto the three NDS32 cores.
|
||||||
|
- **Recovered version metadata** — the containers carry a second,
|
||||||
|
kernel-unused trailer with the *full* build string (branch, MP tag, build
|
||||||
|
timestamp). We've indexed every revision ever shipped to linux-firmware
|
||||||
|
(54 so far, 2020→2026).
|
||||||
|
- **Version diffing** — region-aligned byte equality + string-set diffs.
|
||||||
|
Example finding from the 2026 mt7981 build: near-total rework of the
|
||||||
|
0xe003b000 code region, new rate-adaptation params (HT 20/40 coex), DPD
|
||||||
|
calibration and thermal-power strings — details in the repo's reports.
|
||||||
|
|
||||||
|
No firmware bytes in the repo; tools run against your own linux-firmware
|
||||||
|
copy. Everything is tested (any blob you test must be a known upstream
|
||||||
|
revision) and CI tracks upstream weekly.
|
||||||
|
|
||||||
|
What's next: Ghidra annotation projects, the MCU command ABI map, and
|
||||||
|
eventually documentation of the WM/WA boundary. Feedback welcome,
|
||||||
|
especially from mt76 devs and anyone who's looked inside these blobs.
|
||||||
|
|
||||||
|
(link)
|
||||||
Loading…
Reference in a new issue