Macbook2015无法连接ax3000的wifi问题分析

2023-11-05 15:50

本文主要是介绍Macbook2015无法连接ax3000的wifi问题分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

最近部门在公司挂测了一台ax3000的家用级无线mesh路由器,一挂测上后按照默认配置生效,但是就发现公司一些同事老的苹果电脑无法连接wifi的情况,但是手机和一些新款的苹果电脑都可以连接这个wifi,这就很诧异,于是就开始了一些列的问题分析。

不能连接wifi现象描述

办公室一些同事老的苹果电脑始终无法连接上ax3000的路由器的wifi,一输入密码等了10秒左右就出现就提示无法加入wifi。

问题分析步骤

1、查看ax3000wifi路由器配置:

*5G和2.4G处于双频分开状态,5G处于44信道160MHZ频段(在这个频段都是支持160MHZ的),24G处于11信道,40MHZ频段,2者的加密方式都是WPA2-aes。

2、怀疑是加密问题导致?

所以更改了5G的的加密方式为wpa2-tkip和ccmp加密方式后,在请同事连接5G的wifi还是无法连接成功,然后同事又尝试了一下单独去连接2.4Gwifi,这个时候怪异的事情发生了2.4G连接上了,5G却连接不上,这时候我就纳闷了,2.4G才开始是和5G都是WPA2-AES加密的,这就排除了加密方式的原因了,所以这个老的苹果电脑一定是支持wpa2-aes加密的,然后我又重新把5G的加密方式改回来后,在次让同事进行连接,诡异的事情发生了,他们还是连接不是5G的wifi,2.4G可以连接上。于是我放弃了加密方式的排查。

3、有一位同事怀疑是苹果电脑不支持11ax,所以可能导致终端连接不上

(但是我对这个怀疑方向不抱有太大希望,因为我之前在弄企业级AP的时候,有些特殊终端不支持11ax的时候是扫描都扫描不到,但是这里是可以扫描到5Gwifi的,证明这个ax3000的5G发送的beacon报文是能够收到的,且可以自动向下协商phy mode)

*我按照同事的这个思路将这款ax3000的11ax开关给关闭后,老的苹果电脑还是始终连接不上,这个方向也被排除了。

4、我开始怀疑是不是160MHZ的原因?怀疑这个ax3000在11n上无法向下兼容40MHZ,11ac无法兼容80MHZ?

于是我将ax3000路由器的160MHZ更改为80MHZ,让同事在此去连接,他们居然都连接上了,到这里我以为是160MHZ的原因,然后我将所有配置都恢复成初始化的配置,只将5G的160MHZ更改为80MHZ,让他们在去连接,结果他们又连接不上了,我晕...............,我都不知道是哪里有问题了。后面我就不信邪了,不可能又是玄学现象把。于是我开始抓空口管理帧进行分析。

备注:这里能够连接上的时候,扫描到5G是161信道,这个问题点很重要,因为路由器是自动信道,每更改一次wifi相关的配置每次都可能出现信道的变更。

4、开始抓取报文进行分析这个时候我开始强制固定信道,每次更改了wifi配置后都去看下是不是在44信道,避免信道乱跳的原因,抓取的报文如下:

 可以看到报文,只有probe阶段的报文,且当路由器回复了response报文后,终端一直没有进行下一步的动作,下一步应该是终端自己去进行auth阶段。我怀疑是信道利用率太高导致macbook没收到?于是展开probe response的layer字段去查找有没有QBS的字段,结果没有

于是我让同事重新走近一点在去连接,还是连接不上。。。。。

5、于是我开始仔细分析这个交互报文,查看相关参数都是正常的,在HT\VHT里都是可以向下兼容的。

于是我将方向更换到国家码和信道的方向 进行排查,在报文的beacon报文中发现,怎么是台湾地区的国家码???,使用的信道又变成了36的,哎呀这路由器设定的固定信道也居然会跳。

 于是我去查了一些台湾地区5G的信道使用规定,发现,台湾地区不能使用36、44、48、52信道,而我现在处于大陆地区,信道其实和国家码没有完全一一对应,因为大陆地区是支持低频段的36信道的,这里其实我有疑问为什么手机又可以哈?难道新的终端在国家码地区上和信道权限方面做了响应的更改吗?识别到报文中字段是在台湾地区,但你又用的是我不允许的信道所以我不连了?

可以看到上诉图片,台湾地区低频段只支持56、60、64(后面括号里的是对应信道支持的最大发射功率),到这里我已经感觉找到了大致的问题方向了。

备注:这里遇见了一个很坑的东西,就是路由器是自动信道,但是路由器管理界面显示的信道居然和实际不一致,这里在才开始也误导了自己的定位方向

6、手动将国家码设置成161信道,因为161信道大陆支持,台湾也支持,并且之前能够连接上的时候也是在161信道。

更改后果然不出意料,原先所有不能连接的苹果电脑均能够进行连接,到这里我还没有完全确定是不是国家码的问题,于是我又更改了一个信道到60信道,如果说这个终端严格按照国家码来识别话,在60信道的话,11ac他只能协商到40MHZ,因为在5.2G频段,台湾地区只支持56、60、64,在信道绑定上不足以绑定到80MHZ,因为在5.2G频段的信道不能向上绑定5.8G频段的信道。果然和我猜想的没错,老的苹果电脑连接上协商为40MHZ,手机终端和新一点的苹果电脑能够协商到80MHZ,基本确定是国家码和信道的关系了。

7、现在回过头来分析前面有一次更改了wifi配置后,老的苹果都连接上的现象有结论了:之前连接上是由于信道刚好跳到161信道了,而正好161信道是大陆地区和台湾地区都支持的信道,后面又突然都连接不上了,是由于信道又跳到了36信道或者其他台湾地区不支持的信道上,老的苹果电脑可能识别到了报文中的国家码是台湾地区,但是信道又不在台湾地区的许可内,所以老的苹果电脑在进行了probe阶段后就不在继续进行后面的auth\assocaite\rsn等步骤了,这下一下全部都理通了,就可以将这个方向发送给研发进行debug和定位了。

总结

在此问题中,我们怀疑了加密方式的不对、信道干扰较大、11AX终端不支持、160MHZ终端不支持以及信道和国家码等方向,最终才确定是该路由器在调试的时候没有按照国家码地区和信道之间的绑定关系,导致一些老的终端关联失败的现象。

本文所设计的资料均为学习记录。

这篇关于Macbook2015无法连接ax3000的wifi问题分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_45625596/article/details/130910345
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/350883

相关文章

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景