linzhouyu 发表于 2012-9-20 20:19

Y450 kext合集 + 10.8 AppleHDA修改 + DSDT + 睡眠唤醒无声解法

本帖最后由 linzhouyu 于 2017-5-19 00:06 编辑

关于10.11及其他更新内容:
https://bbs.pcbeta.com/viewthread-1605626-1-1.html
关于10.10及其他更新内容:
https://bbs.pcbeta.com/viewthread-1516536-1-1.html
关于10.9及其他更新内容:
https://bbs.pcbeta.com/viewthread-1351302-1-1.html
本帖的原有内容必要时仍然会保持更新,内容与上面几帖互相补充。


Part 1: Y450所需kext合集 [07/18/2016 更新]

Kexts安装位置:
<=10.9:/System/Library/Extensions
>10.10:/Library/Extensions,并需要关闭kext签名保护。
注意修复权限+重建缓存。如使用Clover,可在EFI/CLOVER/kexts/Other/下复制一份kexts(AppleHDA除外),以便引导原版安装盘以及恢复分区时使用。

> BCM5784M有线网卡
此自编译版本基于2.3.6版源码,额外修正了网卡名称,仅适用于10.9及以上系统。如需要在更老的系统版本上使用,可自行下载对应的版本:传送门


> 电池信息
来自RehabMan的os-x-acpi-battery-driver项目。
自1.40版起,已经无须替换原版文件。如原来替换过AppleSmartBatteryManager.kext,请先恢复原版文件。


> 触控版 + 键盘
来自RehabMan的OS-X-Voodoo-PS2-Controller项目。
已经修改三指操作为:
三指左/右扫(Ctrl + Left/Right Arrow):向左/右切换屏幕
三指向上(Ctrl + Up Arrow):Mission Control
三指向下(Ctrl + Down Arrow):应用程序窗口预览
上述设定遵守Apple默认的快捷键及三指功能。使用前请恢复快捷键设定至默认或自行修改kext配置来实现想要的操作。


> FakeSMC+温度传感器插件
来自kozlek的HWSensors项目。
传感器插件CPUSensors与GPUSensors不依赖FakeSMC,可单独使用。另外已经在此FakeSMC中修改或加入了:
a. 适配机型为MBP6,1及6,2。
b. 电源适配器ID注入。
c. ICH9M芯片组识别。
d. 10.11需要的USB端口信息注入,适配机型为MBP6,2。
e. AppHDA修改以配合Clover KextPatch。
f. Apple官方提供的针对第三方SSD开启TRIM的注入属性参数,与trimforce enable命令等效。要求系统版本>=10.10.4。
g. 蓝牙模块信息,注意对应不同的系统版本,已经加入的信息仅对应10.11。另外可能需要自己修改相应设备ID。

下面是其他可选的注入内容,请根据自己需要添加至FakeSMC的Info.plist中:

h. 亮度表注入。提供的仅为示例,需要自行修改屏幕设备ID以及测试适合的亮度表。
i. 摄像头名称信息注入,针对10.11之前的蓝牙模块信息注入等。

上述e,g,h项的具体说明请见最上方给出的10.9区帖。如果采用10.11区帖中给出的LenovoY450.kext,即整合式kext,那么上述c-i项也可加到LenovoY450提供的Info.plist中。提供的FakeSMC中Info.plist里的对应项可删除。

> CodecCommander
来自RehabMan的OS-X-EAPD-Codec-Commander项目。
此kext用于解决使用仿冒AppleHDA后出现的睡眠唤醒内置扬声器无声问题。


10.8 AppleHDA 修改:
更新10.8.5增补更新的AppleHDA,版本号升级到2.4.7fc4。注意必须放到SLE下替换原文件。此仿冒驱动修改了layout-id为0x56,请自行修改dsdt或者下载下面提供的已经改好的dsdt。


为10.9,10.10及10.11修改的AppleHDA请至最上方给出的链接下载。

PS:关于无线网卡以及蓝牙替换方案,请参考最上面给出的10.10区帖子。


Part 2:NVRAM及亮度保存相关

新版的Clover/Chameleon已经很好地实现了NVRAM的自动保存和恢复,已经不需要手动折腾了。
如使用Clover,请确保在安装过程中选择安装了rc scripts。
如使用Chameleon,请确保安装过程中选择了filenvram模块。

下面是手动实现的方案,原理基本相同,供参考:
这里介绍一下Hackintosh上模拟nvram的方法,并不只针对Y450,目前可以实现的功能主要有:
1. 屏幕亮度自动保存,理论上有亮度调节小太阳的机子通用,这样每次开机屏幕亮度就不会自动重置了。
2. iCloud中Find my Mac功能在系统每次启动后均保持勾选状态。
原文请参考本人的blog,步骤并不复杂。
http://www.idelta.info/archives/nvram_on_hackintosh/


Part 3: 睡眠唤醒无声解决方案

对于睡眠唤醒内置扬声器无声的问题,目前有如下几种解决方案。

1. 使用Sleepwatcher。具体用法可以参照fantasyjqc的帖子第五部分:
https://bbs.pcbeta.com/viewthread-1080226-1-1.html
此法本质上基于kextload/kextunload命令,需要常驻sleepwatcher进程,且此进程会在后台长期占用少量的cpu资源。若使用Clover KextPatch则此法不可用。

2. 在睡眠唤醒后,需要时手动重新加载AppleHDA即可。具体做法如下:
a. 打开终端,输入以下命令:
sudo kextunload /System/Library/Extensions/AppleHDA.kextb. 执行完后,输入下面的命令再次加载AppleHDA:
sudo kextload /System/Library/Extensions/AppleHDA.kext为了方便新手操作,写了个Apple Script,双击执行即可自动完成AppleHDA的重新加载。

注意:如果采用了Clover的Kext Patch功能避免直接修改AppleHDA的,此法不可用。

3. 推荐。增加使用第三方的修复kext,可用的kext有:
CodecCommander - 开源,目前由RehabMan维护更新,推荐使用
EAPDFix - 另一可用的kext,效果一致
此方案是唯一配合Clover KextPatch修改AppleHDA也可以正常工作的,最新的kext已经在第一部分更新。



Part 4:Y450 DSDT[09/11/2015 更新]

更新日志:

去除EHCI设备中的_PRW以修复在10.11下的睡眠问题。
修改EHCI设备名称以实现USB端口信息注入,10.11需要;另修改了130M版本的NVCAP值与240M版一致来实现HDMI视频的正常输出。
加入MCHC及SMBUS相关代码。其他一些小的修正。
细节调整,系统信息内容风格更接近白苹果。
修正USB部分相关代码,防止使用部分无线蓝牙一体模块时无法正常进入睡眠。暂不支持蓝牙设备唤醒睡眠。
修正240M显卡部分代码以支持HDMI音频输出。
添加EHCI Ownership Fix。无需在Clover中设置Devices -> USB -> FixOwnership项。
130M版本修改显卡id与240M一致以实现正常变频。无需再修改AGPM。建议在smbios中把机型设定为MBP6,2或MBP6,1. 感谢@heliansky提供解决方法!
修改PNLF以配合原生亮度调节表。具体作用请参考最上方给出的10.9区新帖。
加入FakeLPC相关描述代码,这样可正常加载AppleLPC,无需再通过Clover设置来完成。感谢@decadencever发现并解决此问题!

DSDT下载:

240M版本:

130M/“240M LE”版本:(除了显卡部分外,其余与上面240M完全一致)

另外,也可以参考lorlno111兄弟提供的DSDT,位于本帖71楼:
https://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1148943&pid=29855884

注意:
dsdt中已经去除了cpu的降频代码,因此可能需要根据自己的u添加或是在变色龙/Cover中设置降频。
Clover设置文件示例可在最上方给出的10.9区帖子中下载。

DSDT改动部分摘要:
Y450的dsdt经不少前辈的不断完善(zwt大神的原帖https://bbs.pcbeta.com/viewthread-711124-1-1.html),以及我自己的小幅修改,目前已经比较完美。
本dsdt主要的fix如下,供参考:
1. USB/网卡内建
2. 原版电源管理
3. 显卡代码加入及后续小修改
4. 声卡代码加入以及layout-id=86修改
5. 睡眠唤醒正常
6.HDMI接口输出有效
7. 亮度调节正常
8. Firewire错误修复 (原帖https://bbs.pcbeta.com/viewthread-915577-1-1.html)
9.电池信息代码加入,以支持电池kext。(原帖https://bbs.pcbeta.com/viewthread-937628-1-1.html)
10.白苹果的盒盖睡眠方式(即有外接显示器/键鼠时盒盖不睡眠,其他情况盒盖自动睡眠)
11. CPU变频档位代码及无线网卡信息已经去除,以求通用性
12. FakeLPC相关描述代码加入。
13. 修改PNLF以配合原生亮度调节表。
14. 130M版本修改显卡id与240M一致以实现正常变频。
15. 增加EHCI Ownership Fix
16. 修正240M版本的HDMI音频输出。
17. 调整USB部分代码,防止使用部分无线蓝牙一体模块时无法正常进入睡眠。
18. 加入MCHC,SMBUS相关代码
19. 修改EHCI设备名称以配合端口信息注入
20. 去除EHCI设备中的_PRW以修复在10.11下的睡眠问题



czwpk 发表于 2012-9-20 20:22

{:9_357:}膜拜吖,改的真快

linzhouyu 发表于 2012-9-20 20:23

czwpk 发表于 2012-9-20 20:22 static/image/common/back.gif
膜拜吖,改的真快

已经有前人改GM版AppleHDA的经验了。。嘿嘿

p.H 发表于 2012-9-20 20:24

{:5_589:}
至今没仿冒过声卡的路过

linzhouyu 发表于 2012-9-20 20:41

p.H 发表于 2012-9-20 20:24 static/image/common/back.gif
至今没仿冒过声卡的路过

我对voodoohda有阴影。。。{:7_466:}

danielchang 发表于 2012-9-20 20:46

我从来都是直接找现成的~{:5_288:}

p.H 发表于 2012-9-20 20:46

linzhouyu 发表于 2012-9-20 20:41 static/image/common/back.gif
我对voodoohda有阴影。。。

= =
新版的voodoo都驱动不了我的了

linzhouyu 发表于 2012-9-20 20:55

danielchang 发表于 2012-9-20 20:46 static/image/common/back.gif
我从来都是直接找现成的~

以前我也是~ 这次主要是看还没人发。。然后就自己改了个{:7_477:}

cat 发表于 2012-9-20 20:57

多谢,刚才手痒升到10.8.2,发现无声,重装kext也不行,结果一上远景就看到楼主的帖子了,真是高兴啊。

danielchang 发表于 2012-9-20 20:58

linzhouyu 发表于 2012-9-20 20:55 static/image/common/back.gif
以前我也是~ 这次主要是看还没人发。。然后就自己改了个

我记得osx86以前就有了,不过不知道合不合用。

iamyxl 发表于 2012-9-20 21:19

可以直接从10.8.0升级吗?

linzhouyu 发表于 2012-9-20 21:42

iamyxl 发表于 2012-9-20 21:19 static/image/common/back.gif
可以直接从10.8.0升级吗?

可以的从apple管网下combo升级包或者直接在线升级

yuao6971 发表于 2012-9-20 21:50

问下楼主,你改后的驱动,休眠后扬声器有没有声?

linzhouyu 发表于 2012-9-20 22:03

yuao6971 发表于 2012-9-20 21:50 static/image/common/back.gif
问下楼主,你改后的驱动,休眠后扬声器有没有声?

Y450仿冒驱动休眠后内置扬声器都木有声音了。。。只有输出可以   不过可以用sleepwatcher间接解决一下

v-far 发表于 2012-9-20 23:08

lz能否提供点技术支持,让我也学学怎么修改。

linzhouyu 发表于 2012-9-20 23:20

v-far 发表于 2012-9-20 23:08 static/image/common/back.gif
lz能否提供点技术支持,让我也学学怎么修改。

之前早有国内外大神提出各种方法了。。。只不过ML里一些xml文件被打包压缩成了zlib,解压后跟之前的修改方法并没有太大的区别

100227qiqi 发表于 2012-9-20 23:35

楼主能发下DSDT么?我不会修改啊?我也是Y450,可以吗?谢谢

100227qiqi 发表于 2012-9-20 23:58

100227qiqi 发表于 2012-9-20 23:35 static/image/common/back.gif
楼主能发下DSDT么?我不会修改啊?我也是Y450,可以吗?谢谢

我是240M的,原帖发的是130M的,能把你的发一下么,谢谢~

bbc2001bbc 发表于 2012-9-21 08:48

昨天更新完就没有声音了,一早就看到楼主的applehda,真快啊

peterwjc 发表于 2012-9-21 10:05

看到LZ顺利升级,决定升级10.8.2了!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Y450 kext合集 + 10.8 AppleHDA修改 + DSDT + 睡眠唤醒无声解法