Skip to content

mtk-bwmod v1.8

Choose a tag to compare

@Elvandito Elvandito released this 11 Jun 11:28
· 5 commits to main since this release
f93a680

[v1.8] — System File Overlay (Init Layer)

Added

New tuning layer via Magisk system file replacement — applied by Android init system, runs before service.sh and before user space starts.

system/etc/init/mtk-bwmod.rc — Android Init Script

  • Processed by Android init daemon (not Magisk)
  • Runs at two stages:
    • on post-fs-data — early boot, kernel params before network up
    • on property:sys.boot_completed=1 — after modules loaded (BBR, conntrack)
  • Covers: TCP core, UDP buffers, socket core, routing, conntrack, IPv6
  • Universal: Android 8+ on all MTK devices

system/etc/sysctl.d/99-mtk-bwmod.conf — sysctl.d Fallback

  • Applied by init sysctl service on ROMs that process /etc/sysctl.d/
  • Mirrors init.rc settings as a redundancy layer
  • Includes: TCP, UDP, buffers, conntrack, routing, IPv6

Boot Layer Architecture

Android init
  ├─ post-fs-data        ← [NEW v1.8] mtk-bwmod.rc (early kernel params)
  ├─ sysctl.d            ← [NEW v1.8] 99-mtk-bwmod.conf (fallback)
  └─ boot_completed
       ├─ BBR + buffers  ← [NEW v1.8] mtk-bwmod.rc (module-dependent)
       └─ Magisk service.sh (22 sections, fine tuning + radio + WiFi)

Technical Details

mtk-bwmod.rcon post-fs-data (early):

  • TCP fastopen, SACK, window scaling, ECN, keepalive, notsent_lowat
  • UDP rmem/wmem_min, port range 1024-65535
  • Socket: somaxconn=8192, netdev_budget=600, backlog=32768, rps_flow=32768
  • Routing: rp_filter, no redirects, no source routing
    mtk-bwmod.rcon property:sys.boot_completed=1 (late):
  • BBR congestion control (tcp_bbr.ko must be loaded)
  • TCP buffers: 64MB rmem/wmem
  • Conntrack: max=2,000,000, TCP_EST=600s, UDP=30s
    99-mtk-bwmod.conf — sysctl.d:
  • Full mirror of init.rc params as fallback
  • Applied by sysctl --system during init
  • And nothing.