和你一起终身学习,这里是程序员 Android
本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
一、确保飞行模式待机电流正常
二、确保不插卡待机电流正常
三、其他确保的测试前提条件
四、确认是否存在异常休眠唤醒源
五、Modem 唤醒源测试注意事项
六、插 双卡 待机电流分析
一、确保飞行模式待机电流正常
如下查看飞行模式电流异常问题,请查看如下文章:
二、确保不插卡待机电流正常
如下查看不插卡模式电流异常问题,请查看如下文章:
三、其他确保的测试前提条件
在飞行模式以及不插卡待机电流正常的情况下,以下条件也需要保证正常
- 确保 SIM 卡不欠费,天线接触良好。
有些天线在后壳上,测试功耗时候又不能盖上后壳,就需要焊接天线,或者将电池电源那个地方挖个洞盖上后壳
2.确保手机射频校准过
确保下载Rom的时候RF 射频参数没有被擦除。
3.确保插卡待机传到测试OK
四、确认是否存在异常休眠唤醒源
1. 查看波形图是否有异常唤醒
通过电流波形图,查看波形图的异常唤醒位置以及时间。
2.根据波形图确认的时间点,推断log中的大致时间点
连上手机,打开 Powermonitor ,手机开机,在Home Screen 界面,点击 Powermonitor 的 Run , 然后马上按powerkey 休眠,这样就能积累系统按powerkey 的时间。
尽量保证点击Run 和按Powerkey 时间间隔足够短,这样波形从0处 就是log中 powerkey 的时间。
注意
kernel log使用的是 UTC
硬件时间,Android 时间一般为UTC 时间+ 时区(比如中国时区需要+8小时)
3. 查看异常时间点的log打印情况
- 有log打印
如果确认异常的时间点附近有打印log,可以查看对应唤醒原因,可以看下面步骤 4
查找唤醒源log。
- 无log 打印
如果这个时间点附近没有log打印,那说明 AP 侧没有唤醒,可能是其他模块的唤醒行为,比如:Modem 、WCN。这个需要接串口线打印log确认。
4. 查找唤醒源 log
查找唤醒log 分为一下两个步骤:
- 搜索关键字:
[WDT] suspend
这个是判断系统是否进入睡眠的标志,如果有,请继续看第二步。
- 搜索关键字:
- 然后继续搜索关键字:
wake up by
通过搜索wake up by
就知道唤醒源,比如以下的唤醒源EINT。
- 然后继续搜索关键字:
//1. 搜索关键字: [WDT] suspend
<7>[199145.576777] -(0)[2029:system_server][name:mtk_wdt&][WDT] suspend
<4>[199145.576777] -(0)[2029:system_server][SPM] md_settle = 99, settle = 99
<4>[199145.576777] -(0)[2029:system_server][SPM] sec = 900, wakesrc = 0xe00c5e4 (1)(1)
//2. 搜索关键字: wake up by
<4>[199145.576777] -(0)[2029:system_server][SPM] wake up byEINT, timer_out = 2046093, r13 = 0x40000, debug_flag = 0x9f
<4>[199145.576777] -(0)[2029:system_server][SPM] r12 = 0x20, raw_sta = 0x20, idle_sta = 0x9fa, event_reg = 0x90100000, isr = 0x0
<4>[199145.576777] -(0)[2029:system_server][SPM] suspend dormant state = 0, md32_flag = 0x0, md32_flag2 = 0
<4>[199145.576777] -(0)[2029:system_server][SPM] log_wakesta_index = 8301
<5>[199145.576777] -(0)[2029:system_server]EINT_STA:
<5>[199145.576777] -(0)[2029:system_server]EINT Module - index:192,EINT_STA = 0x4000
5. 确认唤醒源是否是波形图上对应的异常大电流
通过步骤二推测出波形图上的大致时间,然后跟log中的打印的唤醒源时间对比看看是否一致。
6.常见的唤醒源
MT6765/MT6762平台的EINT 一般对应的是PMIC。PMIC 有两个原因可能出发EINT 唤醒系统。
- 1.PMIC 有两个原因可能出发EINT 唤醒系统
PMIC 有两个原因可能出发EINT 唤醒系统如下:
- RTC alarm
- Powerkey
- 确认 PMIC 的种类 关键字:
PMIC_INT
- 确认 PMIC 的种类 关键字:
可以通过搜索关键字: PMIC_INT
C:\Users\Administrator\mobilelog\APLog_2020_0202_104403__1\kernel_log_6__2020_0202_111218 (19 hits)
Line 1049: <3>[199093.023388] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c8]=0x40
Line 1908: <3>[199104.153376] (2)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x1
Line 1918: <3>[199104.413338] (2)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x4
Line 2717: <3>[199145.583307] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 2867: <3>[199145.943239] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 3040: <3>[199146.753179] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 3443: <3>[199155.073249] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x1
Line 3452: <3>[199155.263268] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x4
Line 3625: <3>[199156.593122] (1)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 3818: <3>[199157.253059] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 3960: <3>[199157.593005] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4110: <3>[199157.942942] (2)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4262: <3>[199158.292882] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4420: <3>[199158.642820] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4571: <3>[199158.992750] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4714: <3>[199159.332717] (0)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 4880: <3>[199159.692647] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 5085: <3>[199160.062558] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x1
Line 5116: <3>[199160.236813] (1)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x4
- 确认PMIC EINT 的真正handler 关键字:
pmic_thread
- 确认PMIC EINT 的真正handler 关键字:
通过搜索关键字: pmic_thread
确认是RTC Alarm 还是 powerkey 。
1. RTC 唤醒 log 如下
Line 2867: <3>[199145.943239] (3)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x200
Line 2868: <5>[199145.943263] (3)[53:pmic_thread]mtk_rtc_common: rtc_tasklet_handler start
Line 2869: <5>[199145.943378] (3)[53:pmic_thread]mtk_rtc_hal: pdn1 = 0x 0
Line 2870: <5>[199145.943406] (3)[53:pmic_thread]mtk_rtc_common: alarm time is up
Line 2871: <4>[199145.943443] (3)[53:pmic_thread][PWRAP] clear EINT flag mt_pmic_wrap_eint_status=0x0
备注:
如何通过 RTC alarm 唤醒源,查找对应的app,请看下面的步骤四
2. Power可以 唤醒log 如下
Line 1908: <3>[199104.153376] (2)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x1
Line 1909: <3>[199104.153413] (2)[53:pmic_thread]kpd: Power Key generate, pressed=1
Line 1910: <3>[199104.153472] (2)[53:pmic_thread]kpd: kpd: (pressed) HW keycode =116 using PMIC
Line 1911: <4>[199104.153504] (2)[53:pmic_thread][PWRAP] clear EINT flag mt_pmic_wrap_eint_status=0x0
Line 1917: <7>[199104.397600] (2)[53:pmic_thread][name:perf_ioctl&]PERF_IOCTLenable UI boost, frame update, is_render_aware_boost:1
Line 1918: <3>[199104.413338] (2)[53:pmic_thread][PMIC] [PMIC_INT] addr[0x2c4]=0x4
Line 1919: <3>[199104.413361] (2)[53:pmic_thread]kpd: Power Key generate, pressed=0
Line 1920: <3>[199104.413397] (2)[53:pmic_thread]kpd: kpd: (released) HW keycode =116 using PMIC
Line 1921: <4>[199104.413427] (2)[53:pmic_thread][PWRAP] clear EINT flag mt_pmic_wrap_eint_status=0x0
五、Modem 唤醒源测试注意事项
- 确保 modem 唤醒源 不是 数据传输 和开启 modem log导致的。
- 确保卡不漏电
可以换相同运营商的不同SIM卡,或者不同运营商的卡看看问题是否改善。
3.确保卡不支持NFC功能
如果卡支持NFC功能,需要硬件同事确认手机电路上该功能有没有打开。
4.确认卡是否支持4G
在设置
-->移动网络设置
-->``
中逐步测试4G
、3G
、2G
,确认是哪个Band 异常导致的。如果只是其中一个Band 异常,需要确认这个Band的RF接口配置是否正确。
![](https://img.haomeiwen.com/i5851256/3f9bd4f605e8e7eb.png)
六、插 双卡 待机电流分析
插双卡分析步骤如下:
- 准备测试卡 A 和测试卡 B。
- 确保插入单卡 A 或者 单卡 B待机电流 OK(
可参考上面步骤
)。 - 如果双卡待机电流异常,一般是其中一张卡异常,请先确认是否是此种情况。
- 如果排除第3步
(一般是其中一张卡异常)
,请尝试以下操作。
- 这张卡原来是4G/3G 卡,作为副卡后,被切换成 2G 模式,这张卡只有在副卡 2G 模式才有异常,此类问题和当地的网络有关,一般是2G搜网驻网有异常。
- 数据传输通路被切换到副卡上,但是副卡所在的环境,数据通路不顺畅。
至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!
网友评论