MTK平台充电安卓系统不显示充电图标

张开发
2026/6/7 14:06:54 15 分钟阅读
MTK平台充电安卓系统不显示充电图标
背景老化测试出现插上充电器系统不显示充电图标但实际上是有充上电的正常插上充电器应该会有充电图标。正常排查应该从上层开始排查接收到的信息是否正确搜索关键词chg 这个是上层healthd服务读取驱动充电IC节点的type类型来判断充电类型这里识别成了usb,但不是空可能为充电器的适配器比较差但实际上是有读到充电类型的如果读不到充电类型就需要排查healthd函数里面读取的是哪个节点。system\core\healthd\BatteryMonitor.cpp 函数路径在这这里函数仅在初始化的时候读取对应的节点可以从这段代码看出这里读取到匹配的节点后会把节点名字存储到mChargerNames里面后续如果没读取到正确的节点那么可能chg 的类型就有可能为空。从这里看出后续轮询读取充电状态的是从mChargerNames读取的。并且就算是有通过uevent事件检测也是从这个Names里面读取因此这是第一步需要确认的是节点读取正确。通过对比正常机器的状态发现st的状态异常找到代码对应st4 是什么状态Not charging这时候就需要找到充电IC里面找到对应的status节点为什么会上报Not charging了st对应节点从这里看出在充电IC发现只有在chrg_stat为0的时候才会进入Not_charing但是实际上电量是能充上去的发现chrg_stat为0时对应的是charge disable从log中发现关闭了充电IC了的时候同时也开启了泵IC进行PD充电这就解释了为什么还在充电同时我们可以发现就是开启泵IC充电后并没有对充电IC的status更新导致上层充电图标出现异常在驱动充电IC加上这句完美解决此次调试省略了验证节点除此之外由于是远程调试抓取的log也是工厂的NPI提供因此及时沟通找到异常的log信息片段也是非常重要的。

更多文章