一.描述:
Power键不亮屏log分析方法
二.解决方案:
(1) 以下是列出的整个按键唤醒的log关键点,每条都有粗体字说明其含义以及该注意的关键字;
(2) 一条一条依次检查,直到如果发现某条log找不到,那问题就出在这个地方;
(3) 如果某个阶段的时间比较长,可能造成不亮屏的假象,可以分析亮屏时间长的原因
(4) 仅限于L之后的Android版本;
三.定位检查项:
(1) kernel-Check Point:kernel 上报power key[kernel log]
[53:pmic_thread]kpd: Power Key generate, pressed=0
(2) Check Point:上层收到按键事件[eng版本上才有此log,main_log]
11-21 16:57:31.001050 1020 1262 D WindowManager: interceptKeyTq keycode=26 ...
(3) Check Point:PMS的wakeUp被调用[sys_log]
16:57:31.011153 1020 1262 I PowerManagerService: Waking up from sleep (uid 1000)...
(4) Check Point:准备绘制界面[sys_log]
11-21 16:57:31.022639 1020 1044 I DisplayPowerController: Blocking screen on until initial contents have been drawn.
(5)Check Point:第一个wiating for drawn表示keyguard画完,开始画window[sys_log]
11-21 16:57:31.062667 1020 1041 I WindowManager: Waiting for drawn Window{6732b98 u0 com.android.settings/com.android.settings.SubSettings}:
(6)check Point:底层resume时间L版本 setAutoSuspend/M版本 setPowerMode【main_log】
注意:这个log出现的时间点不是固定的,要看底层resume的时间
16:57:31.436586 1020 1301 D SurfaceControl: Excessive delay in setPowerMode(): 403ms【M 版本】
15:41:07.827 911 2234 D PowerManagerService-JNI: Excessive delay in autosuspend_disable() while turning screen on: 424ms【L版本】
(7) Check Point:绘制界面完成及花费的时间[sys_log]
11-21 16:57:31.431161 1020 1044 I DisplayPowerController: Unblocked screen on after 409 ms
(8) Check Point:上层设置背光[sys_log]
11-21 16:57:31.443164 1020 1044 D DisplayPowerState: Requesting new screen state: state=ON, backlight=211
(9)Check Point:底层设置背光[sys_log,亮屏时间=power key到此处的时间,不一定每个版本都有此log,kernel log]
提示:如果出现此log表示屏幕已经点亮
<7>[ 553.658233] (3)[1301:PhotonicModulat][name:leds&][LED]Set Backlight directly 211 at time 4294992661, mapping level is 211
main log:
09-07 11:34:26.180 0 0 I [T328716] kworker/3: 0: leds_mtk led_debug_log(215) :[name:leds_mtk&][Light] Set lcd-backlight directlyT:670289.857,L:67 L:67 map:538 T:670289.874,L:64 L:64 map:514 T:670289.890,L:61 L:61 map:490 T:670289.907,L:58 L:58 map:466 T:670289.925,L:55 L:55 map:442
09-07 11:34:25.903 849 849 D android.hardware.lights-service.mediatek: write 98 to /sys/class/leds/lcd-backlight/brightness, result: 0
(10)Check Point:亮屏操作完成[sys_log]
11-21 16:57:31.556750 1020 1044 D DisplayPowerController: Finished business...