blueboz 发表于 2019-10-30 12:07

DSDT完美睡眠教程

本帖最后由 blueboz 于 2019-11-18 15:14 编辑

据说这个可以省电源https://blog.daliansky.net/Intel-FB-Patcher-tutorial-and-insertion-pose.html大家可以尝试者做一下USB端口限制,个人感觉用处并不是很大。但是确实可以解决USB唤醒之类的问题。言归正传
基本操作步骤:
1.Clover 提取DSDT后,使用iasl 进行反编译。
编译的时候,语法在下面
一般的反编译
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
或者,使用笔者的反编译
iasl -dl -fe refs.txt DSDT.aml SSDT*.aml

2.使用MaciASL打开DSDT.dsl
打开反编译的DSDT.dsl不是aml文件,切记!

3.打开终端,查看笔记本被唤醒的原因,使用如下命令
log show --start '2019-10-30 11:29:00' --end '2019-10-30 11:35:00' |grep 'Wake reason'
笔者返回的是大概如下Default   0x00      0    kernel: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: GLAN Default   0x00      0    kernel: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: GLAN
4.注释掉GLAN设备的PWR方法
5.保存补丁为aml格式名字叫DSDT.aml放置再patched 目录
6.效果验证重启之后,再次点击睡眠,发现Wake reason 变了,还是没法睡眠,这是很正常的,不用担心。如果不出意料应该是下面的某一个设备引起 的唤醒,我们此时只需要,按照前面的步骤,把设备的_PRW方法注释掉就行了。直到可以正常睡眠为止。
注意:
点击睡眠之后,我们需要等一会儿,大概是30秒左右,才会正常睡眠,如果迟迟不睡眠,才是问题。因为睡眠反应比较慢,不是你点击睡眠就马上睡眠的。要等一会。
一点猜想
之前笔者遇到一睡眠,鼠标就给唤醒了,问题是,我并没有动鼠标。鼠标为啥会意外把我的电脑给唤醒?是不是端口定制的时候,没有吧连接器类型改成Internal,导致意外唤醒的可能,即本应该不会意外唤醒的时候唤醒了,然后,我们上面DSDT禁用了这个设备的唤醒,导致他再也没法唤醒的可能。上面的HP12是我自己的USB接口设备。我自己把他修改成为Internal .没有验证过。也不想验证了。
对比效果图:
本文资料下载:
发现有人下载错资源,所以把资源贴出来了。
iasl 下载http://cigorsica.com/22480285/dsdt-sleep

blueboz 发表于 2019-10-30 15:31

本帖最后由 blueboz 于 2019-10-31 13:18 编辑

睡眠的功率是1.8w ,正常工作是20多w.算是理想睡眠了。重启后,再有Wake reason ,按照wake reason所指定的设备进行注释掉即可。

stonexing5 发表于 2019-10-30 16:22

你是7系列ivy bridge主板吗?
我是6系列华硕P8Z68-V LX原本睡眠直接唤醒log show没有任何输出
按国外教程修改了主板bios的rom文件可实现睡眠 但是睡眠后起不来 黑屏必须强制重启

blueboz 发表于 2019-10-30 18:26

stonexing5 发表于 2019-10-30 16:22 https://www.pcbeta.com/static/image/common/back.gif
你是7系列ivy bridge主板吗?
我是6系列华硕P8Z68-V LX原本睡眠直接唤醒log show没有任何输出
按国外教程 ...

你尝试进入/Library/Preferences目录
删掉com.apple.PowerManagement.plist开头的3个文件。重启再试试。

lin24658800 发表于 2019-11-5 12:47

1.Clover 提取DSDT后,使用iasl 进行反编译。
编译的时候,语法在下面iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
或者
iasl -dl -fe refs.txt DSDT.aml SSDT*.aml

求解这里怎么操作的,maciasl下载了不会用,现在睡眠会自动唤醒,查看日志GLAN EH02

fujintcc 发表于 2019-11-5 16:35

stonexing5 发表于 2019-10-30 16:22 https://www.pcbeta.com/static/image/common/back.gif
你是7系列ivy bridge主板吗?
我是6系列华硕P8Z68-V LX原本睡眠直接唤醒log show没有任何输出
按国外教程 ...

我也是改了主板bios现在也是睡死 起不来准备学习改下dsdt试下

xjn819 发表于 2019-11-5 16:59

这只是关闭glan xhc等参与唤醒的工作,不能说完美吧。。。

superxgz 发表于 2019-11-5 17:20

我的是睡了醒不来, 你这个是睡了自己醒来, 有意思

老唱机1991 发表于 2019-11-5 18:13

严谨的推理 很受启发 学习了

浪神禹哥 发表于 2019-11-5 18:27

技术贴,支持一下

zxw2010168 发表于 2019-11-5 19:12

dsdt睡眠教程

blueboz 发表于 2019-11-5 23:06

本帖最后由 blueboz 于 2019-11-5 23:11 编辑

lin24658800 发表于 2019-11-5 12:47
1.Clover 提取DSDT后,使用iasl 进行反编译。
编译的时候,语法在下面iasl -da -dl -fe refs.txt DSDT.aml ...

你的下载iasl这个命令行工具,然后iasl去反编译对应的二进制dsdt文件.https://bbs.pcbeta.com/viewthread-1830339-1-1.html参考我另外一篇,可能写的详细一些,简单理解就是吧看不懂的dsdt翻译成看得懂的,来修改。

blueboz 发表于 2019-11-5 23:12

lin24658800 发表于 2019-11-5 12:47
1.Clover 提取DSDT后,使用iasl 进行反编译。
编译的时候,语法在下面iasl -da -dl -fe refs.txt DSDT.aml ...

你这个自己按照我的教程操作,一定能解决的,很容易的

blueboz 发表于 2019-11-5 23:14

superxgz 发表于 2019-11-5 17:20
我的是睡了醒不来, 你这个是睡了自己醒来, 有意思

你去搜索,sleep=shutdown tonymac网站有解答,要么看我楼上的回复操作,删掉3个文件

lin24658800 发表于 2019-11-6 00:15

blueboz 发表于 2019-11-5 23:12 https://www.pcbeta.com/static/image/common/back.gif
你这个自己按照我的教程操作,一定能解决的,很容易的

DSDT修改太麻烦了,编译后的dsdt有几个错误不会修改,我用Hotpatch搞定了,加了一条EH02的补丁就好了。

luochen28 发表于 2019-11-6 11:07

我也是改了主板bios现在也是睡死 起不来准备学习改下dsdt试下

aliang0805 发表于 2019-12-9 15:04

iasl -dl -fe refs.txt DSDT.aml SSDT*.aml   请问这个 refs.txt文件从哪里来? 谢谢

wusyang 发表于 2019-12-10 20:40

blueboz 发表于 2019-12-10 20:43

wusyang 发表于 2019-12-10 20:40 https://www.pcbeta.com/static/image/common/back.gif
4.注释掉GLAN设备的PWR方法




绿色那一部分就是被注释掉 注释就是在代码前面加//表示注释掉的意思

blueboz 发表于 2019-12-14 20:51

aliang0805 发表于 2019-12-9 15:04
iasl -dl -fe refs.txt DSDT.aml SSDT*.aml   请问这个 refs.txt文件从哪里来? 谢谢

可以不用带这个参数
页: [1] 2 3
查看完整版本: DSDT完美睡眠教程