我家 5 个 AP,WiFi 还是不好用
我家里有 5 个 AP,客厅、主卧、门厅、两个次卧,一台管一个房间。按理说覆盖不该有任何问题。
但 WiFi 一直不太好用:测速能跑一百多兆,网页却时不时卡一下,视频会议偶尔掉帧。路由器 App 里有「一键优化」,点过几次,没什么用。
今天干脆让 AI 从头测一遍。结论先说:不是信号,不是带宽。是三件事叠在一起——自己家的 AP 在打架、一台机器在用电池、以及一个被误读的测试指标。
一、先把数据摆出来
macOS 自带的东西其实够用了,不需要装任何工具:
system_profiler SPAirPortDataType # 当前连接、频宽、信号、邻居网络
networkQuality -v # 带宽 + 延迟质量
ping -c 40 -i 0.15 192.168.123.1 # 到网关的逐包延迟
第一条就照出了问题:5 台 AP 里 3 台挤在 5G 信道 40,1 台在 36。40MHz 频宽下 36 和 40 是重叠的,等于四台机器在一个车位上抢。
这里 AI 第一次判断就偏了。它看到邻居有个 160MHz 的信号盖住了低频段,建议「把信道改到 149」。单 AP 场景是对的,但我家有 5 个 AP——挪一个只是把冲突换个位置。
多 AP 的家庭,第一个该怀疑的永远是自己人,不是邻居。
二、给 5 台排一遍信道
原则三条:
- 5G 全部 40MHz,不要 80MHz。80MHz 一台就占 149–161 整段,五台根本排不开。
- 相邻房间必须错开,同一信道只能给隔得远的两台。
- 高频段(149/157)优先给最常待的房间。
最后定成这样:
| AP | 5G | 2.4G | 使用频率 |
|---|---|---|---|
| 客厅 | 149 | 6 | 最高 |
| 主卧 | 157 | 1 | 高 |
| 门厅 | 44 | 1 | 中 |
| 次卧 1 | 36 | 11 | 低 |
| 次卧 2 | 52 | 11 | 最低 |
改完,丢包从 40% 掉到 0。但延迟还在抖。
三、改完的信道,第二天自己变回去了
第二天打开后台,2.4G 全部变回 AUTO。
翻了一遍「定时服务」,没有任何自动任务。真正的凶手在 AP 列表页的「无线优化 → 一键优化」,它的确认框里写着:
AP 无线信道为 AUTO 时才会优化。
也就是说,它只重排 AUTO 的信道。我 5G 改的是固定值,所以一直保住;2.4G 当时是 AUTO,每次都被它重排。 把 2.4G 也全部钉死之后,这个按钮就没有可改的对象了,等同于失效。
四、真正有价值的是 ping 的「形状」
延迟一直下不来,于是打 40 个包看分布:
3.5 3.4 3.1 3.9 3.3 3.2 ... 24.1 3.4 3.5 ... 115.2 3.3 3.1
这个形状很关键:基线稳在 3.2ms,但每隔几个包就跳一次 20~115ms。
基线稳,说明空口是干净的——没有同频竞争,没有重传。周期性尖峰说明帧被攒着延迟发送。而攒帧是省电模式的行为:AP 把下行帧缓存到 DTIM 信标周期才发。
查了一下电源,这台 Mac 在用电池,76%。插上电,尖峰占比从 22% 掉到 8%,Responsiveness 直接升了一档。
这条最值得记:无线排障里,「平均延迟」几乎没有信息量,「分布形状」才有。 平均 15ms 可能是「一直 15ms」,也可能是「一直 3ms 偶尔 200ms」——后者才是卡顿的来源,但前者才该去查干扰。
五、两个默认关着的 Wi-Fi 6 开关
在「无线配置 → 全局设置」里发现 OFDMA 和 MU-MIMO 都关着。这两个是 Wi-Fi 6 处理并发、降低排队延迟的核心功能,出厂默认关闭。
打开之后:
| 指标 | 关 | 开 |
|---|---|---|
| 下行 | 145 Mbps | 258–274 Mbps |
| 网关 ping 标准差 | 11.8 | 0.39 |
| 网关 ping 最大 | 72.7 ms | 4.7 ms |
40 个包全部在 5ms 以内。这一项是整轮调优里性价比最高的。
六、试了 QoS,然后回滚
最后一个问题:满载上传时延迟会飙到 300ms 以上,典型的 bufferbloat。
后台有「上网限速」,按 IP 段配上下行。我把上行限到 85M 试了一下,延迟确实降了——Responsiveness 从低档升到中档,空闲延迟从 76ms 降到 51ms。
但上行被压到了 35Mbps。我把限速值从 85 改成 150,还是 35。
这说明瓶颈不是限速值,是这台一体机的 QoS 引擎算力不够。它不是整形,是硬性降速。要它做 fq_codel 那种「排队了才丢包」的整形,硬件层面做不到。
花掉六成上行换一个档位,不划算,回滚。
七、那个一直在骗人的指标
整轮下来,networkQuality 的 Responsiveness 一直显示 Low,从 578ms 到 320ms 都是 Low。很容易被它带着跑。
但它测的是「先把带宽打满,再测这时 ping 还能多快回来」,本质是 排队延迟 ÷ 带宽。
所以会出现这种怪事:下行从 145 涨到 258(好事),测试压力也翻倍,分数反而更差;上行从 35 恢复到 90(好事),测试能打满上行,分数又变差。
真正该看的是这三个:
| 指标 | 调优前 | 现在 |
|---|---|---|
| 网关丢包 | 40% | 0% |
| 网关 ping 平均 | 9.6 ms | 4.4 ms |
| 局域网抖动 | σ 19.9 | σ 0.39 |
三个都好了,Responsiveness 还是 Low。这个数字在「带宽变大」的网络里天然吃亏,别拿它单独判死。
八、几个踩过的坑
- 按 IP 段的限速不是 QoS 整形。 名字叫 QoS,干的还是硬限速,而且会增加设备负载、压低吞吐。
- 后台的「保存」按钮不可靠。 我改全局设置点了保存,刷新后状态回去了。后来改成「改一项、保存、刷新复核」,才发现第一次压根没生效。
- 备注字段不能有空格。 我填了
uplink shaping,整个表单提交失败,界面只给了一行小字提示。改成uplink_shaping才成功。 - 多 AP 先治自己。 邻居的干扰你改不了,但五台机器怎么排布完全在你手里。
最后
这套硬件的能力上限不高:信道只有 36–64 和 149–165 两段,没有 DFS 中间段可用;QoS 引擎做不了真正的整形。但它该做的事现在都做到位了——丢包 0、局域网延迟 4.4ms、抖动 0.39。
剩下的只有一件不用改设置的事:客厅那台 AP 装在柜子里,信号 -56dBm,正常视距应该到 -45。挪出来 20cm,比任何设置都管用。
至于 AI 在这轮里起了什么作用——它测数、算信道、翻后台,效率确实比我自己折腾高得多。但它也判断错了两次(以为是邻居干扰、建议过 80MHz 频宽)。它的价值不在于结论对不对,而在于每次都把数据摆到桌上,让错的结论能被下一个数据推翻。