讨论广场 问答详情
(dayu200)rk3568 5.1.0 release版本,无法进入休眠
weixin_42358198 2025-05-09 16:07:34
79 评论 分享

环境:DAYU200

系统:OpenHarmony 5.1.0 release

通过zh-cn/release-notes/OpenHarmony-v5.1.0-release.md · OpenHarmony/docs - Gitee.com自己拉取编译或者使用release的镜像

 

系统放置一会出现如下log:

[  167.430650] PM: suspend entry (deep)
[  169.432321] PM: suspend entry (deep)
[  173.433558] PM: suspend entry (deep)
[  181.434807] PM: suspend entry (deep)
[  197.436030] PM: suspend entry (deep)

根据log分析,kernel拒绝deep sleep模式

[  197.436030] PM: suspend entry (deep)
[  197.436069] PM: reject deep sleep

分析3568 6.6内核,发现suspend接口新增strcmp(mem_sleep_labels[state], "deep")判断(5.10内核没有这段逻辑),按照内核接口要求,应该是拒绝deep sleep,

int pm_suspend(suspend_state_t state)
{
	int error;

	if (state <= PM_SUSPEND_ON || state >= PM_SUSPEND_MAX)
		return -EINVAL;

	pr_info("suspend entry (%s)\n", mem_sleep_labels[state]);
	if (strcmp(mem_sleep_labels[state], "deep") == 0) {
		pr_info("reject deep sleep");
		return -EINVAL;
	}
	error = enter_state(state);
	if (error) {
		suspend_stats.fail++;
		dpm_save_failed_errno(error);
	} else {
		suspend_stats.success++;
	}
	pr_info("suspend exit\n");
	return error;
}
EXPORT_SYMBOL(pm_suspend);

 

79 评论 分享
写回答
全部评论(4)

看了下6.6主线上没有这部分判断

通过patch打上去的,6.6内核的patch相比5.10内核的patch只多了一条打印:

你可以对比下这两个patch看看有什么别的改动:

2025-05-09 19:06:50
2025-05-12 15:04:03
引用:“其他版本是什么意思,kernel5.10和kernel6.6的kernel.patch,对pm_suspend这个函数打的patch唯一的不同是kernel6.6多了一句 + pr_info("reject deep sleep"); 没有实质性改动,应该不是这里的问题。”
用dayu200,烧录的这个版本“RK3568标准系统解决方案(二进制) 5.1.0 Release 站点 SHA256校验码 9.7 GB(https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v5.1.0-release.md)”,就会有reject deep sleep
2025-05-12 15:04:03
2025-05-12 10:24:30
引用:“我表达有误,我说的kernel 5.10指的是其他版本,目前openharmony 5.1使用的6.6的内核,openharmony4.0/4.1/5.0使用的都是5.10的内核,这几个版本也都没问题,这个修改应该是5.1 release新增的patch,我在dayu200上直接使用社区release的镜像,也是同样的问题,reject deep sleep ”
其他版本是什么意思,kernel5.10和kernel6.6的kernel.patch,对pm_suspend这个函数打的patch唯一的不同是kernel6.6多了一句 + pr_info("reject deep sleep"); 没有实质性改动,应该不是这里的问题。
2025-05-12 10:24:30
2025-05-12 09:15:16
我表达有误,我说的kernel 5.10指的是其他版本,目前openharmony 5.1使用的6.6的内核,openharmony4.0/4.1/5.0使用的都是5.10的内核,这几个版本也都没问题,这个修改应该是5.1 release新增的patch,我在dayu200上直接使用社区release的镜像,也是同样的问题,reject deep sleep
2025-05-12 09:15:16