Power鍵不亮屏分析方法

這篇文章感覺在以後的項目中必然會遇到,所以提前從MTK的技術文獻上轉載過來。

原文章連接:https://onlinesso.mediatek.com/Pages/FAQ.aspx?list=SW&FAQID=FAQ19302


[DESCRIPTION]
 
 Power鍵不亮屏log分析方法
  
[SOLUTION]
 
(1)  以下是列出的整個按鍵喚醒的log關鍵點,每條都有粗體字說明其含義以及該注意的關鍵字;
(2)  一條一條依次檢查,直到如果發現某條log找不到,那問題就出在這個地方;
(3)  如果某個階段的時間比較長,可能造成不亮屏的假象,可以分析亮屏時間長的原因
(4)  僅限於L之後的Android版本 
 

kernel-Check Point【1】:kernel 上報power key[kernel log]

[53:pmic_thread]kpd: Power Key generate, pressed=0

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【2】:上層收到按鍵事件[eng版本上纔有此log,main_log]

11-21 16:57:31.001050 1020 1262 D WindowManager: interceptKeyTq keycode=26 ...

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【3】:PMS的wakeUp被調用[sys_log]

16:57:31.011153 1020 1262 I PowerManagerService: Waking up from sleep (uid 1000)...

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【4】:準備繪製界面[sys_log]

11-21 16:57:31.022639 1020 1044 I DisplayPowerController: Blocking screen on until initial contents have been drawn.

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【5】:第一個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}: 

--------------------------------------------------------------------------------------------------------------------------------------------------------

check Point【6】:底層resume時間L版本 setAutoSuspend/M版本 setPowerMode【main_log

 注意:這個log出現的時間點不是固定的,要看底層resume的時間

16:57:31.436586 1020 1301 D SurfaceControl: Excessive delay in setPowerMode(): 403msM 版本

15:41:07.827 911 2234 D PowerManagerService-JNI: Excessive delay in autosuspend_disable() while turning screen on: 424ms【L版本】

Check Point【7】:繪製界面完成及花費的時間[sys_log]

11-21 16:57:31.431161 1020 1044 I DisplayPowerController: Unblocked screen on after 409 ms

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【8】:上層設置背光[sys_log]

11-21 16:57:31.443164 1020 1044 D DisplayPowerState: Requesting new screen state: state=ON, backlight=211

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【9】:底層設置背光[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

--------------------------------------------------------------------------------------------------------------------------------------------------------

Check Point【10】:亮屏操作完成[sys_log]

11-21 16:57:31.556750 1020 1044 D DisplayPowerController: Finished business...




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章