WiFi 修复纪要:AX3 + CAP-1 datapath 故障与恢复
日期:2026-06-16
故障:手机无法连接 WiFi,所有 SSID 不可用或频繁断开
故障根因
- datapath 被意外删除(日志记录 02:22:30),导致 ax3 上 4 个 datapath(dp83-86, bridge=bridge, vlan-id=83-86)全空,所有 WiFi 配置引用悬空指针
- 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, 重启后恢复 |
关键教训
- 删除 datapath 前必须检查是否被引用 — ROS 不阻止删除正在使用的 datapath
- wifi-qcom-ac(IPQ4019)不支持 datapath vlan-id — 必须用
bridge=none 的 datapath + CAP 自身 bridge VLAN
- cap-1 2.4G 驱动偶尔初始化失败 — 重启可解决,但不要改为 CAPsMAN 的 provisioning 设置
- 铁律:改前必备份,改后验证通过再 backup