WiFi无法连接AP问题调试(1)问题分析
1. 前言
承接上篇
https://www.ebaina.com/articles/140000012396
这里主要记录WiFi无法连接AP问题,分析以及解决办法
2.问题记录
2.1 问题起源及描述
问题起源:工厂产线试产测试发现在不焊接天线的情况下,AP信号较强但无法连接上。
平台信息:A10s android4.0.4
使用的wifi模组:rtl8189etv,软件版本 v4.1.5_7309.20130425
工厂测试反馈的现象描述:
- 不焊接天线,整机测试,wifi信号很强但是很难连接上AP,连接时间超过1分钟;
- 焊接上天线,测试路由离样机约10米,信号强度几乎满格,很难连接上wifi,相同环境下A20方案样机没焊接天线能快速连接上wifi;
- 设置中连接wifi,表现为不断重复提示"正在认证"和"正在获取ip",需要过很久才能连接上;
2.2. 问题分析
该部分主要是从软件角度分析无法连接,逐步分析下来,
可以确定是硬件问题,思路如下。
(1)问题复测。
一开始拿到的是带天线的PCBA板,在办公室环境做连接AP测试,没能复测出信号好但无法连接AP问题,能较快连接上AP。
-->> 简单测试没复现问题,是否软件上存在bug,怀疑点转向测试工具和wifi驱动。
(2)wifi驱动确认
由驱动打印和拿到的SDK代码,rtl8189etv所使用的驱动版本是v4.1.5,v4.1.5版本驱动在A10s上是经过量产验证,核对代码发现连接某些AP获取IP速率慢的补丁没打上。
-->> 打上补丁后,工厂测试反馈无法连接AP问题仍存在。
(3)模拟工厂测试环境再复测。
拿到没焊接天线的PCBA 板子,办公室坐位环境,路由器与样机相隔1米,wifi信号较强,可以复测出无法连接AP问题。
-->> 可以复现工厂反馈的无法连接问题,开始从打印信息着手分析。
(4)驱动打印信息分析。
工厂抓取的内核打印与近距不焊天线没法连接上AP时的内核打印一致,发起连接请求就出现请求timeout,将log提供给realtek同步分析。
-->> realtek得知还是使用v4.1.5版本驱动时,提出更换当前最新的v4.3.0.2版本驱动验证问题是否仍存在,做完v4.3.0.2驱动的porting后,无法连接AP问题仍存在,log信息看到也是timeout。
-->> realtek对log做深入分析,得出的结论是TX/RX不好,导致发送和接收数据有问题,要先做PSD和RF相关硬件测试。
无法连接AP的log信息:
[ 1327.966991] RTL871X: set ssid [NULL-TEST] fw_state=0x00000008
[ 1327.966997] RTL871X: Set SSID under fw_state=0x00000008
[ 1327.967014] RTL871X: [by_bssid:0][assoc_ssid:NULL-TEST][to_roaming:0] new candidate: NULL-TEST
(90:94:e4:35:9f:e4) rssi:-62 // 路由信号强度
[ 1327.967031] RTL871X: rtw_select_and_join_from_scanned_queue: candidate: NULL-TEST(90:94:e4:35:9f:e4, ch:1)
[ 1327.967063] RTL871X: Capture EPIGRAM_OUI
[ 1327.967068] RTL871X: Capture EPIGRAM_OUI
[ 1327.967074] RTL871X: link to Realtek 96B
[ 1327.967081] RTL871X: rtw_joinbss_cmd: smart_ps=2
[ 1327.967092] RTL871X: set ssid:dot11AuthAlgrthm=2, dot11PrivacyAlgrthm=4, dot118021XGrpPrivacy=2
[ 1327.967101] RTL871X: <=cfg80211_rtw_connect, ret 0
[ 1327.969097] RTL871X: cfg80211_rtw_change_station(wlan0)
[ 1327.969229] RTL871X: cfg80211_rtw_change_station(wlan0)
[ 1327.969309] RTL871X: cfg80211_rtw_change_station(wlan0)
[ 1327.979666] RTL871X: set ch/bw before connected
[ 1327.979697] hw_var_set_bssid reg=618
[ 1328.156419] RTL871X: update_mgnt_tx_rate(): rate = 2
[ 1328.209765] RTL871X: Capture EPIGRAM_OUI
[ 1328.213831] RTL871X: Capture EPIGRAM_OUI
[ 1328.217760] RTL871X: link to Realtek 96B
[ 1328.221704] RTL871X: issue_deauth to 90:94:e4:35:9f:e4
[ 1328.226860] RTL871X: start auth
[ 1328.230023] RTL871X: issue_auth
[ 1328.530036] RTL871X: link_timer_hdl: auth timeout and try again
[ 1328.536006] RTL871X: issue_auth
[ 1328.830030] RTL871X: link_timer_hdl: auth timeout and try again
[ 1328.835979] RTL871X: issue_auth
[ 1329.130027] RTL871X: link_timer_hdl: auth timeout and try again
[ 1329.135972] RTL871X: issue_auth
[ 1329.430038] RTL871X: link_timer_hdl: auth timeout and try again
[ 1329.435977] RTL871X: issue_auth
[ 1329.730036] RTL871X: report_join_res(-1)
[ 1329.734110] hw_var_set_bssid reg=618
[ 1329.738047] RTL871X: update_mgnt_tx_rate(): rate = 2
[ 1329.743041] RTL871X: _rtw_join_timeout_handler, fw_state=8
[ 1329.748527] RTL871X: rtw_cfg80211_indicate_disconnect(padapter=e0962000)
[ 1329.755246] RTL871X: pwdev->sme_state(b)=1
(5)抓取空中数据做分析
为进一步核实是TX/RX不好导致,抓取连接过程的空中包,分析连接AP失败的原因。
-->> 抓包看到是样机发起连接请存在问题,路由器回复是及时,但样机迟迟不作回应,可核实TX/RX是存在问题,RX不好会导致无法正常接收路由器的回复,TX不好会导致发送的数据信息不正常导致无法解析。
没能快速把问题做软件还硬件问题跟对A10s平台不了解,rtl8189etv在A10s上是否已顺利量产、是否存在过类似的问题、软件调试测试结果如何等情况都是不了解,问题分析就是把这些点弄清楚。
- 分享
- 举报
-
浏览量:4905次2021-04-20 16:55:59
-
浏览量:4248次2021-07-03 14:35:11
-
浏览量:6218次2021-07-09 15:17:28
-
浏览量:5087次2021-07-06 16:47:24
-
浏览量:6208次2021-01-15 17:26:20
-
浏览量:5931次2021-07-06 16:50:58
-
浏览量:5193次2021-07-09 15:23:33
-
浏览量:5258次2021-07-09 15:20:08
-
浏览量:8339次2021-01-20 17:16:00
-
浏览量:5630次2021-04-20 16:14:27
-
2021-05-06 16:03:00
-
浏览量:14486次2021-01-16 15:43:02
-
浏览量:4718次2021-04-01 15:39:46
-
浏览量:1240次2023-11-13 17:48:03
-
浏览量:4573次2021-07-12 17:06:16
-
2021-07-30 17:04:37
-
浏览量:6107次2021-06-30 09:32:11
-
浏览量:839次2023-08-09 15:19:33
-
浏览量:5124次2021-04-10 14:21:38
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
free-jdx
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
好