当前位置: 首页 > news >正文

WiFi 问题记录

开机第一次部分信道扫描扫概率出现描不到AP的问题

问题时间点扫描时在一个信道停留的时间比较短:

12-10 05:01:36.483 1371 1371 I wpa_supplicant: Successfully initialized wpa_supplicant // wpa_supplicant 初始化

行 56537: 12-10 05:01:38.626 643 1259 I TclWifiPerformanceStats: wifi connectivity partly scan start // 开始部分信道扫描 行 56655: 12-10 05:01:38.668 1371 1371 D wpa_supplicant: wlan0: nl80211: Scan trigger 行 56666: 12-10 05:01:38.671 810 810 I [wlan][810]SCANLOG: (SCN INFO) [SCN:100:K2D] Scan flags=0x8 [mac]addr=02:00:00:00:00:00 mask=03:00:00:00:00:00 n_ssids=1: n_channels=3: 1 5 6 // 扫描3个信道 行 56672: 12-10 05:01:38.673 1204 1204 I [wlan][1204]aisFsmSteps: (AIS STATE) [AIS0][0] TRANSITION: [IDLE] -> [SCAN] 行 56690: 12-10 05:01:38.673 1204 1204 I [wlan][1204]scnFsmSteps: (SCN STATE) [SCAN]TRANSITION: [IDLE] -> [SCANNING] 行 56848: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnEventScanDone: (SCN TRACE) at FW_SCAN_STATE_SCAN_DONE state 行 56849: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) Country Code = NC, Detected_Channel_Num = 3 行 56850: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) Channel : 1 5 6 行 56851: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) IdleTime : 2981 572 180 行 56852: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) MdrdyCnt : 36 12 13 行 56853: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) BAndPCnt : 0 0 0 行 56854: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmDumpScanDoneInfo: (SCN INFO) ScanTime : 47 46 46 // 每个信道的停留时间 行 56855: 12-10 05:01:38.832 1204 1204 I [wlan][1204]scnFsmSteps: (SCN STATE) [SCAN]TRANSITION: [SCANNING] -> [IDLE]

扫描结果依赖于接收到beacon或者probe response,beacon 是 100ms 一个,信道停留时间小于 100ms 有概率出现接收不到beacon包。信道停留时间过短,有可能也接收不到AP回复的probe response 包。

得出结论:在每个信道停留的时间比较短,导致出现扫描不到AP的情况。

MTK 芯片扫描时,驱动下发一条扫描命令下去,firmware 执行完扫描后上报扫描结果。

如果 u2ChannelDwellTime 和 u2ChannelMinDwellTime 不设置默认是 0,firmware 就会根据前一次的扫描时的到参数来动态调整在每个信道的停留时间。

问题时间点是冷开机后第一次连接,所以没有之前的扫描数据,且这两个参数为 0,firmware 设置了最小的停留时间。导致这次扫描的时间比较短,出现扫描不到AP的情况。

添加 debug log 发现,基本每次扫描时,这两个参数都是 0。(驱动或者上层扫描时不设置扫描时间时,这两个值都是 0),此时 firmware 根据 MdrdyCnt、BAndPCnt 等上一次扫描时的参数,来动态设置信道的停留时间。

解决方案
在第一次扫描时,设置每个信道的停留时间最大为 90ms,最小为 42ms,以保证第一次扫描不会出现扫描不到AP的情况。

AP开启MLO之后,STR待机回连华硕小旋风路由器,回连只建立一条链路,有时出现回连失败

经过对日志进行拆解分析:

连接失败的情况:四次握手超时,原因是 wpa_supplicant 因为 MLD mac 无效而丢弃了 Eapol key1:
05-28 15:09:30.957 9168 9168 I wpa_supplicant: wlan0: WPA: RX message 1 of 4-Way Handshake from b2:7c:61:ca:58:de (ver=0)
05-28 15:09:30.957 9168 9168 D wpa_supplicant: RSN: msg 1/4 key data - hexdump(len=0):
05-28 15:09:30.957 9168 9168 I wpa_supplicant: RSN: Discard EAPOL-Key msg 1/4 with invalid AP MLD MAC address KDE

添加 debug l

http://www.jsqmd.com/news/496833/

相关文章:

  • 二维码生成器:从前端到打印的全流程
  • 霸王餐CPS系统中Java实现异步化处理提升系统吞吐量的技巧
  • 贪心算法集
  • MarioVerse:基于 Flutter × HarmonyOS 6.0 的超级玛丽游戏画布区域实现详解
  • Qwen2.5-VL-7B-Instruct图文交互教程:多模态思维链(MoT)提示工程
  • 算法基础·C++常用操作
  • 华为AI产品和技术由浅入深巅峰解析
  • SiameseUIE企业级落地案例:政务公文关键信息(人物/机构/事件)批量抽取
  • 常州代理记账哪家好?从一套“糊涂账”说起的实战拆解 - 企师傅推荐官
  • windows装系统教程
  • MarioVerse:基于 Flutter × HarmonyOS 6.0 的超级玛丽跨端游戏控制系统深度解析—从 UI 设计到跨端适配的「游戏控制区域」实战拆解
  • 2026年3月江苏铝合金工具箱/冷冻盒/走台板/托盘/高空作业平台/塔筒平台盖板生产厂家竞争格局深度分析报告 - 2026年企业推荐榜
  • 目前去渍最好的选哪款?2026真实测评美白去垢牙膏品牌推荐:洁净牙齿 - 资讯焦点
  • php python+vue请假考勤功能需求分析
  • AOP切面(是一种思想)
  • 如何在VirtualBox中安装银河麒麟桌面操作系统V10
  • UGUI不规则形状按钮(基于图标不透明区域)
  • Docker上部署前后端分离项目
  • 2026北京婚纱摄影机构对比:如何选到靠谱好店 - 博客万
  • 外贸企业为什么“有产品却没有客户”?问题可能出在获客方式 - 资讯焦点
  • C# WinForms机房管理系统源码|支持SQL Server/MySQL/Access多数据库|.NET Framework窗体应用
  • 机试搜索----dfs
  • OpenClaw企业级AI安全防护实战:七层策略+沙箱隔离+细粒度权限,彻底根治AI越权乱操作
  • C语言:字符函数和字符串函数—及模拟实现
  • 广柔扁平电缆在机器人AI技术创新应用中的前景探索 - 资讯焦点
  • PyQt:从图像文件或字节流生成QImage的速度测试
  • JMeter实战2--阶梯线程组及计算逻辑
  • 链接脚本优化(lsl或ld),Map文件解析,内存分析软件MapSee免费下载
  • ROS2的核心概念A-节点
  • Windows如何阻止应用程序联网