知识分享小达人
本博客是全网最大分享安卓模块知识的博客,通过基础知识、安卓源码介绍、项目实践等方式,全面剖析手机各个模块的内容,使阅读者能够更好的理解,和应用到项目实践中,如果阅读过程中遇到不理解的,欢迎私信交流,本博主尽最大可能进行答疑解惑。
展开
-
如何调节framework 日志
adb shell setporp persist.log.tag. mtk平台的日志级别可以从一条系统属性查看:persist.log.tag,此条属性默认为V级别,然后系统的日志疯狂的输出,单单从操作层面看的话,可以setprop这个属性的值来提升系统的日志输出级别。比如,想把级别提升到error级别,则只需要执行如下操作: setprop persist.log.tag E 即可。原创 2023-03-12 10:48:58 · 61 阅读 · 0 评论 -
SElinux介绍
分析:在SEAndroid中共定义了三个拥有巨大权限的attribute分别是mlstrustedsubject、mlstrustedobject、unconfineddomain,被分类到mlstrustedsubject的type在充当主体domain是可以越过MLS检查,被分类到mlstrustedobject的type在充当客体时可以越过MLS检查,被分到unconfineddomain的type则拥有所有权限可对客体进行任意操作。进程理论上所拥有的权限与执行它的用户的权限相同。原创 2023-03-12 10:43:11 · 24 阅读 · 0 评论 -
展锐平台wifi功耗问题解决方案
定位过程:通过对比 ap 连接网络和不连接网络电流图,可以看到,ap 连接网络的情况下,除了 wifi100ms 周期性的起来收 beacon,还有一个个异常的方波,持续 250ms, ap 连接网络,ap 会给wcn芯片发数据导致功耗有起来,可以判断是网络问题(对比机也有此问题);1、客户在开发过程中可能使用的是 userdebug 版本,大量的 log 打印会增加功耗,因此在验证功耗问题时,需要使用 user 版本,并确认 log 关闭(特别是 cp2log),即关闭 ylog 即可;原创 2023-02-11 17:38:43 · 925 阅读 · 1 评论 -
展锐平台wifi连接性问题解决方案
对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。原创 2023-02-11 17:34:46 · 1139 阅读 · 1 评论 -
展锐平台WIFI吞吐问题解决方案
3、 如果 1 和 2 都没有问题的话,先从 log 确认下是否是共存的场景(也就是有没有打开 BT),因为WiFi 和 BT 是共用一根天线的,简单来说就是分时复用,打开 BT 的话肯定会影响WiFi 的吞吐的。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。送队列的优先级是 VI,而测试机的优先级是 BE,优先级从高到低依次是 VO>VI>BE>BK,对比机。原创 2023-02-11 17:30:54 · 1295 阅读 · 1 评论 -
Android框架WiFi架构
动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_spplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调试来对wifi芯片操作,简单的说,二、android wifi 系统架构:andtoid wifi 系统引入了wpa_supplicant,它的整个wifi系统。原创 2023-02-11 17:25:47 · 2146 阅读 · 0 评论 -
Wifi wpa_supplicant 到驱动的联系
Int wpa_driver_wext_scan(void *priv, const u8 *ssid,size_t ssid_len)中的LINE1174:if(ioctl(drv->ioctl_sock,SIOCSIWWSCAN,&iwr) < 0)从这里可以看出wpa_supplicant是通过IOCTL来调用SOCKET与driver进行通信的,并给DRIVER下达SIOCSIWSCAN这个命令。//创建了接受wpa_supplicant 的socket接口。//这个函数超级重要,后面详细的看。原创 2023-02-11 17:23:01 · 965 阅读 · 1 评论 -
Android Q WiFi 代码框架
备注:在Android 9.0中,WiFi的状态处理在WifiStateMachine中进行,到了Android Q,取消了WifiStateMachine,新增了ClientModeImpl代替 WifiStateMachine 的功能,实际内容大同小异,函数的调用与Android P相差不大。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。原创 2023-02-11 17:20:02 · 647 阅读 · 0 评论 -
Android WIFI log基本分析流程
此后, Authenticator 将发送第三个 EAPOL-Key 给 Supplicant, 该消息携带组临时密码( Group Transient Key, GTK, 用于后续更新组密钥, 该密钥用KEK 加密) 、 MIC( 用 KCK 加密)。注意, IGTK( Integrity GTK) 用于加解密组播地址收发的管理帧。第四次握手,Supplicant 最后发送一次 EAPOL-Key 给 Authenticator 用于确认,如果认证成功, 双方将安装( Install) Key。原创 2022-09-25 11:57:22 · 1815 阅读 · 1 评论 -
Android wifi dut首次连接酒店wifi,不会弹出登录界面
【对比机信息及对比结果】对比机版本: Redmi Note 11E MIUI13.0.1稳定版 IQOO U5。卡1制式:移动注册4G VOLTE网络(主卡)卡2制式:联通注册4G VOLTE网络(副卡)5G智能省电关闭,WiFi关闭,5G智能切换关闭,双卡关闭5G。【实际结果】1.dut首次连接酒店wifi,不会弹出登录界面。【预期结果】1.dut首次连接酒店wifi,正常弹出登录界面。【复现步骤】1.dut连接酒店wifi 2.观察dut。【测试机恢复手段】自动恢复。对比机结果:0/10。原创 2024-01-24 09:28:25 · 151 阅读 · 0 评论 -
Android wifi 玩荣耀大天使游戏,出现卡顿,断网现象
【问题详情】[小米内测][卡顿模块]玩荣耀大天使游戏,出现卡顿,断网现象,期间使用小米内侧应用反应问题,又出现系统界面没有响应弹窗,进程"system"没有响应弹窗。查找常规的关键字“EAPOL“”DHCP“,在问题时间都没有记录,所以直接从断开记录”CTRL-EVENT-DISCONNECTED“开始看。1.首先就是卡在下载log,点开没有权限需要长时间申请,翻看之前的记录,找到上一。给出问题发生时间在23:40:00,查看log:可以看到只有。【问题发生时间】2022-09-04 23:40:00。原创 2024-01-24 09:28:54 · 88 阅读 · 0 评论 -
Android wifi 连接2.4G WiFi时投屏建立在5G的36信道上_必现
Search State中,P2P Device将发送Probe Request帧,而Listen State中,它将接收其他设备的Probe Request帧并回复Probe Response帧。当P2P Device A通过Device Discovery找到周围的一个P2P Device B后,Device A就可以开展Group Formation流程以准备构造一个P2P Group。在组建P2P Group(即P2P Network)之前,智能终端都是一个一个的P2P Device。原创 2024-01-24 09:29:28 · 200 阅读 · 0 评论 -
Android wif 测试机连接小米路由器AX6000,无法访问网络
【备注说明】附9434+284log+录屏:M17P-P1-GL-30119可以正常使用,测试机M17-CN连接无法刷新网页。【预置条件】已搭建好小米路由器AX6000,2.4G&5G网络。GL:服务器MAC:a4:39:b3:da:ec:28。CN:服务器MAC:a4:39:b3:da:ec:28。CN:服务器MAC:a4:39:b3:da:ec:28。【操作步骤】测试机连接2.4G和5G网络刷新网络。【实际结果】连接显示无法使用该网络,网页无法刷新。【操作步骤】测试机连接2.4G和5G网络刷新网络。原创 2024-01-25 09:18:56 · 36 阅读 · 0 评论 -
Android wif (稳定性)挂起WIFI MTBF后,testBLEScanWiFiChangeAP fail
错误现象:2022.09.17 04:59:13][V13.0.0.1.SMQCNXM][testBLEScanWiFiChangeAP][10][false][校验ping丢失率大于80失败。【实际结果】挂起WIFI MTBF后,testBLEScanWiFiChangeAP fail。【操作步骤】使用M17-P2-CN刷机,执行WiFi MTBF测试。【对比机结果及验证说明】无需对比。【备注说明】LOG已上传至飞书群。【样机信息】M17-P2-CN。【预期结果】测试pass。原创 2024-01-25 09:19:22 · 24 阅读 · 0 评论 -
Android wifi 测试机连接2.4/5GWiFi热点(CH1,CH149),开启2.4/5G个人热点,辅助机连接测试机热点吞吐量低于对比机的10%
上测试机:12.8/16.1/15.2 对比机:36.8/36.6/38.4。下测试机:22.6/23.2、24.1 对比机: 39.6/46.5/39.7。连接热点时不能测试机和对比机之间进行AP/RP的转换,要选择。【操作步骤】1. 测试机及对比机连接2.4GWiFi热点。调换测试机及对比机位置,重复进行Step1~2步骤。【预期结果】测试机吞吐量数据不可低于竞品10%以上。【实际结果】测试机吞吐量数据低于竞品10%以上。①在看log之前要与测试沟通,这种对比类测试,【复现概率】10/10。原创 2024-01-25 09:20:11 · 47 阅读 · 0 评论 -
Android wifi 性能连接2.4G b模式WiFi 在RSSI值为30、40、60、70、80时开始上下行吞吐测试,上行有掉零现象
【操作步骤】连接2.4G b模式WiFi在RSSI值为30、40、60、70、80时进行上下行吞吐测试。,为iperf工具无法支持较小的精度,故显示为0,对比机同现象,判断为工具显示问题。,已由天线寄改善的机器至测试复测,同时已联系天线使用对比机对比测试天线性能。1:等待机器到测试后复测,并等待天线性能对比机对比结果。【对比机信息及验证结果】对比机K6S-CN也是此现象。【样机信息】M17-P1-CN-AS10682。【实际结果】上行有掉零现象。【预期结果】上行能正常出值。【恢复方式】无法恢复。原创 2024-01-25 09:20:37 · 43 阅读 · 0 评论 -
Android wifi Display 测试机投屏花屏、卡死
在同一信道后,判断是在2.4G还是5G,2.4G开放环境下投屏极易受到环境影响花屏,5G也有可能在嘈杂环境受到影响,这是需要。电视与手机连接到同一网络(可使用5gAP,2.4G受环境影响较大),打开电视设置-投屏-手机投屏micrast功能。关闭设置-》蓝牙-》高级设置-》小米快连,关闭设置-》位置信息-》WLAN和蓝牙扫描,投屏开始后再关闭BT。如果有sniffer log,可以查看是否有丢包,丢包花屏正常,可以尝试更换AP和干净环境;【实际结果】花屏必现,偶现卡顿和卡死,测试机和电视端画面无法同步。原创 2024-01-25 09:21:01 · 72 阅读 · 0 评论 -
Android wifi 连接5G_a网络网页刷新失败_偶现
问题时间点附近,AP发送给测试机数据有空档,在空口包中可以看到STA接收确认很快,为AP回复慢导致。已知目标AP = SSID: "ASDF", BSSID: 94:98:69:4a:1d:ef。AP=“ASDF”在办公环境下且连接了许多STA,该AP为802.11a,速率较低。对比机结果:同一时间另一台印尼国家码的M17可以正常刷新。log路径:名称:M17连接5G_a网络网页刷新失败。问题时间:2022-09-09-09-56-12。复现步骤:测试机连上该AP,刷新网页。预期结果:网页正常刷新。原创 2024-01-25 09:21:25 · 15 阅读 · 0 评论 -
Android 测试机关闭WiFi开关,会自动重新打开WiFi开关(单机必现)
结合视频时间点,从log中看到:每一次手动在systemui界面关闭WiFi,“com.kk.xx.analyzer”就会下达开启命令。【样机信息】M17P-P1-GL-AS40280。【实际结果】测试机会自动重新打开WiFi开关;【预期结果】测试机关闭WiFi开关,不会开启;自动打开WiFi开关,重点注意关键字“分析助手.apk后台清除或者卸载再测试。【操作步骤】测试机关闭WiFi开关;分析助手.apk一直在打开WiFi。【对比机信息及验证结果】/【复现概率】10/10。【恢复方式】无法恢复。原创 2024-01-25 09:21:39 · 27 阅读 · 0 评论 -
Android (稳定性)挂起WIFI MTBF后,测试fail 850次
在开发者选项中将日志等级设置为verbose, 将日志缓冲设置为16M.打开wifi详细日志。断开连接后就一直处于wifi无连接状态,导致测试fail全为连接状态错误。【操作步骤】使用M17-P12-CN刷机,执行WiFi MTBF测试。【实际结果】挂起WIFI MTBF后,测试fail 850次。首先,测试了10台,log中显示在同一时间段发生了断连,判断。①查看WiFi连接状态,没有连接成功。【样机信息】M17-P12-CN。【对比机结果及验证说明】无需对比。【预期结果】测试pass。原创 2024-01-25 09:22:14 · 19 阅读 · 0 评论 -
Android WIFI各类问题分析需要log种类
涉及BT的 wifi BT 共存问题: 手机端(logcat +kernel +wmt_dirver +FW log)+tcpdump +sniffer log + BT HCI log。认证类问题:手机端(logcat +kernel +wmt_dirver +FW log)+工具端log + pass log和fail log 对比。手机端(logcat +kernel +wmt_dirver +FW log) +工具端log + pass log和fail log 对比。原创 2024-01-25 09:22:34 · 87 阅读 · 0 评论 -
Android WiFi加密方式
项目中很少涉及加密方式的, 一般测试进行相关case测试,但是一般从高通或者MTK释放过来的源码都是支持的,很少会遇到这类问题。使用TKIP(临时密钥完整性协议),使用的仍是RC4加密算法,密钥为动态协商生成、支持MIC认证和防止重放攻击功能。中国支持的加密技术,在行货手机上内置,目前无线运营商的wi-fi网络设备已经支持这种加密技术,但没有开始推广使用。加密类型AES(高级加密算法),需要新的硬件支持,使用CCMP(计数器模式密码块链消息完整码协议)使用128位AES加密算法实现机密性。原创 2024-01-25 09:22:49 · 83 阅读 · 0 评论 -
Android WiFi认证流程
Wifi根据项目出货地区常见WiFi认证有 WFA 认证:WFA (WiFi联盟)认证 、CE(欧盟)认证、CTA(中国质量)认证、FCC(美国)认证、GCF(欧洲运营商)认证。如CE认证,需要提供当前项目过CE认证 具体测试模块,支持测试哪些功能。如日本软银,北美大T。1.实验室都测试pass过后,会提供一个测试pass 报告,同步提供认证证书,或者认证标签。1.实验室拿到认证机器,根据认证报告进行逐一测试各个功能,并记录相应测试结果报告。1.客户或者认证接口人发起认证请求、认证计划和相应认证实验室。原创 2024-01-25 09:23:11 · 66 阅读 · 0 评论 -
Android WiFi扫描流程
这张图包括在wifi打开的情况下上层发起的扫描,但是这里我们就跳过上层下发的过程,直接从上节中wifi打开后在 WifiStateMachine 中调用 startScan() 扫描开始。原创 2024-01-25 09:23:40 · 53 阅读 · 0 评论 -
Android wifi 打开流程
当InitialState状态CMD_START_SUPPLICANT消息处理完成以后,就会切换到SupplicantStartingState状态,此时supplicant开启以后,会上报消息给WifiMonitor,WifiMonitor会通过broadcastSupplicantConnectionEvent发送到WifiStateMachine状态机,由当前状态SupplicantStartingState处理。用来获取保存的wifi操作的状态,如果是开则继续。原创 2024-01-25 09:24:04 · 73 阅读 · 0 评论 -
Wi-Fi服务启动流程
当初始化内核之后,就会启动一个相当重要的祖先进程,也就是init进程,在Linux中所有的进程都是由init进程直接或间接fork出来的。简单的说,内核加载进内存后,将首先进入内核引导阶段,在内核引导阶段的最后,调用start_kernel进入内核启动阶段,主要是完成内核的大部分初始化工作。函数得到的是 IServiceManager 接口类,addService() 的实现是空的,具体的实现是在 IServiceManager 的 实现类 ServiceManagerNative.java 中。原创 2024-01-25 09:24:45 · 70 阅读 · 0 评论 -
Android WiFi连接基本流程
通过侦听AP定期发送的Beacon帧来发现网络,Beacon帧中包含该AP所属的BSS的基本信息以及AP的基本能力级,包括:BSSID、SSID、支持的速率、支持的认证方式,加密算法、 Beacons帧发送间隔,使用的信道等。SA是自己本身的信息,SNonce是自己生成的信息,PMK可通过自身的密码和SSID计算得到,也是已知信息,因此,STA此时具备计算PTK的五元组信息,计算得到PTK后,用PTK的KCK位为对将要发送的数据包进行计算得到MIC,并将MIC一同发给AP。其中EAPOL不是必要阶段,当。原创 2024-01-25 09:25:07 · 162 阅读 · 0 评论 -
Android wifi RSSI信号强度
一般我们认为dbm为0是其最大值,意味着接收方把发射方发射的所有无线信号都接收到了,即无线路由器发射多少功率,接收的无线网卡就获得多少功率。如: RSSI = 0时,我们PC WIFI那个Bar可能信号只有一格或一格都没有,我们说信号很差,其可能对应实际能量< -90dBm。当然这是在理想状态下测量的,在实际中即使将无线网卡挨着无线路由器的发射天线也不会达到dbm为0的效果。因此测量出来的dbm值肯定都是负数。答:因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。原创 2024-01-26 10:15:54 · 131 阅读 · 0 评论 -
Android wifi 高通&MTK平台audio log抓取及分析
3.在终端将log导出到PC,输入命令“ adb pull /sdcard/MIUI/debug_log/ ./ ”,可将log提取到当前目录。4.adb logcat | tee 1.log | gerp - Ei "audio":筛选audio的log,在终端显示,并存入1.log。MTK和高通平台都可以使用“284”进行log的抓取,抓取的log可以加做“284log”、“bugreport”。MTK除了“284”log以外,还拥有自己的一套方式------“3646633”.原创 2024-01-26 10:16:12 · 165 阅读 · 0 评论 -
Android wifi sniffer log 抓取方式
tcpdump -i wlan0 -w xxxx/xxx/*****.pcap //开始抓包命令。adb pull /mnt/*.pcap(手机上包的地址) // 不另加地址的话文件会保存在打开终端的位置。这样在wifi的连接界面就能看到每个wifi的详细信息:rssi ,bssid,频率f等。ifconfig wlan0 up-----手动执行时,执行了一次没有生效,需要定位。先确认要抓的snifferlog的频率,带宽和信道,确认信道带宽方式。原创 2024-01-26 10:16:26 · 129 阅读 · 0 评论 -
Android wifi 使用iPerf进行网络吞吐量测试
WiFi吞吐量测试window下查看ip 打开cmd输入ipconfigubuntu下查看ip 打开终端输入ifconfig查看手机ip adb root adb shell adb ifconfig手机和电脑连在同一个wifi。原创 2024-01-26 10:16:45 · 313 阅读 · 0 评论 -
Android wifi wifi_WCNSS_qcom_cfg.ini相关参数介绍
设置wifi Only 11a、b、g、n 扫描,Phy Mode (auto, b, g, n, etc/) Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac。0:禁用DFS通道上的扫描1:在DFS通道上启用被动扫描2:对DFS通道启用主动扫描以获取静态列表。SAP自动通道启用注意:SAP的自动渠道选择组态:0-禁用自动通道1-在自动模式下启用自动频道选择模式。设置为1后,2.4G/5G可以频段打开最大信道带宽,如40M,80M,160M。原创 2024-01-26 10:16:59 · 61 阅读 · 0 评论 -
Android wifi iwpriv 介绍
使用iwpriv命令时,尽量往radio层设置,即wifiN接口上。11NAHT40PLUS = 选大于主信道的频率做为扩展信道。hostapd中会设置WPA或RSN的IE信息。11NAHT40MINUS = 选小于...清除app、opt的IE信息。3 = 清空ACL列表。认证模式改为open后。使用该命令清除IE信息。原创 2024-01-26 10:17:14 · 62 阅读 · 0 评论 -
Android wifi iwlist 介绍
iwlist wlan0 freq[uency]/channel 列出当前地区可用频率。iwlist wlan0 keys/enc[ryption] 列出所支持的加密密钥大小。iwlist wlan0 modu[lation] 列出设备支持的调制和当前启用的调制。iwlist wlan0 wpa[keys] 列出设备中设置的所有WPA加密密钥。iwlist wlan0 rate/bit[rate] 列出支持的连接速度。iwlist wlan0 auth 列出当前设置的WPA认证参数。原创 2024-01-26 10:17:26 · 30 阅读 · 0 评论 -
Android wifi iwconfig 介绍
iwconfig wlan0 power timeout 300u all all/unicast/multicast指定允许唤醒的数据包类型。iwconfig wlan0 power 500m unicast all/unicast/multicast指定允许唤醒的数据包类型。iwconfig wlan0 rts off auto/off/fixed禁止RTS/CTS握手方式。iwconfig wlan0 frag off auto/fixed/off允许Burst模式。原创 2024-01-26 10:17:36 · 49 阅读 · 0 评论 -
Android wifi iw介绍
iw dev wlan0 set bitrates mcs-5 # 清除所有 tx 比特率和设置的东西来恢复正常。# iw list # 获得所有设备的功能,如带宽信息(2.4GHz,和5GHz),和802.11n的信息。# iw dev wlan0 set bitrates mcs-5 4 # 修改tx HT MCS的比特率。# iw wlan0 connect foo # 连接到已禁用加密的AP,这里它的SSID是foo。# iw help # 帮助。原创 2022-09-25 11:58:46 · 749 阅读 · 0 评论 -
Android wifi sniffer log总结分析
Pixel,与Samsung行为类似,并且Reassoc Resp后立即发送Disassoc断开了与原AP的关联。BTM Req和Resp中的Neighbor Report信息不同,原AP 66给出了建议AP 65,而DUT经过主动扫描后,AP 65并没有回复Probe Resp,因此STA认为没有合适的Candidate,没有发起漫游。排除路由器原因后,怀疑是MTK的驱动对WEP/WPA的切换处理有问题,拉通分析,是MTK驱动的一个bug,在WEP连接结束后,没有及时remove WEP key。原创 2022-09-25 11:58:16 · 1771 阅读 · 0 评论 -
Android WIFI bugreport_log查看WiFi状态
wpa_supplicant有9种状态DISCONNECTED-->SCANNING-->ASSOCIATING-->ASSOCIATED-->4WAY_HANDSHAKE-->GROUP_HANDSHAKE-->COMPLETED-->DISCONNECTED。有Saved的AP时初始状态为DISCONNECTED,没有Saved的AP时初始状态为INACTIVE,且在INACTIVE和SCANNING状态之间来回切换。得到路由器的MAC地址,进而得到wifi正在使用的频率,或者直接搜索关键字。原创 2022-09-24 17:49:13 · 608 阅读 · 0 评论