WiFi无法连接AP问题调试(1)问题分析

free-jdx 2021-04-20 16:37:57 6184
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上是否已顺利量产、是否存在过类似的问题、软件调试测试结果如何等情况都是不了解,问题分析就是把这些点弄清楚。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
free-jdx
红包 93 7 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • 空鸣 2021-04-21 15:43:07
    回复

相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
free-jdx
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区