Lenovo Y450 El Capitan 解决方案 | AppleHDA修改及整合式KEXT
本帖最后由 linzhouyu 于 2016-6-17 23:10 编辑10.11正式版已经发布,本帖的意义主要是关于此机型(包括但不限于)在10.11中可能出现的问题的讨论及研究。内容是在下面II部分给出的几贴基础上的进一步补充及更新,如无10.11之前版本的Hack经验建议先从之前的几贴内容入手。
不出意外的话,下一代的OS X(10.12?)可能会有比较大的改动。10.11也可能是我关于这台六年之前的老机器的最后一次跟进了。
I.更新提要及常见问题解答
1. 提取自最新版本的AppleHDA修改已经在下方更新,可供未正确配置Clover KextPatch或仍然坚持使用变色龙的朋友使用。
2. 由于Apple在10.11中引入的SIP安全技术限制对系统文件的修改操作,请参考此文正确配置SIP控制标志位以关闭kext加载限制。注意rootless=0及kext-dev-mode=1启动参数已经被废除,请不要再使用。第三方kexts也请安装至LE(/Library/Extensions/)而不是SLE。
3. 10.11中,可以在终端中运行如下指令开启第三方SSD的Trim功能,无须再使用Clover的KextPatch或是TrimEnabler等工具修改原始kext:
sudo trimforce enable另外,也可放置需要的注入属性参数至FakeSMC(10.8区帖子中已经提供需要注入的信息),或使用下方提供的整合式KEXT。效果与使用上述命令等效,二者选取其一即可。
4. USB控制器在注入必要的端口信息后已经可以正常工作(References),需要配合DSDT。已经添加了注入信息的FakeSMC(或使用下方给的LenovoY450整合式KEXT)及更新后的DSDT请前往下面给出的10.8区帖子下载。注入信息的适配机型为MBP6,2。应用此Fix之后,摄像头,蓝牙模块及所有的4个USB端口可以恢复正常。
5. 下方提供的LenovoY450整合式kext更新增加了SIP控制标志位及启动标志位检测功能,关于配置SIP及相关信息可参考该帖。
6. 10.11下的睡眠问题已经修复,请前往10.8区帖子中下载更新后的DSDT。另外,Clover的参考配置文件也已经在10.9区的帖子中更新,加入了10.11需要的SIP标志位设置(csr-active-config=0x11),如需要对SLE下的原版kext进行修改,请自行修改至0x13。
7. 从10.11开始,由于USB控制器驱动的名称更变,请在蓝牙模块设备注入信息中将IOUSBDevice修改为IOUSBHostDevice,另外也需要添加蓝牙模块对应的USB端口信息(感谢446825985提供ioreg信息测试)。修改好的Info.plist示例,FakeSMC可前往10.8区帖子中下载;如使用整合式kext则可在本帖下载。
8. Continuity] 在10.10区帖子中针对10.11中的改动更新了Handoff解决方案的内容,详见该帖Part 3的第7条。如有相关需要可前往参考。
9. 为避免Clover可能出现的bug,请升级至Clover到3292及以上版本来引导原版安装盘,需要进行注入的kext请放到EFI/Clover/kexts/Other目录。Clover从3281版开始已经支持从多个目录中注入kext,顺序为先扫描并注入Other下的kext,而后若系统版本可知,则扫描并注入对应系统版本目录下的kext。再有,使用官方pkg安装Clover之前请暂时关闭SIP中的文件系统保护,安装完之后如需要可再次开启。
10. 10.11.4中对AppleHDA添加了新的依赖,如使用空壳AppleHDA方案则需要在Info.plist中更新对应的列表,更新后的AppleHDAY450ALC269已经包含在下方的整合式KEXT中。
II. 基础解决方案 AppleHDA修改 整合式KEXT
之前的内容不再照搬,如无10.11之前版本的Hack经验请先从这几贴内容入手。:
[10.10] Lenovo Y450 Yosemite 解决方案 | AppleHDA修改 + Handoff方案 + 其他Fix
[10.9] Y450 Mavericks 解决方案 | AppleHDA修改+蓝牙ID注入+其他Fix
[10.8] Y450 kext合集 + 10.8 AppleHDA修改 + DSDT + 睡眠唤醒无声解法
上述贴子中除AppleHDA.kext外,所有其他内容均适用于10.11。
至于AppleHDA,还是建议采用Clover KextPatch的方式进行驱动以避免修改原文件,从而为日后的系统升级提供方便。具体方法请参见上方提供的10.9区帖子。
如果未正确配置Clover KextPatch功能,为Y450修改的AppleHDA仍然会在此贴保持更新。修改好的AppleHDA下载,可用于10.11.5。注意配合DSDT,修复权限,重建缓存。此kext由于是修改系统原版kext而来,因此需要安装至SLE替换原文件,请在操作之前配置好SIP以关闭文件系统保护功能。
...
上面这些都已经OK?可参考下面的说明进行整合以方便日后维护。
...
若已经成功配置Clover KextPatch驱动声卡,也可使用额外的AppleHDA空壳kext配合修改过的zlib文件的方法来实现未来无痛升级(AppleHDA资源结构及支持的硬件不进行重大调整的前提下也包括系统大版本更新),具体原理可参考原文。制作好的kext已经包含在了下方提供的整合式KEXT中,可单独提取使用。
再有,也可尝试使用AppleALC来实现在SIP完全开启的情况下驱动声卡。
在此基础上,还可一并将所有需要的kext放入一个kext的PlugIns文件目录下,效果与分开使用无异。
这里提供一份针对Y450的整合式kext,提供的LenovoY450.kext为本人制作的带SIP控制标志状态检测的kext,也可用于为其他驱动进行Info.plist相关信息注入。所有其他需要的kext均放置在了此kext中的PlugIns目录下。
-> LenonoY450.kext自身实现的功能:
检测实际生效的SIP控制标志位及启动标志位信息并输出至系统日志。此项功能可按需在Info.plist中设置开启/关闭。
-> PlugIns目录中包含的驱动:
FakeSMC,电池(ACPIBatteryManager),触控板&键盘(VoodooPS2*),睡眠唤醒无声修复(CodecCommander),BCM5784M有线网卡(BCM5722D),ALC269声卡空壳(AppleHDAY450ALC269),CPU&GPU传感器插件(CPUSensors,GPUSensors)
-> Info.plist中包含的信息:
ICH9M芯片组,屏幕亮度表(请根据不同的屏幕面板ID修改或删除),10.11需要的USB端口信息,Apple官方针对第三方SSD的TRIM开启注入属性信息,原装蓝牙模块的ID注入信息
**** Hidden Message *****
使用说明:
1. 使用前请先删除SLE下添加的所有相关的第三方驱动,并将修改过的相关kext恢复原版。
2. 此整合版kext建议配合Clover使用,安装至LE(/Library/Extensions/),并配合kextpatch对AppleHDA打补丁。要求系统版本>=10.10。若放到Clover目录下使用kext注入功能或是使用变色龙,则声卡空壳驱动(AppleHDAY450ALC269)无效。
3. 请确保机子已经全部调配完毕的情况下再尝试使用此整合kext。
4. 可根据自己的需要在PlugIns目录中自行增减kext和在Info.plist中注入的信息,最新kext及可注入的信息请前往10.8区帖下载选用。原添加在FakeSMC的Info.plist中的对应内容可删除以避免重复。
跟进太快啦!~~~哈哈~ 同样是usb出问题了,感谢分析 感觉看完这几个帖子,我会学到好多东西!谢谢了! 小小的爱 发表于 2015-6-11 21:28 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
感觉看完这几个帖子,我会学到好多东西!谢谢了!
不客气祝折腾愉快 电源接口边的两个usb接口接鼠标没有反应,倒是左边的两个usb接口可以。不知是怎么一回事。。。。 lorlno111 发表于 2015-6-12 18:32 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
电源接口边的两个usb接口接鼠标没有反应,倒是左边的两个usb接口可以。不知是怎么一回事。。。。
内置usb设备也不识别。等apple修复吧。。。 chao_hl 发表于 2015-6-13 11:00 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
请问电池电量显示仅用ACPIBatteryManager.kext吗?还是需要dsdt里做相应修改?睡眠唤醒后电源指示灯正常不? ...
需要dsdt进行配合的,单使用此kext应该是无效的 我得usb出问题了 都不能安装,卡在usb的部分 vlion 发表于 2015-6-13 12:38 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
我得usb出问题了 都不能安装,卡在usb的部分
请问是什么机器? 另外如果是usb出问题那么安装盘也不能使用usb设备 我台式机的声卡用新版驱动修改怎么都驱动不了,但是用10.10.3的驱动就可以,clover引导,用的kexts to patch 看来问题不少啊!我要删除原生声卡提示受保护!不能删除。 winxpzzg 发表于 2015-6-13 18:11 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
看来问题不少啊!我要删除原生声卡提示受保护!不能删除。
启动参数加上rootless=0 <key>Boot</key>
<dict>
<key> Boot </key>
<dict>
<key>Arguments</key>
<string>-v kext-dev-mode=1 rootless=0 InjectKexts</string>
</dict>
是不是这样 winxpzzg 发表于 2015-6-13 19:51
Boot
Boot
是的 添加到config中即可 添加了没有用,还是锁定
winxpzzg 发表于 2015-6-14 15:38 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
添加了没有用,还是锁定
在clover启动界面设置中检查一下有否成功添加rootless=0这项 在clover启动界面设置中检查一下有否成功添加rootless=0这项
请问要怎样操作