最近在解bug的过程中经常遇到密码正确但处于saved的状态,总结原因有已下几种:

1 在ASSOCIATING阶段由于丢包导致ASSOC REJECT

03-16 09:22:12.440 D/WifiMonitor( 924): Event [IFNAME=wlan0 CTRL-EVENT-DISCONNECTED bssid=08:cc:68:9e:ac:20 reason=3 locally_generated=1]

03-16 09:22:16.596 I/wpa_supplicant(23065): wlan0: CTRL-EVENT-ASSOC-REJECT bssid=0e:bd:51:c7:b6:33 status_code=1

2 在4WAY_HANDSHAKE阶段由于密码错误、丢帧或者弱信号丢包导致WRONG_KEY:

密码错误在4WAY_HANDSHAKE阶段中的2/4次握手会显示wrong key。

如果已经连接过则显示

01-01 23:19:01.778 I/wpa_supplicant(19043): wlan0: CTRL-EVENT-SSID-TEMP-DISABLED id=1 ssid="Onetouch Idol 3 (4.7)" auth_failures=1 duration=5 reason=WRONG_KEY。

丢帧导致连接断开:

Line 127671:< 3>[86294.177961] wlan: [24597:E :PE ] limHandleMissedBeaconInd: 2121: Sending EXIT_BMPS_IND to SME due to Missed beacon from FW

信号弱导致断开:

02-28 21:56:59.703 I/wpa_supplicant(31023): wlan0: CTRL-EVENT-DISCONNECTED bssid=c8:3a:35:2b:71:30 reason=0

02-28 21:56:59.713 E/WifiStateMachine( 821): NETWORK_DISCONNECTION_EVENT in connected state BSSID=c8:3a:35:2b:71:30 RSSI=-89 freq=2437 was debouncing=false reason=0 ajst=0

reason=0表示因为信号弱而断开。

3 4WAY_HANDSHAK成功但DHCP FAILURE

四步握手成功但获取IP地址失败

03-14 14:21:59.681 E/WifiStateMachine(28360): WifiStateMachine DHCP failure count=0

03-14 14:21:59.705 E/WifiConfigStore(28360): message=DHCP FAILURE

4 被AP踢出,这个原因需要sniffer log分析

reason=2,reason=7,reason=15代表被AP踢出,在kernel log中可以找到对应的deauth信息。

03-14 14:21:29.932 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=c4:14:3c:29:47:05 reason=7

< 3>[86553.353983] wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 7 from c4:14:3c:29:47:05

03-14 14:20:03.274 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=1c:1d:86:e9:e2:85 reason=15

<3>[86568.199309] wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 15 from 1c:1d:86:e9:e2:85

03-14 13:42:24.354 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=c4:14:3c:29:47:25 reason=2

< 3>[85195.665538] wlan: [28055:E :PE ] limProcessDeauthFrame: 144: Received Deauth frame for Addr: 44:a4:2d:52:bc:a5 (mlm state = eLIM_MLM_LINK_ESTABLISHED_STATE, sme state = 12 systemrole = 3) with reason code 2 from c4:14:3c:29:47:25

5 在信号相差5-10rssi的时候会发生roam,roam是在firmware层发生的,不会断开。

03-14 14:19:24.774 I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0

03-14 14:19:24.781 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to c4:14:3c:29:47:25 completed [id=0 id_str=]

03-14 14:19:30.298 I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0

03-14 14:19:30.316 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to c4:14:3c:29:47:05 completed [id=0 id_str=]

03-14 14:19:48.681 I/WifiHAL (28360): event received NL80211_CMD_ROAM, vendor_id = 0x0

03-14 14:20:00.162 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to 1c:1d:86:e9:e2:85 completed [id=0 id_str=]

6 在打开auoto join的情况下,也会发生roam,也不会断开

03-14 12:09:32.171 E/WifiStateMachine(28360): WifiStateMachine shouldSwitchNetwork txSuccessRate=0.00 rxSuccessRate=0.00 delta 1000 -> 1000

03-14 12:09:34.505 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-CONNECTED - Connection to 6c:99:89:b0:01:85 completed [id=0 id_str=]

03-14 12:09:55.132 I/wpa_supplicant(28064): wlan0: CTRL-EVENT-DISCONNECTED bssid=6c:99:89:b0:01:85 reason=0

03-14 13:10:51.805 E/WifiStateMachine(28360): WifiStateMachine shouldSwitchNetwork txSuccessRate=0.00 rxSuccessRate=0.00 delta 1000 -> 1000

android wifi断开原因分析相关推荐

  1. Android -- Wifi启动流程分析

    Android -- Wifi启动流程分析 Android网络各个模式中,Wifi应该是目前最常用的一种网络方式了:下面就简单介绍下Android中Wifi的启动流程. 当我在Setting菜单里点击 ...

  2. Android WiFi —softAP流程分析

    Android WiFi - Ap功能实现与源码分析 0. 前言 wifiAp的ip WifiAp的config分析 2.1 默认的config 2.2 修改wifiAp的config配置流程 开启/ ...

  3. websocket 占用 端口_WebSocket断开原因分析,再也不怕为什么又断开了

    1. 把错误打印出来 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来. ws.onclose = function (e) { console.log('webso ...

  4. Android WIFI log基本分析流程

    同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦. 1.W ...

  5. android内存泄漏原因分析,Android Studio3.6的内存泄漏检测功能 VS LeakCanary

    2020年2月,谷歌发布了Android Studio 3.6版.它包括一个新的"内存泄漏检测"功能.这是否意味着我们不再需要流行的内存泄漏检测库"Leak Canary ...

  6. android内存泄漏原因分析,android 内存泄漏问题

    内存泄露问题在一些压力测试的场景很容易暴露,例如一些常用应用场景反复操作(eg:反复切换前后摄像头,反复进入退出相机应用.压力拍照等等). 内存泄露一般表现为: ①内存分配释放,导致进程空间虚拟地址被 ...

  7. Android ANR问题原因分析

    今天有收到测试同事提的一个ANR的问题单,大家在平时的开发过程中应该都有碰到过这样的问题,尤其是跑monkey,各种错误,之前我们项目还有出现过在Fragment当中直接调用getActivity空指 ...

  8. Android 关机/重启原因分析

    1.重启log过滤 过滤tag为bootstat的log,中间会有比如:boot reason: shutdown,userrequested的信息,标时上一次设备重启的原因. 详细介绍见https: ...

  9. android内存泄漏原因分析,Android 内存泄漏案例分析总结(Handler)

    在Android开发开发中,操作不当很容易引起内存泄漏,这里主要记录下平时遇到问题,包括:静态变量(也包含集合).非静态的内部类.Handler.监听器,尤其是 Handler 在开发中要格外的注意. ...

最新文章

  1. 【tmos】SpringBoot登录拦截
  2. SRM598 Div1
  3. 使用python中的socket实现服务器和客户端,并完成图片的传输
  4. 【译】理解 JavaScript 中函数调用和 this
  5. TableAdapter 概述
  6. redhat搭建NIS服务器
  7. MATLAB 2018a软件安装教程
  8. Random Forests
  9. 制作404页面的重要性
  10. 机器学习 vs. 深度学习
  11. 远程办公也可以很高效
  12. NodeJS 使用官方oracledb库连接数据库教程
  13. 在 Java 虚拟机上班是一种怎样的体验?
  14. java使用重绘实现拖动_【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸...
  15. 《Spring微服务实战》读书笔记——通过配置服务器来管理配置
  16. cad2004教程_AutoCAD视频教程!0基础到大神,室内建筑机械电气家具土木工程园林景观,七大行业方向助你成为精英!...
  17. Microsoft漏洞补丁包下载地址大全
  18. AI将png图片转换为矢量图并上传到阿里云iconfont
  19. python正确判断错误_python之错误、调试和测试
  20. SAP ABAP ALV 的一些总结:Custom container 和 Splitter container

热门文章

  1. flex布局的对齐方式
  2. idea下用grade构建项目使用lombok编译不生成get set 方法填坑 项目引用一直报无法找到符号!
  3. 面向企业服务,网易智企的深耕与拓进
  4. 使用 Visual Basic 通过 32 位 地址访问内存(中英对照)
  5. 解决联想Thinkpad E430光盘或U盘无法启动重装系统(关闭 UEFI)
  6. 车联网2022上半年“十四五”规划大盘点
  7. 2023年四川省艺术基金青年艺术人才项目申报条件流程及申请奖励补助
  8. 怎么修改html文件的时间,怎样修改网页上日期
  9. 查看IC中文文档的网站
  10. Stanford cs231n'18 课程及作业详细解读