github TheUnboundDeveloper/AM-Reaper v3.4.3-beta-GT-BE19000
Reaper v3.4.3-beta — GT-BE19000

pre-release5 hours ago

v3.4.3 — packets dropped at the Runner on IPv6 DNS-over-TLS, radios lost on a network restart

  • A packet with more than four fragments was dropped at the Runner (field, GT-BE98). The Runner's CPU
    transmit path takes at most four page fragments per non-GSO packet (RUNNER_MAX_SG_FRAGS); the closed
    bdmf refuses the rest and the prebuilt enet driver drops the packet, logging skb->nr_frags N exceed max_sg_array 4, and the retransmit carries the same fragments and is dropped again. stubby writes small TLS
    records to several upstreams from one thread, so once the upstream round trip is long - IPv6 DNS-over-TLS
    through a 6in4 tunnel, any broker - a packet collects 5-10 fragments. The kernel now linearizes a non-GSO
    packet with more than net.core.reaper_tx_sg_max (4; 0 = stock) fragments before the driver sees it;
    net.core.reaper_tx_sg_linearized counts how often. On an older image net.core.max_skb_frags=4 is a
    no-build workaround. Host test test_kernel_runner_sg_cap.py; reaper_verify section 28 checks the kernel
    that was built.
  • 5 GHz and 6 GHz radios dead after a network restart with Dynamic puncturing on.
    restart_net (an IPv6 or LAN change), allnet, net_and_phy and wps_enr tore the radios down without
    stopping the radio readers - rpunctd arms a 4 s measurement window on every Dynamic radio each tick,
    reaper_bwfloor and rchqd read every 15 s and 10 s - and never dropped wlready, so rpunctd's own guard was
    blind; the wl1 and wl2 dongle firmware trapped seven seconds in and stayed down until a power cycle while
    every client sat on 2.4 GHz. The readers now stop beside stop_acsd() in every teardown branch and in
    restart_wireless, an armed window is waited out, and each reader also pauses on its own while rc_service
    names a radio-stopping service. Confirmed on the owner box: two restart_net, radios up, no trap. A trapped
    dongle cannot be revived from userspace (dhd devreset re-downloads the firmware and it traps again), so
    prevention is the whole fix. Host test test_wl_readers_quiesce.py.
  • Diagnostics v1.3.38. Section 15 reports the Runner cap, max_skb_frags, the refused-packet lines (the
    syslog count anchored on the kernel's own line) and tx_dropped per port; section 5 counts DNS-over-TLS
    upstreams by family; section 7 names a radio that is on but whose driver has no adapter; 19b counts dongle
    traps, lists the crash dumps by name and prints the restart that preceded each; the dmesg summary no longer
    masks "exceed" as "N". Host test test_diag_sanitizer.py.

Images & checksums (GT-BE19000)

Two flashable images: + AI Advisor (default) and Standard (noMCP, all AI components compiled out entirely). Flash the *_nand_squashfs.pkgtb via Administration > Firmware Upgrade.

This is a beta release. Its filename carries _BETA and the router reports the same string on the dashboard and the About page, so you can always tell which channel a flashed image came from. Stable releases carry no marker.

Variant File SHA-256
+ AI Advisor GT-BE19000_3006_102.8_Reaper_v3.4.3_BETA_nand_squashfs.pkgtb ab9f394d85ec9c420b657ecdd5dda0023c21e1f4fe016c0996fce098d6ec967d
Standard GT-BE19000_3006_102.8_Reaper_v3.4.3_BETA_noMCP_nand_squashfs.pkgtb 2ad1f6183285d005d8c29ca8c88d8c9fbf6e8cb342fb9f882847ae67532d01fb

Verify a download against the attached SHA256SUMS-GT-BE19000-Reaper_v3.4.3.txt.


Corresponding source & reproducibility

The GT-BE19000 image for v3.4.3-beta is built from this repository at tag v3.4.3-beta-GT-BE19000: the pinned Asuswrt-Merlin base (3006.102.8-beta2, a7ebfa133a) plus the complete patch series. The tag freezes the exact source that produced it.

The auto-attached Source code (zip/tar.gz) asset below is this repository at tag v3.4.3-beta-GT-BE19000 (patches + docs).

Don't miss a new AM-Reaper release

NewReleases is sending notifications on new releases.