Mac WiFi 间歇性断流断网问题解决

2021-11-25 12:34:47 +08:00
 wwmmkk

记录一下自己解决 MBP 断网问题的过程和最终的解决方案,希望能帮到有同样问题的朋友。
不想看过程的,可以直接翻到最底下。

问题现象
MacBook Pro (15-inch, 2018) 在 macOS Monterey 12.0.1 、以及 Big Sur 版本的系统下,当网络负载较高(持续高速上传下载、虚拟机打游戏…)时,不定时地发生 WiFi 断流。具体表现为 WiFi 图标仍然显示正常连接,但所有 App 都无法打开任何网页。等待约半分钟左右、或者手动关闭 WiFi 再重新打开,可以立刻恢复正常连接。Mac 断流时,同一网络下的其它设备均不受影响。
断网时,macOS 无线诊断工具也能监测到网络中断。在断网时运行诊断工具,提示 DNS 解析失败、建议检查自定义的 DNS 和自定义的网页代理设置,但实际上系统网络设置中并未配置这两项,也没有运行其它的 TiZi 或代理工具。

系统和网络环境
MacBook Pro (15-inch, 2018) ;
macOS Monterey 12.0.1 、macOS Big Sur ,管理员账户;
路由器:ASUS RT-AC1900P ,固件版本 3.0.0.4.386-45934;
WiFi:5GHz 频道 149 ,80MHz ,与周边其它无线网络不存在信道拥挤;
宽带:杭州移动 100MBPS

复现的手段
由于断流现象是偶发的,为了更好地测试,我找到了一个在我的机器上大概率复现此问题的方法。
我的 iPhone 上存储的微信聊天记录很多( 9GB 左右),当通过 Mac 版微信使用聊天记录备份功能备份本地 iPhone 上的聊天记录到 Mac 电脑时,传输过程中大概率出现 WiFi 断流。断流时聊天记录备份中断(提示网络连接遇到问题),且 Mac 无法访问互联网,同时同一网络下的其它设备均不受影响。

排查尝试
首先排除硬件和硬件缓存问题:

  1. 重置 SMC 、PRAM 、NVRAM ,再次尝试复现问题。结果:问题复现(仍断流);
  2. 断开所有外置的 USB 设备,再次尝试复现问题。结果:问题复现(仍断流)。

下一步,考虑是系统软件配置问题:
3. 新建一个 macOS 管理员账户,不更改任何系统设置,直接尝试复现问题。结果:问题不复现(未断流);
4. 进入 Boot Camp 安装的双系统 Windows 10 ,再次尝试复现问题。结果:问题不复现(未断流)。

综上,考虑大概率是原账户中某个软件配置引起的问题。登回到原账户,分别又尝试了以下步骤:
5. 关闭 macOS 系统自带防火墙,再次尝试复现问题。结果:问题复现(仍断流);
6. 关闭蓝牙,再次尝试复现问题。结果:问题复现(仍断流);
7. 网络 TCP/IP 设置下,关闭 iPv6 链接,再次尝试复现问题。结果:问题复现(仍断流);
8. 网络 硬件 设置下,更改 MTU 到 1492 (与路由器一致)或更低,再次尝试复现问题。结果:问题复现(仍断流);
9. 删除 /新建 WiFi 配置 plist 文件,再次尝试复现问题。结果:问题复现(仍断流);
10. 钥匙串设置中,找到 WiFi SSID 名称的那条记录,在“访问控制”中,选择“允许所有应用程序访问此项目”,再次尝试复现问题。结果:问题复现(仍断流);
11. 时间机器中,移除网络 NAS 硬盘,再次尝试复现问题。结果:问题复现(仍断流);
12. 解绑 iPhone 无线连接、退出 iMazing 和 iMazing Mini (它们会自动发起 iPhone 无线局域网备份),再次尝试复现问题。结果:问题复现(仍断流);
13. 退出 Parallels Desktop ,再次尝试复现问题。结果:问题复现(仍断流)。

综上,考虑是某个系统基础服务引起的问题。继续排查,注意到以下现象:
14. 在断流发生的同时,迅速运行 macOS 无线诊断工具。提示:检查自定 DNS 和代理设置;
15. 在断流发生时,Ping IP ,可以 Ping 通; Ping 域名,不通;
16. 在断流发生时,活动监视器中,mDNSResponder 有时会大量收发数据包;强制 Kill 掉该进程,Launchd 会自动重启它,重启后,网络连接立刻恢复。

分析与问题解决
综上,WiFi 断流发生时,网络连接实际上是正常的,但 DNS 解析出现了问题。该问题大概率与 mDNSResponder 有关。
mDNSResponder 是 Bonjour 网络发现服务的一部分。记得在 OS X Yosemite 发布当初,苹果引入了一个叫 DiscoverD 的新进程替换掉了 mDNSResponder ,随后导致了大量的网络断流问题,后面就又换回了 mDNSResponder 。在苹果换回 mDNSResponder 之前,当时的临时解决方案是禁用掉 AWDL 服务即可恢复网络连接。
AWDL 是 AirDrop 隔空投送的支持服务。怀疑我遇到的断流问题也与 AWDL 有关。遂又做了以下尝试:

  1. 在原账户中禁用 AirDrop ,再次尝试复现问题。结果:问题不复现(未断流);
  2. 在新建的纯净账户中启用 AirDrop (默认是关闭状态),再次尝试复现问题。结果:问题复现(仍断流)。

到此基本确定是 AWDL 引发的问题。与 Yosemite 当时的大范围问题表现如出一辙,只不过出现得没有 Yosemite 当初那么频繁,那会儿是频繁出现,现在只在大流量传输时偶发。但当初的解决方案今天仍然有效。

解决方案
下载 WiFriedX 小工具,运行后勾选“Disable AWDL/AirDrop”,禁用 AWDL 服务
注意:根据 Yosemite 当时的经验,仅关闭 AirDrop 功能可以大幅降低断流的概率,但仍不彻底。彻底解决还是需要禁用 AWDL 服务。禁用后 macOS 的 AirDrop 将无法收发文件。AirPlay 不受影响(测试了 Monterey 下从 iPhone AirPlay 到 Mac 、以及 Mac 端 AirPlay 到 HomePod ,都是正常的)。

5601 次点击
所在节点    Apple
25 条回复
crystone
2021-11-26 22:58:53 +08:00
希望下一个版本的更新能修复。不行只能用楼主方法解决了
LoneFireBlossom
2021-12-09 09:53:19 +08:00
哎 我也有这个问题 但是表现不一样,一直都没解决。https://www.v2ex.com/t/815467
zshstc
2021-12-11 11:48:18 +08:00
终于有高手出现了
我一直以为是家里软录音或者华硕 Mesh 对问题

不过 Airdrop 还是经常用,等彻底解决的方法
contractswif
2022-01-24 01:04:50 +08:00
我也有同样的问题
hellomrbigshot
2022-02-17 17:12:14 +08:00
这可太牛了。我公司 mbp 一拿回家连上 wifi ,全家 wifi 就阵亡了。我晚上试试这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817875

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX