本帖最后由 g958 于 2012-10-9 23:32 编辑
长长的”十一“刚过去,利用这闲暇时间,又开始折腾了那个未完工的"MacPro"。最大的收获:
1、解决掉了一直耿耿于怀的睡眠问题。
2、实现了HDMi连接液晶电视输出音频的困扰。点传送
ps:~在坛子爬楼看帖很久了,有了进步就要分享出来,希望一直在努力搞黑苹果还没有成功的小白们也早日成为高手~~~其实只要努力和坚持,没有可以阻挡我们成功的~~
------------------------------------分割线------------------------------------------------------------------------一、本机的基本情况:
二、方法基本思路: 利用DSDT修复睡眠,在DSDT中加入EHCI修复代码,同时加入正确的EHCI控制器ID,以修复手动睡眠问题。利用终端命令,切换睡眠模式,修复自动睡眠问题。 PS:(~~小知识: EHCI(Enhanced Host Controller Interface)增强型主机控制器接口规范描述了一个通用串行总线(USB)2.0版的主机控制器的寄存器级接口。 了解EHCI之前,需首先了解HCI (Host Controller Interface) . 即主机控制接口。
HCI 是寄存器层级的界面接口,它允许一个主控制器(Host Controller 如 主板南桥southbridge of Motherboard)来实现与外设如(USB、火线以及蓝牙)之间的通讯。
当外设与PC相连接后,系统先进行初始化,HCI 开始线程(threads)读写,建立与外设的连接。接下来,HCI会重置然后读外设的缓存大小,建立与外设的通讯。
EHCI (Enhanced Host Controller Interface)是HCI增强的(Enhanced)版本。更多搜百科~~)
三、此方法解决了哪些问题 1、手动、自动睡眠一睡就醒; 2、手动睡眠正常,自动睡眠只有显示器关闭,主机不断电,CPU风扇一直转。 3、睡眠唤醒后(用电源键),USB设备不加电(鼠标、键盘、U盘等外设都没反应)。
四、具体实现的方法 第一步: 首先要获取主机板上,EHCI控制器的基本信息,这里我是在WIN7下操作的:依次打开,计算机管理-à设备管理-à通用串行总线控制器 在里面找的ECHI字样的设备。如下:
分别记下EnhancedHost Controller设备名称“- -”后面的四位数:这里为1E26、1E2D。 分别点其属性记下其地址值:1E26对应地址为001D0000,1E2D对应的地址为001A0000。 至此,最基础的工作完成了。 (~ps一定要核对数值和地址无误,否则控制器不会正常工作~)
第二步: 在DSDT中加入EHCI修复代码,可以在WIN7下和 OS X下用 DSDTEditor 这个软件DSDTEditor-Linux-Mac-Win的版本: 点选“Patch”——>“Open”选 EHCI.TXT这个修复文件(见附件)。 (ps:~~这个修复代码是我爬贴是无意看到奶牛版主探讨笔记本睡眠的帖子,里面有P.H版主 提供的修复代码文件~~,抱着试试看的想法竟然成功了~~~)
第三步: 修复完EHCI代码后,接着在DSDTEditor 软件左侧栏找到“Device EHC1”和“Device EHC2” 这两处(就是刚才自动修复代码的位置),分别记下: “Device EHC x” { Name(_ADR, xxxxxxxxxx)//这处地址就是EHCI 控制器的地址 这里Z77M-D3H的EHC1 地址为0x001D0000,EHC2 地址为 0x001A0000。如下:
(~PS:实质上面地址的定义是固定的也就是说ECH1找1D,ECH2找1A~) 对照第一步找到的控制器信息,也就是说: EHCI 1控制器的物理地址为:0x001D0000,对应的设备ID为:1E26。 EHCI 2控制器的物理地址为:0x001A0000,对应的设备ID 为:1E2D。 然后分别找到: “Device EHC x” Method _DSM这一行下 将“device-id”, Buffer() { 0xxx,0xxx,0xxx,0xxx } 替换为上面找到的数值,如下:
然后保存dsdt,替换回原处。 通过此步,手动睡眠应该直接搞定了,可重启后先测试下自动睡眠是否正常~~,正常可略过第四步,可以收工了。 第四步: 进入终端,输入如下命令: sudopmset -a hibernatemode 3 重启后,正常情况下自动睡眠ok了。 (PS:~~这个神奇的命令要感谢hellozhangxin 版主,我无意在他回复的有关睡眠问题的贴中看到的,真的很神奇~~) 附件:EHCI自动修复代码(可用DSDTEditor来 PATCH )
EHCI.zip
(511 Bytes, 下载次数: 168)
以上是本人的一点心得方法。另外,对于intel7系列睡眠有类似问题和有蓝牙同样睡眠搞不定的朋友可以参考下~~~
|