黑苹果电池电量打补丁小细节

黑苹果电池电量打补丁小细节,第1张

依照网络教程对dsdt进行补丁,然后笔记本就能显示电量了。有一点需要注意的是,需要屏蔽双电池。

打开ireg,搜索bat

没有屏蔽之前,我ireg搜索有bat1,bat2,

所以我需要屏蔽bat2,如果你是bat0,bat1,需要屏蔽bat1。

打开打好补丁的dsdt.aml

点击patch

输入

点击apply,然后保存dsdt.aml

重启,电池显示正常了。

参考教程 - 用热补丁修理你的触摸板(TouchPad-Hotpatch)- 神楽小白(GZ小白)

由于上方链接内教程已经十分完备,此处只做一个总结。

在确定设备时,也要确定你的 I2C 控制器的 Device_ID 和 Vendor_ID,以此确定需要选择什么卫星kext。当然你也可以通过多次尝试找到能用的那个。

当你在确定ACPI Pin时,若发现自己的Pin >1024(十进制)或是Pin <0x2F(十六进制),则无需套公式计算Pin值了。

只需要放入 SSDT-XOSI.aml,以及对应的 _OSI to XOSI 重命名补丁

并且将VoodooI2C和对应的卫星kext放入,重启即可驱动。如果发现触控板设置内不显示触控板,制作电池补丁可能可以解决此问题。

同样需要放入 SSDT-XOSI.aml 及对应的 _OSI to XOSI 重命名补丁

此外,还需要对 TPD0 设备的 _STA 方法,以及 GPI0 的 _STA 方法打补丁,使 TPD0 禁用,及 GPI0 设备启用。

如原设备中:

通过分析,我们可以知道,当 SDS0 不等于 0x05、0x02、0x06、0x01 时, TPD0 的 _STA 返回零,即被禁用。因此我们可以让 SDS0 等于0.

同理,在 GPI0 设备中:

只需要让 SBRG 和 GPEN 都不等于0,即可启用 GPI0 设备。而 SBRG 变量在整个DSDT中都有调用,无法通过预置变量法置1,否则将影响整个DSDT的功能。因此我们可先让 GPEN 置1,若是依然无法启用 GPI0 ,则使用 ACPI 重命名和自编写 SSDT 来修改原 _STA 方法。

综上,我们可以得到如下预置变量补丁:

若是需要使用 ACPI 重命名和自编写 DSDT 方法,请参照:

在进行 ACPI 重命名的时候,不能单单 patch _STA,否则会影响所有设备的_STA方法。我们使用Hex Fiend来寻找_STA关键字,并且扩展到周围的byte,直到能够确保DSDT中的唯一性。

然后参照原教程将原 TPD0 方法的内容复制到补丁中,并把所有 TPD0 替换为 TPDX。

而根据原文,VoodooI2C 使用 SBFG 来启用 GPIO 中断模式。因此在 _CRS 方法中,我们需要返回 SBFB, SBFG 或是 I2CM, SBFG (根据你机器原本的原文来确定)

如原文是

我们修改为

而若原文是

我们修改为

其他部分在大佬的博客里讲解很清楚了,此处不再赘述。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11478016.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存