Android 系统(149)---如何初步定位异常关机问题
最新推荐文章于 2023-06-10 17:41:31 发布
转载
最新推荐文章于 2023-06-10 17:41:31 发布
·
3k 阅读
·
0
·
9
android 系统
专栏收录该内容
325 篇文章
订阅专栏
本文提供了详细的步骤来排查手机异常关机的问题,包括区分挂起与关机、检查日志文件、分析电池与温度信息等,适用于技术人员进行故障诊断。
摘要生成于
C知道
,由 DeepSeek-R1 满血版支持,
前往体验 >
由于异常关机问题可能存在多种可能性(异常重启,异常关机,hang机,掉电),请务必厘清复现过程和手法,保留问题现场,以下信息请在提case的时候一起提供:1、确认是亮屏关机还是灭屏关机?关机时是否有播放关机动画?如果有播放关机动画可以检查关机流程的调用是否有异常。 2、是直接关机还是关机后会自动重启?可以检查log中是否有走ShutdownThread或者reboot流程,是否有对应的exception或db产生。 3、异常关机时,连上uart线是否可以吐log?插上usb后是否能显示关机充电动画?如果可以吐log,可以通过log判断是hang机还是关机充电;若能正常显示关机充电动画可以确认之前的行为是关机而不是hang机。 4、如果按Powerkey可以重新开机,请注意按powerkey的时长是多少?如果是关机,按Powerkey 2~4s即可重新开机;如果是Hang机,按Powerkey要8s以上才会强制掉电重启。 5、检查log中的Battery电压等信息,判断是否为低电或者电压波动异常大? 6、检查log中的Thermal信息,是否有电池温度或者板温过60度的情况? 7、如果是电池本身的过流/过压保护,异常关机后按Powerkey不能重启,必须要拔插电池才能恢复。 8、提供的log中请包括关机mobile log(最好能抓logcat和uart log),关机后再开机的mobile log(包括pl_lk log、kernel_log.boot、main_log.boot、last_kmsg、property、cmdline等信息),如果有exception信息请一并提供对应db文件。 9、如果以上方法都没看出任何异常,需要看PMIC记录的最后关机的原因。方法有2个,任选一个:测试前接上USB和uart(保证可以看到preloader log),然后复现问题,复现后一定会在关机充电画面(异常掉电),测试看进入关机充电的preloader log,里面的PMIC reg log记录了上次关机原因。O及以后版本会把上一次的preloader log保存到expdb。在测试复现问题后(全程不能按power key),插上usb,此时进入关机充电,短按power key 3s,正常开机,然后执行如下命令:
adb shell dd if=/dev/block/platform/bootdevice/by-name/expdb of=/sdcard/expdb
adb pull /sdcard/expdb将导出的expdb,用NotePad++直接打开,看log preloader PMIC reg log如下(具体含义看datasheet):[PMIC]TOP_RST_STATUS[0x152]=0x4F
[PMIC]PONSTS[0xC]=0x4
[PMIC]POFFSTS[0xE]=0x80
[PMIC]PGSTATUS0[0x14]=0xFFFE
[PMIC]PSOCSTATUS[0x16]=0x0
[PMIC]BUCK_OC_SDN_STATUS[0x1434]=0x0
[PMIC]BUCK_OC_SDN_EN[0x1444]=0x31F
[PMIC]THERMALSTATUS[0x18]=0x0
[PMIC]STRUP_CON4[0xA1C]=0x0
[PMIC]TOP_RST_MISC[0x14C]=0x200
[PMIC]TOP_CLK_TRIM[0x38E]=0x6EC0