xgupyp 发表于 2020-3-3 21:42

关于300系主板10.15.1睡眠自动唤醒问题(RTC Alarm)的探讨

关于300系主板黑果睡眠RTC自动唤醒问题的探讨我的配置:主板:华硕TUF B360M-PLUS Gaming SCPU:I5 9400F内存:DDR4 32G杂牌显卡:蓝宝石RX560无线蓝牙卡:苹果拆机卡,4天线的硬盘:两块SSD、一块HDD,每块都有EFI分区;
   引导是OC0.56,系统是10.15.1;配置文件是自己根据OC指南及XJN’S BLOG来配置的,目前使用均一切正常,但总有一些小问题,比如今天探讨的睡眠自动唤醒问题,虽然在XJN’S BLOG也有提到了解决的方法,但因个人理解能力不行,也没有搞好,所以就反复查看了OC关于Coffee LaKe系列CPU的配置指南及ACPI入门介绍,终于搞得睡眠差不多了,希望大家一起来讨论,是否都适用。OC-Coffee Lake配置指南:https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/intel-config.plist/coffee-lakeXJN’S BLOG:https://blog.xjn819.com/?p=543ACPI入门:https://khronokernel.github.io/Getting-Started-With-ACPI/首先看看OC指南里面关于Coffee Lake系列CPU需要的几个SSDT:
[*]SSDT-PLUG:应该是加载CPU原生电源管理的,需要根据自己的DSDT来小修改一下。或者直接使用宪武大神的OC部件包里面的成品。在xin’s博客里面也有相关教程。
[*]SSDT-EC-USBX:根据指南翻译是隐藏嵌入式控制器,并创建一个假的控制器;还有第二个功能是强制USB电源属性。这个在XJN’S BLOG里面也有相应的教程【3.7关于EC控制器】,我的主板通过查找DSDT看到是已经禁用掉了的,所以我下载了SSDT-EC-USBX.dsl,通过MaciASL另存为.aml文件后查看里面没有了有关禁用EC的信息,只有USBX的内容。
[*]SSDT-AWAC:这是300系列RTC补丁程序,对于大多数,B360,B365,H310,H370,Z390等都是必需的。由于使用旧版的RTC而导致AWAC SSDT不兼容,替代方法是使用SSDT-RTC0;我在论坛看到很多安装求助就是卡APFS这里的,就使用这个可以解决;由于我的主板在BIOS里面可以设置使用旧版的RTC设备,所以我就没有使用SSDT-AWAC.aml;
[*]SSDT-PMC:这是300系列主板使用NVRAM的,所以都应该加入。
   今天我们探讨的就是关于SSDT-RTC0的问题,之前我的电脑一直都能自动、手动睡眠,但是在自动睡眠后经常出现RTC(Alarm)唤醒,使用命令查看,有很多RTC自动唤醒,如下:   有时在半夜起床时都可以听到电脑机箱的风扇时不时的开始转动,停了过几分钟又开始动,非常不爽;但是手动点睡眠后就没有出现这种情况,我测试了好几次都这样的。所以反复看了ACPI入门指南,看到了关于AWAC与RTC如何选择的相关介绍,里面是这样说的(使用的百度翻译):
固定系统时钟    适用于英特尔300系列芯片组    因此,在最新的英特尔300系列主板上,制造商开始推广一种新型的系统时钟:AWAC(一种奇怪的混蛋时钟)。有一个小问题是,macOS不知道AWAC时钟到底是什么,而只熟悉传统的RTC(实时时钟)。所以我们需要找出如何恢复传统时钟,这就是SSDT-AWAC和SSDT-RTC0的来源:
[*]SSDT-AWAC:禁用AWAC并启用RTC,在你的DSDT中有一个称为STAS的变量,用1或0来决定使用哪个时钟(1用于RTC,0用于AWAC)
[*]SSDT-RTC0:用于创建一个假RTC设备供macOS使用;在很少的情况下,一些DSDTs可能没有可用的传统RTC。当这种情况发生时,我们将要创建一个假设备来让macOS设别。
注:AWAC实际上代表ACPI唤醒报警计数器/为那些好奇的人准备的时钟,尽管我永远都知道这是个奇怪的闹钟。确定您需要哪个SSDT?要确定您是否需要SSDT-AWAC或SSDT-RTC0:
[*]打开反编译的DSDT并搜索Device(AWAC)
[*]如果没有显示,那么就不需要继续,也不需要这个SSDT,因为你没有AWAC。否则请继续!
[*]如果您得到一个结果,那么您有一个AWAC系统时钟存在,然后继续下一次搜索STAS==

如您所见,我们在DSDT中找到了STAS==这意味着我们能够强制启用我们的传统RTC。在这种情况下,SSDT-AWAC将按原样使用,无需修改,只需要编译。注意,STAS可能首先在AWAC中找到,而不是像我们的示例中那样在RTC中找到,这是正常的。对于没有STAS但有AWAC的系统,可以使用SSDT-RTC0,但需要检查DSDT中LPC的命名默认情况下,SSDT使用LPCB,您可以通过搜索名称(0x001F0000)来检查系统使用的内容。此地址用于低计数设备(LPC),但设备名称可能在LPCB、LBC或LBC0之间变化。根据这个指南搜索了我的DSDT,并找到了AWAC:再继续搜索STAS,也同上面所说首先在RTC中找到了:按理说我都不需要这两个SSDT,但我发现我的DSDT里面的名称是Device(RTC),并不是Device(RTC0),所以我在OC配置里面加入了SSDT-RTC0.aml,然后测试果然自动睡眠不会自动RTC唤醒了。上图中看到我是03-02 21:33:04之前开始自动睡眠的,后面有三次唤醒是因我打开了蓝牙耳机,电脑自动连接,然后唤醒了。然后一直到03-03 17:57:14时通过键盘唤醒。终上,如果大家使用300系列主板,遇到和我同样的问题,也可以试试这个方法,看能不能使用,大家一起探讨。我还在OC配置文件里内核部分找到了禁用RTC时钟唤醒的补丁,再继续进行测试是否可用:另外原来在手动睡眠时通过命令还发现了XDCI CNVW自动唤醒,我也使用了XJN’S BLOG里面教程提到的0D/6D补丁,但是通过命令查看还是有,再将继续测试。最后,做为一个资深小白在这里提醒一下才入黑果的小白,安装黑果之前还是多看看基础的东西,多了解怎么安装,了解一下安装黑果必要的东西,比如什么是GPT和MBR格式,什么是EFI分区等。很多都可以通过度娘找到答案,并不一定要发贴来求助的;在安装过程中是遇到的问题,也可以自己搜索解决,确实找不到的情况再求助,可能更好。就像这个OC指南里面专门有故障排除和调试说明,很多安装中的问题都可以找到。OC指南的故障排除:https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/troubleshooting/troubleshooting

danceking 发表于 2020-3-3 23:14

不错的分析。

zhl5612 发表于 2020-3-4 00:02

睡眠rtc唤醒还能继续睡是正常的吧,但是你的唤醒有点频繁不知道正常不正常

winitial 发表于 2020-3-4 00:40

usb定制要正确

xgupyp 发表于 2020-3-4 10:30

winitial 发表于 2020-3-4 00:40 https://www.pcbeta.com/static/image/common/back.gif
usb定制要正确

已经正确定制了USB

xgupyp 发表于 2020-3-4 10:30

zhl5612 发表于 2020-3-4 00:02 https://www.pcbeta.com/static/image/common/back.gif
睡眠rtc唤醒还能继续睡是正常的吧,但是你的唤醒有点频繁不知道正常不正常

就是非常频繁,但是现在用了RTC0后就不唤醒了

rzxwang 发表于 2020-3-4 10:37

哈哈哈哈哈~我也是这个问题,但是我确认是我的机械键盘导致的,睡了即醒。拔掉机械就没有这个问题了。

rzxwang 发表于 2020-3-4 10:38

求EFI。。。。

LeeJon 发表于 2020-3-4 13:33

XDCI 一般是控制什么的?

visitingms 发表于 2020-3-4 13:58

楼主的文非常好,最近我也在研究10.15.3的睡眠问题,很多东西也是从xjn大神那儿看的,你这儿写的更加系统,我运气好,品牌机Z370主板,EC自己关闭了,AWAC也没有,最后自己定制了一个usb,关了CFG lock,因为Clove注入cpu电源管理很简单都没有用PLUG就好了。不过读了你的文还是弄懂了很多当时懵懵懂懂没弄懂的事情。

visitingms 发表于 2020-3-4 14:09

楼主你关了网络唤醒和电源小憩么?

xgupyp 发表于 2020-3-4 15:20

visitingms 发表于 2020-3-4 14:09 https://www.pcbeta.com/static/image/common/back.gif
楼主你关了网络唤醒和电源小憩么?

我节能五项中唤醒和电源小憩都没开

xgupyp 发表于 2020-3-4 15:21

rzxwang 发表于 2020-3-4 10:38 https://www.pcbeta.com/static/image/common/back.gif
求EFI。。。。

会不会是USB问题,晚点传一个给你,邮箱?

visitingms 发表于 2020-3-4 15:28

xgupyp 发表于 2020-3-4 15:20 https://www.pcbeta.com/static/image/common/back.gif
我节能五项中唤醒和电源小憩都没开

我不关,睡眠后半个小时到一个小时会醒,问题醒了他就不睡眠了,屏幕不亮但是机箱风扇都不停了,我估计是自动备份,我挂了一个盘自动timemachine的。但是把唤醒和小憩关了他就不醒了,据说白果醒了还会再睡,看来还是不完美。

rzxwang 发表于 2020-3-4 15:28

xgupyp 发表于 2020-3-4 15:21 https://www.pcbeta.com/static/image/common/back.gif
会不会是USB问题,晚点传一个给你,邮箱?

我现在感觉有可能是USB问题,我定制了也不行。

xgupyp 发表于 2020-3-4 15:34

visitingms 发表于 2020-3-4 15:28 https://www.pcbeta.com/static/image/common/back.gif
我不关,睡眠后半个小时到一个小时会醒,问题醒了他就不睡眠了,屏幕不亮但是机箱风扇都不停了,我估计是 ...

如果能自动睡眠,还可以通过键鼠唤醒的话应该还可以吧

visitingms 发表于 2020-3-4 15:35

定制了都不行,估计就是0d 6d那个问题了。

visitingms 发表于 2020-3-4 15:37

xgupyp 发表于 2020-3-4 15:34 https://www.pcbeta.com/static/image/common/back.gif
如果能自动睡眠,还可以通过键鼠唤醒的话应该还可以吧

嗯,唯一缺憾就是电能小憩醒了以后无法自动再次睡眠。其他自动睡眠,电源1秒睡眠,电源三秒跳框,鼠标键盘唤醒,电源唤醒都没问题了。和你一样折腾很久,驱动好了就在弄这个了,ACPI没有基础的人弄起来只能跟着大神们的脚步向前。自己要解决问题太难了。

xgupyp 发表于 2020-3-4 18:00

visitingms 发表于 2020-3-4 15:37 https://www.pcbeta.com/static/image/common/back.gif
嗯,唯一缺憾就是电能小憩醒了以后无法自动再次睡眠。其他自动睡眠,电源1秒睡眠,电源三秒跳框,鼠标键盘 ...

对的,我感觉不用那个什么时间备份也行,如果有问题重新安装,可以在其他盘格式化几十个G的APFS分区格式的来备份常用软件文件就行了

hummer-plg 发表于 2020-3-4 20:49

我也是这样的,我感觉除了显示器黑屏了,其他所有部件都还在工作
页: [1] 2 3
查看完整版本: 关于300系主板10.15.1睡眠自动唤醒问题(RTC Alarm)的探讨