如何判斷進入了關機充電流程

文檔說明

本文檔以SC806-CN-00-71(msm8909平臺,Android 7.1)爲例,說明如何分析開機log判斷是否進入了關機充電流程。

 

問題現象

客戶機器反覆重啓。log中讀出的Subtype: 0,懷疑是DTS不匹配。

在LK把Boarid-id值固定在6,燒錄開機,仍然反覆重啓。

 

分析log

下面附件是反覆重啓的log:

https://uploader.shimo.im/f/S3WqNiwJBqgk5f6c.log?attname=%E4%B8%B2%E5%8F%A3_2019-12-25_11-31-35.log&download

 

看上圖log,重啓之前有個"Powering off the Soc"的動作,看上去像是軟件主動關機了。

 

再往上翻點,有一句打印 "--------------- STARTING CHARGER MODE ---------------"

 

這句打印對應如下代碼路徑: system/core/healthd/healthd_mode_charger.cpp

 

healthd就是管理關機充電的部分。 進入關機充電,又沒有檢測到DC充電,則調用關機接口。

 

上電開機,進入正常開機還是關機充電,是由 androidboot.mode 的值決定的。

bootable/bootloader/lk/app/aboot/aboot.c 裏面:

 

SC806-CN-00-71代碼根據board-id值,判斷是否進入關機充電,修改aboot.c,設置不進入關機充電即可。

 

patch文件

https://uploader.shimo.im/f/10p28wDFq5odvMvZ.patch?attname=aboot.c.patch&download

https://uploader.shimo.im/f/OGMk1t0OlcUW6IQJ.patch?attname=board.c.patch&download

 

石墨文檔鏈接

https://shimo.im/docs/qvcjkQKJ3dVxjdqY/ 

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