v2.3.0 — Animated header, a standalone health-probe switch, a real "Store only" mode, and one row per device
- The sign-in, set-password, and logout screens now show an animated model header. It plays once when the page finishes loading and freezes on the finished "RT-BE96U REAPER" wordmark; the static logo is unchanged everywhere else (dashboard / shell header). It is delivered as an animated PNG (APNG) through the existing image path, so it needs no change to how the login page is served. (An earlier attempt using an
.mp4never displayed: the login page is shown before you authenticate, and a logged-out browser is only served a fixed set of image types — video isn't one of them, but an animated PNG is, so it simply works. The dead.mp4handler was reverted, leaving the pre-authentication surface exactly as it was.) - New: a standalone "Health probe" switch on Administration → Data Export. The per-device connection-health probe (round-trip latency, jitter, loss, TCP connection count/state) can now be turned on or off independently of export, so you can collect and watch the metrics — and use Preview payload — without configuring any external destination. The probe used to come on only as a side effect of enabling export, which is why Preview showed empty braces
{}when export was off; Preview now shows a clear message ("enable the probe", or "collecting — no samples yet") instead. - New: a real "Store only" retain/send mode. The Long-Term Storage export control now has four modes — Off / Store only / Store + Export / Export only — and the misleading "Off" label is fixed. "Store only" keeps the connection-health history on the router with no external push; "Off" now genuinely retains and sends nothing (it previously kept a local copy whenever a durable location was set, which is exactly what made the old "Off — history kept locally" label wrong). Stored history lands in the RAM / JFFS / USB location already selected at the top of that page.
- Fixed: a device could appear twice in the health metrics, the analytics export, and the Traffic Analyzer — once by its MAC and once with its IP address in the MAC field. When a traffic flow's source MAC couldn't be resolved at that moment (an offline device whose ARP entry had aged out), the collector created a second, IP-keyed entry for a device it already tracked by MAC. It now reuses the real MAC-keyed entry for that IP, and a lightweight once-a-second sweep folds away any phantom created before the MAC was known (or restored from a pre-fix history database), so each device shows exactly once. Existing duplicates clear on the next reboot.
- Warden's total-blocked count truly persists now. A boot-time cleanup was wiping Warden's persistent baseline on every start (it had survived the earlier v2.2.1 persistence fix), so the total could still reset. That cleanup is now gated so the baseline is only removed when Warden itself is turned off.
- The apply / reboot overlay also locks the header and side navigation while a framed page finishes loading. Building on the full-screen overlay from v2.2.5, the shell now disables the top header and side rail during a framed page's own load spinner, so you can't navigate away at a critical moment.
- The firmware update-check log messages now say "Reaper", not "Merlin". Two informational log lines still carried the upstream name; rebranded (behavior unchanged).
- The Traffic Analyzer's "By network" view no longer shows a "Router" row. That bucket was the router's own self-traffic (NTP, update checks, the latency probe), not a real network; it's hidden from the per-network breakdown (still collected internally).
- The Roaming Assistant help text is simplified to just "0 = off" on the all-bands WiFi Professional page (owner request).
- Pre-distribution review hardening. A four-agent audit of the v2.3.0 changes (daemon, httpd/CGI + pre-auth surface, UI, cross-component coherence) found no shipping blockers; the follow-ups it surfaced were folded in: the standalone Health-probe toggle now refuses to turn off while an export mode is armed — doing so would freeze the pushed feed while the exporter kept sending the last snapshot, so the probe stays required until you set the retain/send mode to Off (turning the probe on is always allowed); the Long-Term Storage export note now states that any non-off mode enables the probe; and a dead leftover
.mp4handler was removed from the httpd source (it was in an unlinked table — cosmetic slop from the mp4→APNG work). Two rtrafd data-quality caveats were reviewed and kept as documented tradeoffs (a device-name mis-attribution only under DHCP-lease reuse of an offline device's IP; a negligible byte undercount when a duplicate row is folded away). - Built + shipped on all five models (RT-BE96U + RT-BE86U / RT-BE88U / GT-BE98 / GT-BE98 Pro), both variants each (with and without the AI Advisor) — each model built as itself with its own banner + animated header, verified by the port guards (correct BUILD_NAME/base/SAMBA4, one per-model APNG with no cross-model clobber, dictionaries in lockstep).
Images & checksums (RT-BE86U)
Two flashable images: + AI Advisor (default) and Standard (noMCP, all AI components compiled out entirely). Flash the *_nand_squashfs.pkgtb via Administration > Firmware Upgrade.
| Variant | File | SHA-256 |
|---|---|---|
| + AI Advisor | RT-BE86U_3006_102.8_Reaper_v2.3.0_nand_squashfs.pkgtb
| 8d4fbd36951100c3990e11fa2993b6a9f4afea964cc3adc39e61c243d5238c0e
|
| Standard | RT-BE86U_3006_102.8_Reaper_v2.3.0_noMCP_nand_squashfs.pkgtb
| fefcfa8f4134008de35ac3a8a74207b3c3c3d9a7b45cd81a04a0a5c817a0f6d6
|
Verify a download against the attached SHA256SUMS-RT-BE86U-Reaper_v2.3.0.txt.
Corresponding source & reproducibility
The RT-BE86U image for v2.3.0 is built from this repository at tag v2.3.0-RT-BE86U: the pinned Asuswrt-Merlin base (3006.102.8-beta2, a7ebfa133a) plus the complete patch series. The tag freezes the exact source that produced it.
- Patches:
patches/ - Provenance record:
provenance/manifest.json - How to verify:
docs/REPRODUCIBILITY.mdanddocs/SOURCE-AVAILABILITY.md
The auto-attached Source code (zip/tar.gz) asset below is this repository at tag v2.3.0-RT-BE86U (patches + docs).