目录

5.NetworkManager 无法自动重连问题排查及解决
前言:公司最近买了一台win10的电脑来做服务器,现技术领导要求改装成linux–CentOS系统,本人完成重装之后要连接wifi,但出现无法重启自动连接,断网自动连接。找了相当多的博客,甚至到官网找资料都无法解决问题(楼主很无力~~)。最后凭系统日志线索和自己的一些思考解决了这个问题。本文着重讲解CentOS7 的无线网络配置及自动重连的问题。
无线网络配置
1.找到无线网卡
首先要找到无线网卡的名称,才能操作它
iw dev
wlp3s0就是本机的无线网卡的名称了。
2.扫描附近的WiFi
iw wlp3s0 scan|grep SSID
其中的SSID就是WiFi名字,找到你熟悉的名字然后开始连接
3.连接WiFi
这里有两款工具:wireless-tools和wpa_supplicant,由于我本机是自带wpa_supplicant的,所以wireless-tools在这里略过。
wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "$SSID" "$password") //$SSID:WiFi名称,$password:WiFi密码
dhclient wlp3s0 //给无线网卡动态分配ip
iw wlp3s0 link //查看无线网络连接状态
看到connected to 说明已经连接成功!
wpa_supplicant介绍:
WPA是WiFi Protected Access的缩写,中文含义为“WiFi网络安全存取”。wpa_supplicant是一个开源项目,已经被移植到Linux,Windows以及很多嵌入式系统上。它是WPA的应用层认证客户端,负责完成认证相关的登录、加密等工作。
wpa_supplicant help //查看wpa指令集
-B指的是使用守护进程在后台执行这个是必须的选项。
-c(小写)指定是使用配置文件:/etc/wpa_supplicant/wpa_supplicant.conf,如果不带配置文件就用这条命令 <(wpa_passphrase "$SSID" "$password") ,把文件作为命令输入。
-i 指的是接口名称,也就是wlp3s0无线网卡了。
在上面的操作中已经成功连接WiFi了,但是wpa_supplicant还没有重启、断线自动连接能力。
4.配置自动连接
这里自动连接就需要使用NetworkManager工具了。
NetworkManager介绍:
NetworkManager是RedHat(红帽组织,传送门: 互相通讯的途径的自由软件项目,它是作为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户端程序。优点是:带有GUI工具界面,能大大简化网络连接。
1.安装NetworkManager
yum -y install NetworkManager-wifi
2.启动NetworkManager
systemctl start NetworkManager
systemctl enable NetworkManager //设置开机启动
现在可以使用nmcli (NetworkManagerClient)命令啦
3.令NetworkManager管理起wifi
扫描WiFi
nmcli dev wifi //扫描WiFi
连接WiFi
这里就有个问题,前面我们是通过wpa_supplicant连接的,这里再用NetworkManager连接就会产生冲突,所以这里我们先重启下network,以便让wap_supplicant的连接失效,然后再操作NetworkManager连接WiFi。
service network restart
nmcli dev wifi connect $SSID password $password //$SSID:WiFi名称,$password:WiFi密码
nmcli conn //查看已连接的WiFi
可以看到已连接WiFi,UUID:060c319f-3e24-4b57-976d-9a2705d2467b
根据UUID来管理WiFi
nmcli c down 060c319f-3e24-4b57-976d-9a2705d2467b //停用WiFi
nmcli c up 060c319f-3e24-4b57-976d-9a2705d2467b //启用WiFi
nmcli c delete 060c319f-3e24-4b57-976d-9a2705d2467b //删除WiFi
systemctl restart NetworkManager //重启
5.NetworkManager 无法自动重连问题排查及解决
WiFi连接上了,楼主重启了无数遍还是不能够自动连接WiFi。网上找相关的博客都很水,根本就没有排查过程,张口就来命令,什么意思也不解释。在这绝望的境地下,也只好自力更生了。
1.NetworkManager排查过程
首先要排查问题,那么日志分析是必不可少的,找到相关的日志信息,有错误提示就能找到解决问题的线索。
less /var/log/messages //查看linxu内核及公共消息日志
进去后按G跳到底部,输入?NetworkManager回车找到NetworkManager的相关日志,按n往上搜索,果然出了几条关键的信息线索:
在红色框里可以看到,出现了三条warn信息,第一条意思是“取消p2p连接失败:返回空的body信息”。第二条意思是“在wap_supplicant 设置WFD IES 失败原因是GDBUS.Error.InvalidArgs没有这个属性” 。第三条意思是:"不能获取请求扫描结果:返回错误的body("ss")"。
分析过程:
第二条信息很关键,因为没有相关属性导致 第一条和第三条都出错了。直接百度搜索 "GDBUS.Error.InvalidArgs: No such property" ,发现没有答案。
其实从日志信息可以知道,NetworkManager会向wpa_supplicant发送请求来获取扫描信息,现在是请求wpa_supplicant时失败了。那就可以初步猜测两个工具之间的兼容问题!
解决问题
既然定位到问题了,兼容问题,那就从工具本身下手吧,下载wpa_supplicant最新版本,然后重启NetworkManager.
yum -y install wpa_supplicant //下载最新版本
systemctl restart NetworkManager //重启NetworkManager
果然,安装最新版本之后,查看日志,NetworkManager已经可以自动扫描WiFi信息连接了。
一、2.4GHz 与 5GHz/6GHz 频段的工程取舍
无线局域网真正可稳定使用的 2.4GHz 信道只有 1、6、11 三条互不重叠(非重叠)信道——每条 802.11 信道占用约 22MHz 带宽,而 2.4GHz 总可用带宽仅 83.5MHz,相邻信道频域重叠会直接引发邻频干扰。在办公、酒店、公寓等 AP 密集场景,手动把相邻 AP 错开到 1/6/11 比”自动信道”更能避免同频踩踏。5GHz 频段信道多、干扰少、速率高,但穿墙衰减大;6GHz(Wi-Fi 6E/7)进一步打开连续频谱,适合高密场馆。工程上低密度家用优先走 5GHz,高密度公共区域再用 2.4GHz 做覆盖补充。
二、干扰定位的实测方法
- 同频干扰:多个 AP 用同一信道,CSMA/CA 退避加剧,表现为 ping 抖动、吞吐腰斩。用 WiFi Analyzer、InSSIDer 或 AC 自带频谱图看同信道 AP 数量。
- 邻频干扰:信道 1 与 2、6 与 7 相邻重叠,必须严格按 1/6/11 规划。
- 非 Wi-Fi 干扰:蓝牙、Zigbee、无绳电话、微波炉、无线图传都可能污染空口。普通 Wi-Fi 嗅探看不到非 802.11 能量,需频谱仪或支持频谱扫描的 AP。
- 多径干扰:信号经墙体多次反射叠加引起深衰落,典型症状就是”信号满格却卡顿”,可通过调整 AP 位置、降低发射功率、启用波束成形缓解。
三、商用场景的信道与功率规划
酒店/宿舍按楼层错开信道组;仓库/车间用 5GHz 定向天线做回传;会议室投屏卡顿多为 2.4G 拥堵,建议给投屏终端单独开 5G SSID。AP 发射功率并非越大越好——过大会造成跨区同频、过小留覆盖空洞,需结合场强仿真(Ekahau、AirMagnet)做 AP 点位与功率联合优化。Wi-Fi 6 的 OFDMA、MU-MIMO、TWT 从调度层面提升多用户效率,但前提是物理层干扰已先控制住。
相关阅读
本文为转载作品。版权归原作者所有;本站仅作技术学习与方案参考,如涉侵权请联系我们删除。



评论 0
还没有评论,来抢沙发吧。