从event日志来看电池电量变化:整个过程,05-19 19:37 到 05-19 20:11半个多小时电流基本一直在掉,未见明显增加
Line 17815: 05-19 19:37:59.236 1517 10720 I battery_level: [12,3532,338]
Line 18340: 05-19 19:40:06.264 1517 1769 I battery_level: [11,3606,330]
Line 18401: 05-19 19:41:09.768 1517 1769 I battery_level: [10,3575,330]
Line 18483: 05-19 19:43:16.760 1517 10720 I battery_level: [9,3587,329]
Line 18603: 05-19 19:45:23.740 1517 1769 I battery_level: [8,3557,331]
Line 18656: 05-19 19:46:27.216 1517 1769 I battery_level: [7,3584,330]
Line 18911: 05-19 19:48:34.164 1517 1769 I battery_level: [6,3578,330]
Line 19113: 05-19 19:50:41.152 1517 1769 I battery_level: [5,3589,327]
Line 19200: 05-19 19:52:48.132 1517 2196 I battery_level: [4,3559,327]
Line 19254: 05-19 19:54:55.124 1517 2194 I battery_level: [3,3567,324]
Line 19446: 05-19 20:00:12.648 1517 2194 I battery_level: [4,3708,311]
Line 19810: 05-19 20:04:26.544 1517 2194 I battery_level: [5,3720,311]
Line 20190: 05-19 20:09:43.800 1517 10720 I battery_level: [6,3723,312]
Line 20351: 05-19 20:10:47.288 1517 2196 I battery_level: [5,3705,317]
Line 20457: 05-19 20:11:50.788 1517 10720 I battery_level: [6,3714,316]
从event日志还可以看到 这半小时基本微信视频通话
Line 17765: 05-19 19:37:54.136 1517 2810 I am_pause_activity: [0,62141550,com.tencent.mm/.plugin.voip.ui.VideoActivity,userLeaving=true]
Line 20292: 05-19 20:10:11.920 1517 1737 I am_destroy_activity: [0,182324314,602,com.tencent.mm/.plugin.voip.ui.VideoActivity,finish-imm:activityIdleInternalLocked]
然后kernel日志进程看到限流
log_kernel.txt.0/log_kernel.txt:24735:[05-19 19:35:26.456] [2][419: irq/339-usbin-s]pm7250b_charger: smblib_set_charge_param: usb input current limit = 2000000 (0x28)
log_kernel.txt:7226:[05-19 19:56:52.112] [4][7823: kworker/4:3]pm7250b_charger: smblib_set_charge_param: usb input current limit = 1000000 (0x14)
log_kernel.txt:7242:[05-19 19:56:52.116] [1][20805: kworker/1:1]pm7250b_charger: smblib_set_charge_param: usb input current limit = 1000000 (0x14)
log_kernel.txt:16549:[05-19 20:09:46.176] [4][7823: kworker/4:3]pm7250b_charger: smblib_set_charge_param: usb input current limit = 1500000 (0x1e)
log_kernel.txt:16583:[05-19 20:09:47.448] [3][24838: kworker/3:1]pm7250b_charger: smblib_set_charge_param: usb input current limit = 1500000 (0x1e)
log_kernel.txt:16612:[05-19 20:09:47.464] [3][14331: kworker/3:4]pm7250b_charger: smblib_set_charge_param: usb input current limit = 1500000 (0x1e)
同时kernel日志很多温控调整电流的一些日志
Line 4437: [05-19 19:01:28.740] [3][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[16]:2500000, offset:11
Line 5028: [05-19 19:02:00.976] [3][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[17]:2000000, offset:11
Line 5363: [05-19 19:03:58.176] [2][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[19]:1000000, offset:11
Line 7411: [05-19 19:08:23.836] [2][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[20]:500000, offset:11
Line 10730: [05-19 19:15:11.028] [4][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[21]:300000, offset:11
Line 22963: [05-19 19:30:18.488] [0][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[20]:500000, offset:11
Line 23575: [05-19 19:31:58.620] [1][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[19]:1000000, offset:11
Line 23849: [05-19 19:33:09.396] [1][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[17]:2000000, offset:11
Line 27040: [05-19 19:37:13.568] [1][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[19]:1000000, offset:11
Line 27733: [05-19 19:38:10.216] [0][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[20]:500000, offset:11
Line 29742: [05-19 19:40:33.788] [2][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[21]:300000, offset:11
在具体去看会有温控限流 thermal_mitigation[20] 到 500ma
[05-19 19:38:10.216] [0][1212: thermal-engine]pm7250b_charger: smblib_batt_select_fcc_offset: usb:1,dc:0,scr:1,offset:11,thermal_levels:44
[05-19 19:38:10.216] [0][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[20]:500000, offset:11
[05-19 19:38:10.216] [0][1212: thermal-engine]QCOM-BATT: pl_fcc_vote_callback: cp_fcc_ua=500000 total_fcc_ua=500000 forced_main_fcc=0
[05-19 19:38:10.216] [0][1212: thermal-engine]QCOM-BATT: get_fcc_stepper_params: Main FCC Stepper parameters: target_main_fcc: 500000, current_main_fcc: 600000 main_step_direction: -1, main_step_count: 1, main_residual_fcc: 0 override_main_fcc_ua: 0 override: 0
[05-19 19:38:10.216] [0][1212: thermal-engine]pm7250b_charger: smblib_set_charge_param: float voltage = 4450000 (0x55)
[05-19 19:38:10.216] [0][5828: kworker/0:0]pm7250b_charger: smblib_set_charge_param: fast charge current = 500000 (0x0a)
温控限流 thermal_mitigation[21] 到 300ma
[05-19 19:15:11.028] [4][1212: thermal-engine]pm7250b_charger: smblib_batt_select_fcc_offset: usb:0,dc:0,scr:1,offset:11,thermal_levels:44
[05-19 19:15:11.028] [4][1212: thermal-engine]pm7250b_charger: smblib_set_prop_system_temp_level: thermal_mitigation[21]:300000, offset:11
[05-19 19:15:11.028] [4][1212: thermal-engine]QCOM-BATT: pl_fcc_vote_callback: cp_fcc_ua=300000 total_fcc_ua=300000 forced_main_fcc=0
[05-19 19:15:11.028] [4][1212: thermal-engine]QCOM-BATT: get_fcc_stepper_params: Main FCC Stepper parameters: target_main_fcc: 300000, current_main_fcc: 500000 main_step_direction: -1, main_step_count: 2, main_residual_fcc: 0 override_main_fcc_ua: 0 override: 0
[05-19 19:15:11.028] [4][1212: thermal-engine]pm7250b_charger: smblib_set_charge_param: float voltage = 4450000 (0x55)
[05-19 19:15:11.032] [4][16325: kworker/4:4]pm7250b_charger: smblib_set_charge_param: fast charge current = 300000 (0x06)
尤其温度原因限制电流 300ma~500ma,这时候充电电流明显不够系统消耗的电流,可能出现充不进电的情况。
除了当前操作手法,我尝试如下方法去验证,也是很难充进电,
1,机器放电12%左右
2,开启相机一直录像,同时插18W的充电器。
如上复现步骤更简洁。
转管温控策略的bsp同事评估下,把vendor\etc\thermal-engine.conf BATTERY_CHARGING_CTL SKIN_CHARGING_CTL中限流数据调整到更宽松一些?可以根据上面测试场景调试更优参数。