Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 11260|回复: 9

[原创内容] 另一种解决AHCI热插拔的方法 [复制链接]

111111

Rank: 7Rank: 7Rank: 7

UID
47215
帖子
1205
PB币
4148
贡献
0
技术
283
活跃
766
发表于 2012-6-18 20:41:20 |显示全部楼层
本帖最后由 duanmuxiyu 于 2012-6-19 09:36 编辑

      
安装上DP4后,发现睡眠唤醒后会死机,具体问题见我这个帖子:
http://bbs.pcbeta.com/viewthread-1055824-1-1.html

后来发现这个死机问题是10.8修改了AHCI 驱动所导致的 ,详细情况见这个帖子的讨论:
http://bbs.pcbeta.com/viewthread-1056875-1-4.html

于是我替换了10.7.4 里面的AppleAHCIPort.kext 和IOAHCIFamily.kext 两个驱动,问题得到解决。在patch了AppleRTC .kext后,睡眠唤醒正常,手动、自动睡眠均正常。


但是我还不满足使用10.7.4的两个旧版本的驱动,于是我想到的DSDT内的硬件地址欺骗的方法。电脑配置见签名,H55芯片组,AHCI地址是 0x22, 0x3B ,这个地址在AppleAHCIPort.kext中是有定义的,所以即使dsdt中只保留
  1. Device (SATA)
  2.             {
  3.                 Name (_ADR, 0x001F0002
  4.             }
复制代码

这4行代码,系统也可以识别出SATA,并且能够热插拔(硬盘图标为橙色,需要用橙色图标补丁),但这给我的黑_苹_果造成了困扰。我测试了大多数人都使用的方法,在dsdt中加入代码,使用ICH6 ESB2 的硬件地址:
  1. Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     Store (Package (0x02)
  4.                         {
  5.                             "device-id",
  6.                             Buffer (0x04)
  7.                             {
  8.                                 0x81, 0x26, 0x00, 0x00
  9.                             }
  10.                         }, Local0)
  11.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  12.                     Return (Local0)
  13.                 }
复制代码
但是不能解决我的问题,用IORegistryExplorer查看,AHCI Port Hot Plug 依然为 True ,如下图(借张图)

001.png

于是我用了一种更直接的地址欺骗手段,修改AppleAHCIPort.kext中的地址定义 把下图中的地址由原来的

0x81, 0x26, 0x00, 0x00        (正常定义的 ICH6 ESB2  地址)
改为

0x22, 0x3B, 0x00, 0x00        (H55  AHCI 地址)


然后删除掉对于 Intel5SeriesAHCI的描述
Snip20120618_4.png


   修改后为:
         
Snip20120618_3.png




修复权限,缓存,重启回来,睡眠唤醒后不再死机,并且橙色图标问题解决了,可以看到
AHCI Port Hot Plug 已经变为 False
002.png


为了安装升级方便,我制作了仿冒驱动 LegacyAppleAHCIPort.kext,从此一切那么美好。
LegacyAppleAHCIPort.kext.zip (3.16 KB, 下载次数: 73)
注:仿冒驱动不可照搬我的这个,需要根据自己的硬件AHCI地址修改。


另外,在10.8 DP4中,鼠标的滚轮的滑动效果已经没有了,网页上下滚动时候很迟钝,滚轮动一下页面才走那么一点,但是使用apple自家的触控板却很平滑,强烈鄙视Apple。。。。




4

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
215483
帖子
591
PB币
3475
贡献
0
技术
48
活跃
118
发表于 2012-6-18 21:37:03 |显示全部楼层
很好的解决方法。
你再试试用原生AppleRTC.kext,看睡眠后Bios会不会重置?

111111

Rank: 7Rank: 7Rank: 7

UID
47215
帖子
1205
PB币
4148
贡献
0
技术
283
活跃
766
发表于 2012-6-18 21:42:58 |显示全部楼层
Farx 发表于 2012-6-18 21:37
很好的解决方法。
你再试试用原生AppleRTC.kext,看睡眠后Bios会不会重置?

试过了,一样会重置的,解决热插拔后的第一时间就想起了你的那个帖子,测试了还是不行。

Rank: 7Rank: 7Rank: 7

UID
151244
帖子
821
PB币
9174
贡献
0
技术
31
活跃
830

7周年庆典勋章

发表于 2012-6-18 22:42:07 |显示全部楼层
H55 P55 不一样吗?
我的没这情况。

Rank: 9

UID
852420
帖子
4041
PB币
1578
贡献
0
技术
15
活跃
421
发表于 2012-6-18 22:48:34 |显示全部楼层
纯技术帖子,顶~~~

Rank: 7Rank: 7Rank: 7

UID
164623
帖子
1332
PB币
2479
贡献
0
技术
40
活跃
1330
发表于 2012-6-30 12:37:40 |显示全部楼层
本帖最后由 lhqincai 于 2012-6-30 12:39 编辑

AHCI Port Hot Plug 依然为 True 不用太在意这个,技嘉BIOS好像没这个选项,我的正常睡眠唤醒,可用仿冒驱动LegacyAHCIPort.kext,发现一个问题,跟你设置机型有关,iMAC12.2只有3个SATS口,第四个又是橙色图标,一直在这个问题上打转 AIR只有一个!
LegacyAHCIPort.kext.zip (1.85 KB, 下载次数: 20)

Rank: 7Rank: 7Rank: 7

UID
164623
帖子
1332
PB币
2479
贡献
0
技术
40
活跃
1330
发表于 2012-6-30 12:44:51 |显示全部楼层
duanmuxiyu 发表于 2012-6-18 21:42
试过了,一样会重置的,解决热插拔后的第一时间就想起了你的那个帖子,测试了还是不行。

好像要Z77 Z79才不会!!搞得我想换Z77,现在是Z68X-UD7,好像要出EFIBIOS了看看有没支持电源管理

Rank: 9

UID
685837
帖子
4205
PB币
4063
贡献
0
技术
21
活跃
1032
发表于 2012-6-30 14:43:35 |显示全部楼层
你这个驱动到底是干嘛用的?

Rank: 7Rank: 7Rank: 7

UID
164623
帖子
1332
PB币
2479
贡献
0
技术
40
活跃
1330
发表于 2012-6-30 15:16:50 |显示全部楼层
olderhang 发表于 2012-6-30 14:43
你这个驱动到底是干嘛用的?

Device (SATA)
            {
                Name (_ADR, 0x001F0002
            }

Device (SATA)只要留这个代码加LegacyAHCIPort.kext解决橙色图标!

Rank: 5Rank: 5Rank: 5

UID
215483
帖子
591
PB币
3475
贡献
0
技术
48
活跃
118
发表于 2012-7-1 06:58:19 |显示全部楼层
duanmuxiyu 发表于 2012-6-18 21:42
试过了,一样会重置的,解决热插拔后的第一时间就想起了你的那个帖子,测试了还是不行。

我发现,我的华硕主板有这样一种状况:
不Patch AppleRTC.kext的前提下,
如果CPU或内存超频,睡眠唤醒后BIOS会重置;
如果CPU和内存的频率都为默认值,睡眠唤醒后BIOS不会重置。

你可以尝试一下,看有没帮助?
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件