吐槽一下,苹果的质量管控越来越差了。
Mac OSX Sierra有时突然或升级后会遇到wifi不停重连连不上问题,现象为不停地连接wifi。
网上有人说删除 /Library/Preferences/SystemConfiguration 下的相关配置就可以了,我删了,但是感觉没删除干净,不知道为什么。
我的解决方法:手动把Wifi中的所有wifi记录删除,重新连接wifi输密码。
另一个解决办法是重装系统或timemachine恢复,我第一次遇到这个问题就是这么解决的,当然代价有点大。
说下我做过的一些尝试:
1. 手动设ip、网关、掩码,显示连接wifi成功。 ping 路由、内网其他机器 ok ,ping外网ip fail。netstat -nr 显示是有default路由是对的。traceroute add 了网关(即路由器)ip后,外网ip可访问,利用SS代理可访问网站了,但dns fail 。 dscacheutil -flushcache 没用,怀疑要重启dns相关服务,但考虑到 dhcp模式下完全连不上,总感觉这不是正路。(也不知道osx使用dhcp连接wifi时在做什么)
2. dhcp模式下不停地连接,无法找到合法的内网ip,它莫名其妙生成一个以169.254开头的ip和网关,而且居然这个以169开头的网关也是ping得通的。向网络管理确认了局域网内没有这个ip前缀,可能是以自己为router建立了个单机子网(在代理项设置中默认不做代理的域名除了local还有就是169开头的ip)。。。
查看了控制台的日志和wifi诊断系统的日志,没看出什么问题,几个异常在我正常wifi连接后依然时不时有报,比如 wifi.log里的peerManager is missing 或其他log里的com.alipay.DispatcherService崩溃这种: peerManage的问题 我google了大多数人都是系统都起不来的问题,在debug模式下看到这个日志,也不知道这个peerManager是干啥的;alipay支付宝估计是支付宝的什么后台进程bug,可能不影响功能他们就没管,我强kill掉相关进程还是会不停重启,因为已经注册到了launchd守护进程中,但应该是不影响wifi的。也就是说没有看到关键异常。
我觉得问题可能还是和之前的人的原因是一样的。我猜测可能是wifiAgent相关的模块在写缓存配置之类的时候出现了文件冲突或相关服务写一半挂了,然后之后wifi重启依然还是去读这个配置,然后很蠢的没做什么error识别处理,就stuck或pending了。因此彻底删除缓存配置或手动从界面删除旧的wifi连接(其实也是删除配置),重新建立所有的配置可能就没问题了。