查看: 96902|回复: 321

[分享] Realtek ALC892声卡驱动之路(图文并茂,适合新手)

 火.. [复制链接]
发表于 2011-10-4 12:07 | 显示全部楼层 |阅读模式 |IP属地吉林
快御云安全
本帖最后由 e10101 于 2011-10-5 23:28 编辑

第一天顺利安装完Lion,驱动网卡也是很轻松的就完成了。但是到了声卡这块儿却卡住了。由于之前没有接触过太多的黑苹果知识,所以也是新手摸着石头过河。

第一步:驱动下载
我用的是这位仁兄提供的驱动:
下载下来名为:alc892Easy.zip。单击可见名为AppleHDA.kext的文件,我们拽出来放到桌面。

屏幕快照 2011-10-04 上午11.58.50.png
第二步:安装驱动
下载Kext Wizard用来安装刚才的那个kext文件。地址:https://bbs.pcbeta.com/viewthread-869832-1-1.html

双击打开程序,点击“Installation”选项卡,点击“Browse”按钮选择刚才的那个kext文件,然后在“Destination”处,选择第二个选项:System/Library/Extensions。然后单击Install安装。

屏幕快照 2011-10-04 下午12.01.19.png
上面的那个帖子提到:替换后清除缓存,修复权限再重启机器,具体的操作步骤就是(这个也是从远景看到的,但是忘了是那个帖子了),还是使用Kext Wizard,选择第一个选项卡“Maintenance”,选中“System/Library/Extensions”下的两个选项,然后单击“Execute”来执行。

屏幕快照 2011-10-04 下午12.03.02.png
不过现在不要重启,因为重启也没有用,现在还要做另外一件事情,那就是修改DSDT文件。

第三步:修改DSDT
(因为是新手,为何要修改DSDT我也不是很清楚,但是由于我没有修改DSDT,光靠上面那两步不能成功)


双击运行该软件,在菜单栏中单击File,并选择Extract DSDT。这时我们能看到导出的DSDT文件。我们在该软件左边的选项中选中“Scope _SB”、“Device PCI0”,并选中最后一个设备。(该步的目的是为了方便我们的代码插入,我们准备在最后一个设备后,添加我们自己的声卡代码)

屏幕快照 2011-10-04 下午12.06.59.png
在最后一个设备的括号外(如果你学过编程的话,找起来应该会方便些,就是在Device PCI0范围内,最后一个设备后添加我们的设备代码),添加如下代码:(代码来自:https://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=905321&pid=20934695

  1.             Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_DSM, 4, NotSerialized)
  5.                 {
  6.                     Store (Package (0x10)
  7.                         {
  8.                             "AAPL,slot-name",
  9.                             Buffer (0x09)
  10.                             {
  11.                                 "Built-In"
  12.                             },
  13.                             "device_type",
  14.                             Buffer (0x11)
  15.                             {
  16.                                 "Audio Controller"
  17.                             },
  18.                             "model",
  19.                             Buffer (0x0F)
  20.                             {
  21.                                 "Realtek Alc892"
  22.                             },
  23.                             "built-in",
  24.                             Buffer (One)
  25.                             {
  26.                                 0x01
  27.                             },
  28.                             "codec-id",
  29.                             Buffer (0x04)
  30.                             {
  31.                                 0x92, 0x08, 0xEC, 0x10
  32.                             },
  33.                             "layout-id",
  34.                             Buffer (0x04)
  35.                             {
  36.                                 0x7C, 0x03, 0x00, 0x00
  37.                             },
  38.                             "device-type",
  39.                             Buffer (0x0F)
  40.                             {
  41.                                 "Realtek ALC892"
  42.                             },
  43.                             "PinConfigurations",
  44.                             Buffer (Zero) {}
  45.                         }, Local0)
  46.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  47.                     Return (Local0)
  48.                 }
  49.             }
复制代码


我们可能注意到了,layout-id就是之前那个帖子楼主一直在强调的那个问题。
然后,还是这个DSDT文件,现在找到第二行,回车,在各种Name上添加如下代码:(代码仍然是从上面帖子中Copy的,由flyangs同学提供)
  1.     Method (DTGP, 5, NotSerialized)
  2.     {
  3.         If (LEqual (Arg0, Buffer (0x10)
  4.                 {
  5.                     /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
  6.                     /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  7.                 }))
  8.         {
  9.             If (LEqual (Arg1, One))
  10.             {
  11.                 If (LEqual (Arg2, Zero))
  12.                 {
  13.                     Store (Buffer (One)
  14.                         {
  15.                             0x03
  16.                         }, Arg4)
  17.                     Return (One)
  18.                 }
  19.                 If (LEqual (Arg2, One))
  20.                 {
  21.                     Return (One)
  22.                 }
  23.             }
  24.         }
  25.         Store (Buffer (One)
  26.             {
  27.                 0x00
  28.             }, Arg4)
  29.         Return (Zero)
  30.     }
复制代码
屏幕快照 2011-10-04 下午12.07.58.png
我们的这个DSDT文件就编辑完成了,下面开始编译这个文件。

在菜单栏中选择“IASL“菜单下的Compile选项(或直接按F5)。如果有错误提示,单击右下角的Fix errors。如果还是不能处理的话,请跟贴和大家讨论交流。

屏幕快照 2011-10-04 下午12.09.13.png
搞定后,再次找到那个IASL菜单,不过我们这次单击导出按钮(Save AML as ……),将生成的AML文件保存到桌面先。(临时)

第四步:完成!

现在把刚才放在桌面上的AML文件拷贝到变色龙(我是通过变色龙引导的,其他引导方式我不清楚怎么办使用这个AML文件)的Extra根目录。(如果看不到这个Extra怎么办?在Finder中选择“前往”菜单中的“电脑”,选择其中的Extra文件夹即可)

OK,现在你已经安装上的指定的kext文件,而且系统的DSDT文件也被咱们成功修改。现在剩下的工作就是重启!测试你的声卡!(启动的时候,貌似要输入-f命令,至于怎么在变色龙引导界面输入:引导时选中你的启动盘,直接通过键盘收入-f命令即可,你会在左下角看到你的输入)

由于工具文件啥的都可以通过上面提供的连接获取到,在这里我就不重复提供连接地址了。还有,因为是新手,不会在苹果下截图并保存,因此就不上图了。如有需要,我再补上。(已更新)

谢谢!




补充内容 (2012-2-21 22:39):
10.7.3下驱动成功ALC892:http://tonymacx86.com/viewtopic.php?f=16&t=42546

评分

2

查看全部评分

发表于 2011-10-4 12:11 | 显示全部楼层 |IP属地广东
早在很多前輩的幫助下搞定了~哈哈

驅動+DSDT~

点评

我也是用這個方法搞定ALC887  发表于 2011-10-4 12:12
回复

使用道具 举报

发表于 2011-10-4 12:13 | 显示全部楼层 |IP属地广东
horn 发表于 2011-10-4 12:11
早在很多前輩的幫助下搞定了~哈哈

驅動+DSDT~

https://bbs.pcbeta.com/viewthread-905321-1-1.html

我也有個帖。。不過你詳細多了~佩服~~
回复

使用道具 举报

 楼主| 发表于 2011-10-4 12:18 | 显示全部楼层 |IP属地吉林
horn 发表于 2011-10-4 12:13
https://bbs.pcbeta.com/viewthread-905321-1-1.html

我也有個帖。。不過你詳細多了~佩服~~

我看了你的帖子,但是刚开始看不很明白,很多术语啥的都不是很懂。自己钻研了很多,尤其是那个Kext Wizard的使用。

我在帖子中提到你的帖子了还,呵呵。
回复

使用道具 举报

发表于 2011-10-4 12:22 | 显示全部楼层 |IP属地广东
e10101 发表于 2011-10-4 12:18
我看了你的帖子,但是刚开始看不很明白,很多术语啥的都不是很懂。自己钻研了很多,尤其是那个Kext Wizar ...

剛才沒注意到~哈哈。。。其實前插口我還沒試驗過。。。反正不用。。留著吧哈哈


我的帖子有術語?。。。。。我就知道我寫得很亂。。。當時純屬是個求助帖哈哈
回复

使用道具 举报

发表于 2011-10-4 12:24 | 显示全部楼层 |IP属地湖北
下个MultiBeast 3.8,里面就有892的驱动,无须任何改动。
回复

使用道具 举报

 楼主| 发表于 2011-10-4 12:32 | 显示全部楼层 |IP属地吉林
804896933 发表于 2011-10-4 12:24
下个MultiBeast 3.8,里面就有892的驱动,无须任何改动。

呵呵,当时自己不知道还有这货,要知道就好了。
回复

使用道具 举报

发表于 2011-10-4 12:37 | 显示全部楼层 |IP属地北京
貌似我好像也需要这个
回复

使用道具 举报

发表于 2011-10-4 13:31 | 显示全部楼层 |IP属地广东
加入集合贴方便新人~~希望在编辑一下~~图片重复了
回复

使用道具 举报

 楼主| 发表于 2011-10-4 14:50 | 显示全部楼层 |IP属地吉林
zlxdike 发表于 2011-10-4 13:31
加入集合贴方便新人~~希望在编辑一下~~图片重复了

不好意思,第一次在论坛上发帖。排版啥的都不是很好。

现在没有编辑权限了。怎办?
回复

使用道具 举报

发表于 2011-10-4 19:08 | 显示全部楼层 |IP属地广东
e10101 发表于 2011-10-4 14:50
不好意思,第一次在论坛上发帖。排版啥的都不是很好。

现在没有编辑权限了。怎办?

花30pb买个plus用户组即可= =不然我帮你修改?
回复

使用道具 举报

 楼主| 发表于 2011-10-5 14:41 | 显示全部楼层 |IP属地吉林
zlxdike 发表于 2011-10-4 19:08
花30pb买个plus用户组即可= =不然我帮你修改?

已经购买了,但是没有你说的那个功能啊……
回复

使用道具 举报

发表于 2011-10-5 21:52 | 显示全部楼层 |IP属地广东
购买后还要自己切换用户组~才有此功能~
回复

使用道具 举报

 楼主| 发表于 2011-10-5 23:27 | 显示全部楼层 |IP属地吉林
zlxdike 发表于 2011-10-5 21:52
购买后还要自己切换用户组~才有此功能~

OK,非常感谢,之前很少用论坛的……见笑了……
回复

使用道具 举报

发表于 2011-10-12 15:11 | 显示全部楼层 |IP属地北京
好东西 这次和i
回复

使用道具 举报

发表于 2011-10-12 15:39 | 显示全部楼层 |IP属地四川
我百度了一个万能声卡驱动 FOR MAC!然后下载安装!然后就搞定了!
回复

使用道具 举报

发表于 2011-10-12 18:46 | 显示全部楼层 |IP属地北京
学习,还没办法搞定声卡!
回复

使用道具 举报

发表于 2011-10-14 15:53 | 显示全部楼层 |IP属地云南
下载啊!  没有分啊
回复

使用道具 举报

发表于 2011-10-14 17:35 | 显示全部楼层 |IP属地陕西
下载啊!  没有分啊
回复

使用道具 举报

发表于 2011-10-14 17:40 | 显示全部楼层 |IP属地山东
为什么IDT的卡如此悲剧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2024 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2024-12-22 11:23

快速回复 返回顶部 返回列表