android wifi断开原因分析
最近在解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断开原因分析相关推荐
- Android -- Wifi启动流程分析
Android -- Wifi启动流程分析 Android网络各个模式中,Wifi应该是目前最常用的一种网络方式了:下面就简单介绍下Android中Wifi的启动流程. 当我在Setting菜单里点击 ...
- Android WiFi —softAP流程分析
Android WiFi - Ap功能实现与源码分析 0. 前言 wifiAp的ip WifiAp的config分析 2.1 默认的config 2.2 修改wifiAp的config配置流程 开启/ ...
- websocket 占用 端口_WebSocket断开原因分析,再也不怕为什么又断开了
1. 把错误打印出来 WebSocket断开的原因有很多,最好在WebSocket断开时,将错误打印出来. ws.onclose = function (e) { console.log('webso ...
- Android WIFI log基本分析流程
同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦. 1.W ...
- android内存泄漏原因分析,Android Studio3.6的内存泄漏检测功能 VS LeakCanary
2020年2月,谷歌发布了Android Studio 3.6版.它包括一个新的"内存泄漏检测"功能.这是否意味着我们不再需要流行的内存泄漏检测库"Leak Canary ...
- android内存泄漏原因分析,android 内存泄漏问题
内存泄露问题在一些压力测试的场景很容易暴露,例如一些常用应用场景反复操作(eg:反复切换前后摄像头,反复进入退出相机应用.压力拍照等等). 内存泄露一般表现为: ①内存分配释放,导致进程空间虚拟地址被 ...
- Android ANR问题原因分析
今天有收到测试同事提的一个ANR的问题单,大家在平时的开发过程中应该都有碰到过这样的问题,尤其是跑monkey,各种错误,之前我们项目还有出现过在Fragment当中直接调用getActivity空指 ...
- Android 关机/重启原因分析
1.重启log过滤 过滤tag为bootstat的log,中间会有比如:boot reason: shutdown,userrequested的信息,标时上一次设备重启的原因. 详细介绍见https: ...
- android内存泄漏原因分析,Android 内存泄漏案例分析总结(Handler)
在Android开发开发中,操作不当很容易引起内存泄漏,这里主要记录下平时遇到问题,包括:静态变量(也包含集合).非静态的内部类.Handler.监听器,尤其是 Handler 在开发中要格外的注意. ...
最新文章
- 【tmos】SpringBoot登录拦截
- SRM598 Div1
- 使用python中的socket实现服务器和客户端,并完成图片的传输
- 【译】理解 JavaScript 中函数调用和 this
- TableAdapter 概述
- redhat搭建NIS服务器
- MATLAB 2018a软件安装教程
- Random Forests
- 制作404页面的重要性
- 机器学习 vs. 深度学习
- 远程办公也可以很高效
- NodeJS 使用官方oracledb库连接数据库教程
- 在 Java 虚拟机上班是一种怎样的体验?
- java使用重绘实现拖动_【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸...
- 《Spring微服务实战》读书笔记——通过配置服务器来管理配置
- cad2004教程_AutoCAD视频教程!0基础到大神,室内建筑机械电气家具土木工程园林景观,七大行业方向助你成为精英!...
- Microsoft漏洞补丁包下载地址大全
- AI将png图片转换为矢量图并上传到阿里云iconfont
- python正确判断错误_python之错误、调试和测试
- SAP ABAP ALV 的一些总结:Custom container 和 Splitter container
热门文章
- flex布局的对齐方式
- idea下用grade构建项目使用lombok编译不生成get set 方法填坑 项目引用一直报无法找到符号!
- 面向企业服务,网易智企的深耕与拓进
- 使用 Visual Basic 通过 32 位 地址访问内存(中英对照)
- 解决联想Thinkpad E430光盘或U盘无法启动重装系统(关闭 UEFI)
- 车联网2022上半年“十四五”规划大盘点
- 2023年四川省艺术基金青年艺术人才项目申报条件流程及申请奖励补助
- 怎么修改html文件的时间,怎样修改网页上日期
- 查看IC中文文档的网站
- Stanford cs231n'18 课程及作业详细解读