feat(watch): treat ModemManager journal as redial standard

Use MM registration/packet-service events as the recovery trigger
instead of public egress probes, so re-register heals with zero
cellular traffic. Wait for wwan IPv4 after settle, coalesce bursts,
and keep ip-monitor + poll as fallbacks.
This commit is contained in:
Hermes
2026-07-24 09:53:03 +00:00
parent 6a3015aecc
commit 659ad6f950
5 changed files with 304 additions and 29 deletions
+12 -1
View File
@@ -29,8 +29,19 @@ REQUIRE_CELLULAR_IFACE=true
CELLULAR_IFACE_PATTERNS=wwan,wwp,usb,enx,ppp,cdc
# 后台监控(推荐开):网卡改名/掉线/无 IPv4 时自动 rebind;默认开启 long-running watch
ENABLE_CELLULAR_WATCH=true
# watch 轮询兜底间隔秒(事件驱动 ip monitor 为主)
# watch 轮询兜底间隔秒(事件驱动 ip monitor + ModemManager 日志为主)
WATCH_INTERVAL_SEC=60
# 以 ModemManager 日志为「重拨/重注册」标准(零公网流量,只读本机 journal)
# 命中 home→searching / attached→detached / bearer 断连等后:settle → 等 IPv4 → generate/restart
WATCH_MM_EVENTS=true
WATCH_MM_UNIT=ModemManager
# 事件后先等几秒再查数据面(避免刚 detached 就 generate
WATCH_MM_SETTLE_SEC=5
# 等待 wwan IPv4 / MM home 的最长时间
WATCH_MM_READY_TIMEOUT_SEC=90
WATCH_MM_READY_POLL_SEC=2
# 同一轮抖动合并窗口(searching→registering→home 只恢复一次)
WATCH_MM_COALESCE_SEC=20
# ---- 代理监听(局域网其它设备用 0.0.0.0)----
# mixed = 同一端口同时支持 HTTP 代理 与 SOCKS5