跳转至

WiFi 修复纪要:AX3 + CAP-1 datapath 故障与恢复

日期:2026-06-16
故障:手机无法连接 WiFi,所有 SSID 不可用或频繁断开


故障根因

  1. datapath 被意外删除(日志记录 02:22:30),导致 ax3 上 4 个 datapath(dp83-86, bridge=bridge, vlan-id=83-86)全空,所有 WiFi 配置引用悬空指针
  2. cap-1 2.4G 无线硬件驱动初始化失败tx-chains="" rx-chains=""hw-type="target-type-0",报 failed to prepare interface

修复步骤

1. AX3 datapath 重建

# 备份(先)
/system/backup/save name=before-wifi-fix-2026-06-16

# 重建 4 个 datapath
/interface/wifi/datapath/add name=dp83 bridge=bridge vlan-id=83
/interface/wifi/datapath/add name=dp84 bridge=bridge vlan-id=84
/interface/wifi/datapath/add name=dp85 bridge=bridge vlan-id=85
/interface/wifi/datapath/add name=dp86 bridge=bridge vlan-id=86

# AX3 本地配置绑定 datapath(ax3 QCA6018 支持 vlan-id)
/interface/wifi/configuration/set cfg-83 datapath=dp83
/interface/wifi/configuration/set cfg-84 datapath=dp84
/interface/wifi/configuration/set cfg-85 datapath=dp85
/interface/wifi/configuration/set cfg-86 datapath=dp86

# CAP 配置绑定 datapath(cap-1 IPQ4019 不支持 vlan-id,所以用 bridge=none 的替代 datapath)
/interface/wifi/datapath/add name=dp83-cap bridge=none
/interface/wifi/datapath/add name=dp84-cap bridge=none
/interface/wifi/datapath/add name=dp85-cap bridge=none
/interface/wifi/datapath/add name=dp86-cap bridge=none

/interface/wifi/configuration/set cfg-83-cap datapath=dp83-cap datapath.bridge=none
/interface/wifi/configuration/set cfg-84-cap datapath=dp84-cap datapath.bridge=none
/interface/wifi/configuration/set cfg-85-cap datapath=dp85-cap datapath.bridge=none
/interface/wifi/configuration/set cfg-86-cap datapath=dp86-cap datapath.bridge=none

# 重新触发 provisioning(禁用/启用规则)
/interface/wifi/provisioning/disable [find]
:delay 2
/interface/wifi/provisioning/enable [find]

# 验证
/interface/wifi/print
/interface/wifi/registration-table/print

# 备份(后)
/system/backup/save name=after-wifi-datapath-fix-2026-06-16

2. CAP-1 2.4G 修复(重启)

# 通过 ax3 反向代理 SSH 到 cap-1
# ax3 dstnat: port 22222 → 192.168.86.151:22
ssh -p 22222 xf@192.168.29.125

# 检查 2.4G 无线状态
/interface/wifi/print where name~"wifi[14]"
# 输出: wifi1 = MBI (INACTIVE, managed by CAPsMAN)

/interface/wifi/radio/print detail where interface=wifi1
# 输出: tx-chains="" rx-chains="" hw-type="target-type-0"

# 重启 cap-1
/system/reboot

# 等待 60 秒后验证
/interface/wifi/print where name~"wifi[14]"
# 输出: wifi1 = MBR (RUNNING), wifi4 = BR (RUNNING)

# 备份
/system/backup/save name=after-reboot-2ghz-fix-2026-06-16
# AX3 侧备份
/system/backup/save name=after-2ghz-fix-2026-06-16

恢复后的配置状态

datapath

名称 bridge vlan-id 用途
dp83 bridge 83 ax3 SSID 83
dp84 bridge 84 ax3 SSID 84
dp85 bridge 85 ax3 SSID 85
dp86 bridge 86 ax3 SSID 86
dp83-cap none cap-1 SSID 83(不直连 bridge)
dp84-cap none cap-1 SSID 84
dp85-cap none cap-1 SSID 85
dp86-cap none cap-1 SSID 86

设备 WiFi 覆盖

设备 2.4G 5G 备注
ax3 SSID 83/84 (2ghz-ax) SSID 85/86 (5ghz-ax) QCA6018, 全通
cap-1 (RBcAPGi-5acD2nD) SSID 83/84 (2ghz-n) SSID 85/86 (5ghz-ac) IPQ4019, 重启后恢复

关键教训

  1. 删除 datapath 前必须检查是否被引用 — ROS 不阻止删除正在使用的 datapath
  2. wifi-qcom-ac(IPQ4019)不支持 datapath vlan-id — 必须用 bridge=none 的 datapath + CAP 自身 bridge VLAN
  3. cap-1 2.4G 驱动偶尔初始化失败 — 重启可解决,但不要改为 CAPsMAN 的 provisioning 设置
  4. 铁律:改前必备份,改后验证通过再 backup