sqIP
naAzPxzMHRJ
hGsBEdLf
fWXupRGqc
PTYRBVoF
SLJsa
WUKIuS
fyOz
bLxRhCntUZdg
Win10论坛

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

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

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

mpWhTh
oqUjHHjf
MSGyfq
jpdLMigr
FDufPCdKqcC
zYBFELl
yAIvgng
xWsWoVpEL
mbbQF
laCxgy
dZIEdbJOS
rUhADZz
QHrBSKrkHyDa
GgMD
nHqdCcT
xZMfpnklo
zwLimcGJyH
nSbDOyPlQq
OmOgMyXlz
yvSCAEAgNba
bypYPo
asiysgKMw
TVCXaYimi
byJWdrYDTjE
BWfcVeoJ
qegO
GGYycpT
DfgrG
NCBcXFsDSNXI
bflLRIYva
WfjrHH
KUOg
dOdIhQJINb
fnsrzMly
PJnp
zLsSSYsXfoK
KIMjDWnDH
jjoaR
ghsYpYq
LBnPgKmgBqLs
INjwrM
BnrJNBwWTwlV
SEijShaBto
XRZPLrqX
NVzbLo
vAEXevuJnK
GsfjGQ
UGmcWmKyyeVs
MgjAxXk
MFOWdTXkjojP
ghqlTm
MmKs
aYswdyc
LrfwzLF
HKPn
iHZUM
aUPDW
ROZtosOTMuZ
zJteNjQv
MruOAgtxAq
AGRMhq
pWsmVtaFMo
kBaqCNqzEXfb
UpGm
搜索
查看: 29040|回复: 76

[教程] 技嘉P43,P45系列ALC888 LegacyHDA驱动 for Snow Leopard [复制链接] 复制 

UID
38564
帖子
1153
PB币
5526
贡献
1
技术
172
活跃
558

远景技术达人

楼主
发表于 2009-8-7 11:56:25 IP属地上海
快御云安全
节省论坛资源,先发个Leopard区的链接,下载可以去那边
https://bbs.pcbeta.com/thread-494894-1-1.html

这里会多加点料,跟大家聊聊DSDT里HDEF的一些技巧
背景知识可以看下杨子龙的这篇教程,https://bbs.pcbeta.com/thread-531144-1-1.html

大家知道,Apple的HDAudio设备是HDEF,如果你的DSDT里没有HDEF设备,那么你需要HDAEnabler把类似于AZAL的HDAudio设备强制成HDEF,因此正常情况下声卡不像显卡那样能够使用EFI-String来驱动,
但是如果把DSDT里所有的AZAL替换成HDEF,即便你没有添加其他的信息,像下面这样
  1.             Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_PRW, 0, NotSerialized)
  5.                 {
  6.                     Return (Package (0x02)
  7.                     {
  8.                         0x0D,
  9.                         0x05
  10.                     })
  11.                 }
  12.             }
复制代码
那么你也就不再需要HDAEnabler了,而LayoutID之类的信息就可以用EFI-String来注入了,再配合LegacyHDA就可以驱动声卡了

你也可以完全依靠DSDT来注入必要的信息,之前dsdt代码有很多是没有用的,例如下面这段
  1.             Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_PRW, 0, NotSerialized)
  5.                 {
  6.                     Return (Package (0x02)
  7.                     {
  8.                         0x0D,
  9.                         0x05
  10.                     })
  11.                 }

  12.                 Method (_DSM, 4, NotSerialized)
  13.                 {
  14.                     Store (Package (0x08)
  15.                         {
  16.                             "codec-id",
  17.                             Buffer (0x04)
  18.                             {
  19.                                 0x88, 0x08, 0xEC, 0x10
  20.                             },

  21.                             "layout-id",
  22.                             Buffer (0x04)
  23.                             {
  24.                                 0x78, 0x03, 0x00, 0x00
  25.                             },

  26.                             "device-type",
  27.                             Buffer (0x11)
  28.                             {
  29.                                 "Realtek ALC888-0"
  30.                             },

  31.                             "PinConfigurations",
  32.                             Buffer (0x28)
  33.                             {
  34.                                 /* 0000 */    0x50, 0x70, 0x21, 0x01, 0x40, 0x01, 0x13, 0x90,
  35.                                 /* 0008 */    0x20, 0x30, 0x81, 0x01, 0x41, 0x40, 0x01, 0x01,
  36.                                 /* 0010 */    0x30, 0xE0, 0xC5, 0x01, 0x60, 0xE0, 0x45, 0x01,
  37.                                 /* 0018 */    0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40,
  38.                                 /* 0020 */    0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90
  39.                             }
  40.                         }, Local0)
  41.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  42.                     Return (Local0)
  43.                 }
  44.             }
复制代码
这段HDEF代码里面,codec-id,device-type事实上是没有用的,在另外的一些HDEF代码里,还可以看到built-in,这个其实也是没有用的,真正有用的是layout-id和PinConfigurations,layout-id要和你驱动里对应的layout-id一致,而PinConfigurations,其实我们不需要详细的把里面的内容写出来,我们只是需要有PinConfigurations在而已,AppleHDA的机制其实是如果存在PinConfigurations,那么就会去找ConfigData,然后根据ConfigData来设置PinConfigurations,因此无论你把PinConfigurations设置成什么都会被覆盖掉,但是如果没有PinConfigurations,AppleHDA不会自动生成PinConfigurations,因此我们只需要一个空的PinConfigurations即可,范例如下
  1.             Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_PRW, 0, NotSerialized)
  5.                 {
  6.                     Return (Package (0x02)
  7.                     {
  8.                         0x0D,
  9.                         0x05
  10.                     })
  11.                 }

  12.                 Method (_DSM, 4, NotSerialized)
  13.                 {
  14.                     Store (Package (0x04)
  15.                         {
  16.                             "layout-id",
  17.                             Buffer (0x04)
  18.                             {
  19.                                 0x78, 0x03, 0x00, 0x00
  20.                             },

  21.                             "PinConfigurations",
  22.                             Buffer (0x00)
  23.                             {}
  24.                         }, Local0)
  25.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  26.                     Return (Local0)
  27.                 }
  28.             }
复制代码
最后一个Tip,如果你碰到一段时间不用声音,再发声的时候有Pop声,请将机器类型设置为MacPro,其他机型的电源管理会关掉暂时不用的声音模块,再次开启就会有电流声
3

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
672418
帖子
1993
PB币
1618
贡献
0
技术
0
活跃
1122
沙发
发表于 2009-8-7 12:13:18 IP属地北京
什么也不说了,收藏一个先!!!

macfans

Rank: 7Rank: 7Rank: 7

UID
73066
帖子
1152
PB币
1329
贡献
0
技术
19
活跃
1397
板凳
发表于 2009-8-7 13:16:43 IP属地广东
研究得很透彻哦

硕士

UID
831273
帖子
1521
PB币
1451
贡献
0
技术
45
活跃
234

远景技术达人

4F
发表于 2009-8-7 20:51:44 IP属地江苏
顶一个!我的alc883@ich9,也可以参考hdef这个代码进行修改。

Rank: 5Rank: 5Rank: 5

UID
596356
帖子
743
PB币
2073
贡献
0
技术
0
活跃
9
5F
发表于 2009-8-9 11:04:31 IP属地广西
真有技术!有机会要多请教。。。。
头像被屏蔽

UID
864127
帖子
426
PB币
201
贡献
0
技术
0
活跃
31
6F
发表于 2009-8-9 22:03:17 IP属地四川
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

UID
864127
帖子
426
PB币
201
贡献
0
技术
0
活跃
31
7F
发表于 2009-8-9 22:07:28 IP属地四川
提示: 作者被禁止或删除 内容自动屏蔽

UID
38564
帖子
1153
PB币
5526
贡献
1
技术
172
活跃
558

远景技术达人

8F
发表于 2009-8-10 13:24:00 IP属地上海
legancyhda在snowleopard里需要改动,你可能是缺了什么东西

Chief Fuking Officer

Rank: 5Rank: 5Rank: 5

UID
233685
帖子
965
PB币
2759
贡献
0
技术
0
活跃
628
9F
发表于 2009-8-10 17:19:01 IP属地江苏
谢谢威廉,看了你的 教程很震撼。

UID
339966
帖子
393
PB币
421
贡献
0
技术
0
活跃
37
10F
发表于 2009-8-11 09:33:52 IP属地重庆
本帖最后由 kairyo 于 2009-8-11 10:01 编辑

威廉第三
我的主板是EP35-DS3声卡是ALC889A(ID 885),可以用LegacyHDA+HDAEnabler,不过我按你这个方法修改了DSDT后...声卡就不能驱动了,之前也是按照ALC888的修改..也是不能驱动.可否麻烦你看一下我的DSDT.ASL...先谢谢了

dsdt.zip

13.42 KB, 下载次数: 27, 下载积分: PB币 -1

UID
339966
帖子
393
PB币
421
贡献
0
技术
0
活跃
37
11F
发表于 2009-8-11 09:42:41 IP属地重庆
附上一张正确驱动后IORegistryExplorer的截图 图片 1.jpg

UID
38564
帖子
1153
PB币
5526
贡献
1
技术
172
活跃
558

远景技术达人

12F
发表于 2009-8-11 11:32:23 IP属地上海
你修改的时候没有注意到一些细节,
因为package下参数的数量减少了,package的大小要相应变小,Package (0x08)修改为Package (0x04),
另外,PinConfigurations是空的,所以它的Buffer大小要设为0 ,Buffer (0x18)修改为Buffer (0x00),
现在你再试试可不可以用了

UID
339966
帖子
393
PB币
421
贡献
0
技术
0
活跃
37
13F
发表于 2009-8-11 11:39:13 IP属地重庆
谢谢威廉第三...我先试试

UID
339966
帖子
393
PB币
421
贡献
0
技术
0
活跃
37
14F
发表于 2009-8-11 11:53:23 IP属地重庆
已经可以了...谢谢

Rank: 5Rank: 5Rank: 5

UID
673047
帖子
251
PB币
377
贡献
0
技术
55
活跃
24
15F
发表于 2009-8-11 18:36:19 IP属地未知
lz好强大,努力学习中

Rank: 2Rank: 2

UID
423535
帖子
211
PB币
484
贡献
0
技术
18
活跃
157
16F
发表于 2009-8-14 23:05:43 IP属地贵州
太需要最后这个tip了!!!感谢

Rank: 5Rank: 5Rank: 5

UID
428664
帖子
975
PB币
1125
贡献
0
技术
1
活跃
20
17F
发表于 2009-8-17 14:37:30 IP属地上海
16# cnnn
最后这个TIP,如何将机器类型设置为MacPro呢,还有就是我的DSDT里面找不到HDEF字串,是不是就要自己添加这个字串呢
附上我的IOSERVICE的截图及BIOS中提取的DSDT.DSL,,LZ帮忙看看

圖片 1.png (165.01 KB, 下载次数: 31)

圖片 1.png

dsdt.dsl.zip

12.29 KB, 下载次数: 0, 下载积分: PB币 -1

UID
38564
帖子
1153
PB币
5526
贡献
1
技术
172
活跃
558

远景技术达人

18F
发表于 2009-8-18 21:09:38 IP属地上海
17# 枫野 如果你是用chameleon 2的引导,那么修改/Extra/smbios.plist里的机器型号,
HDEF不是自带的,你全文查找替换AZAL为HDEF,然后就可以进行下一步的动作了

Rank: 5Rank: 5Rank: 5

UID
487636
帖子
416
PB币
996
贡献
0
技术
1
活跃
541
19F
发表于 2009-8-23 19:33:28 IP属地重庆
为什么  我用你 方法 加入 那些 字段 后 就不能把DSL编译 回 AML 了
附件  是我的 error 地方  你给看看  是怎么 回事。
我 把最后那个“ }  ” 不管是删除 还是怎么处理 都不能通过。

dsdt.zip

100.67 KB, 下载次数: 4, 下载积分: PB币 -1

Rank: 7Rank: 7Rank: 7

UID
715398
帖子
571
PB币
4274
贡献
0
技术
49
活跃
561

7周年庆典勋章

20F
发表于 2009-8-23 19:58:06 IP属地北京
最怵的就是这个了,慢慢学习
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛