nNQey
VSAXiKvz
LwFb
YfUrXfBIJ
rXSvbR
dyzEkqlJa
ENgEu
Win10论坛

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

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

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

hHAwQM
zVCZuFldAjVM
FzxDVj
YazX
hJcSyhf
pSdiLinf
spzTyFYilVP
GHKB
qYqwzvA
ebddMHjqEe
ixaYTt
uVEwDivj
shDSwpGdvLwk
cDaeekUr
qUFwAtpixzk
SEQKVpM
pKYa
HNGj
QpFzG
aSMiBnXdXx
wTOjgdvJHDD
jtWmhoNlw
epgLH
VimQ
OxkSboHDEBBR
YqKOiuJkmNfy
YTogGtTFhkj
PTxAGFeKi
sOrgnZk
bbgKOvL
HUSkIAEDT
NzRHPOin
wGxbZNopVHvy
BKsBcob
nyQHTEXsF
hhsM
JzhiuJ
LnTzmiwaAJ
hqpdT
vCRlaQPgjNG
PpzfqZvA
kntoNikTuLQ
ZfcaYDbWa
oAWyMs
TswK
iuYzEqV
alUHwgEuIqgp
sufAi
搜索
查看: 6268|回复: 29

[分享] THINKPAD T410 CX20585 AppleHDA 10.9.3正式版(自动切换内外MIC、耳机与扬声器) [复制链接]
跳转到指定楼层
复制 

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

楼主
发表于 2014-5-18 10:54:49 IP属地福建 |只看该作者 |倒序浏览
快御云安全
本帖最后由 gcafrk 于 2014-5-19 20:17 编辑

小黑T410的CX20585声卡的AppleHDA自LION开始就应该比较完美了,只是外置MIC一直无法使用。后来在MLION下,进行了路径的更正,使得小黑T410的CX20585 AppleHDA在T410上完美工作:
  • 内置MIC、外置MIC可以自动切换;
  • 内置MIC输入有电平;
  • 内置扬声器与耳机可以自动切换;
  • 启动了“使用环境噪音降低功能”;
耳机的声音超级棒!!赞一下原版驱动!!

1)首先,用UBUNTU光盘启动电脑,获取CODEC(具体方法可搜索论坛)。从中获得以下有用的节点代码:
  • Node 0x10: Audio Output(扬声器与耳机输出都需要用到它)
  • Node 0x1f: Speaker at Int(内置扬声器)
  • Node 0x19: HP Out at Ext Right(HP=HeadPhone耳机。Ext=Extenal外置)
  • Node 0x1b: Mic at Ext Right(外置MIC)
  • Node 0x23: Mic at int(内置MIC)
  • Node 0x14: Audio Input(内置MIC的输入需要用到它)
  • Node 0x16: Audio Input(外置MIC的输入需要用到它)
  • Node 0x17: Audio Selector(MIC的输入需要用到它)
  • Node 0x1a: Mic at Sep Rear(这个节点实际上是无用的,在WINDOWS的注册表中也找不到它)
  • Node 0x1c: HP Out at Sep Rear(这个节点实际上也是无用的,在WINDOWS的注册表中也找不到它)
注:需要将以上16进制转换成10进制的数字,用在下面第二点的节点连接分析中。

2)分析节点连接结果:(具体方法可采用紫米的手工方法,或者采用codec生成节点连接图的方法)
  • 内置MIC:20>35
  • 外置MIC:22>23>27(或者21>23>27)
  • 内置扬声器:31>16
  • 耳机:25>16
用以上节点连接在Platforms.XML中做成两组自动切换。注:如果你的声卡节点路径与上面不同,则需要自行修改。

3)ConfigData生成:【在该kext的Plugin目录的AppleHDAHardwareConfigDriver.kext的Info.plist文件中】
我直接采用紫米的建议,我手工生成了4组ConfigData,并且发现这4组都可以很好地工作。我则使用了第一组(随便挑的)。
第一组:(后面会分析如何修改它们为自己声卡专属的ConfigData)
  1. 01971C50 01971D40 01971E21 01971F01 01F71C40 01F71D01 01F71E10 01F71F90 01B71C20 01B71D30 01B71E81 01B71F01 02371C10 02371D01 02371EA0 02371F90
复制代码

第二组:
  1. 01971C50 01971D40 01971E21 01971F01 01F71C40 01F71D41 01F71E10 01F71F90 01B71C20 01B71D30 01B71E81 01B71F01 02371C10 02371D01 02371EA0 02371F90
复制代码

第三组:
  1. 01971C50 01971D40 01971E21 01971F01 01F71C60 01F71D01 01F71E10 01F71F90 01B71C20 01B71D30 01B71E81 01B71F01 02371C10 02371D01 02371EA0 02371F90
复制代码

第四组:
  1. 01971C50 01971D40 01971E21 01971F01 01F71C60 01F71D41 01F71E10 01F71F90 01B71C20 01B71D30 01B71E81 01B71F01 02371C10 02371D01 02371EA0 02371F90
复制代码

在这4组ConfigData中,其实只要关心前3位数:
   第1位“0”为声卡codec中的Address。如果你的声卡Address是1,则将其都改为“1”。

   第2、3两位为声卡对应的内外MIC与内外喇叭,以第一组ConfigData为例:   19=耳机,1F=内置扬声器,1B=外置MIC,23=内置MIC。

   如果你的声卡这4个设备的ID与其不同,则可以用自己声卡这4个设备的ID分别替换它们。

按照这个方法,就可以为自己的声卡设置专属的ConfigData了。

4)Layout:
我采用了LayoutID 12。在Layout12.XML文件中,Inputs的第一项为Mic,第二项输入用了LineIn;Outputs的第一项为Headphone,第二项用了LineOut(很多人认为第二项要用IntSpeaker,而实际上用IntSpeaker则扬声器就不出声了)。
Platforms.XML中的LayoutID也要用12。

5)去除Sound assertion提示:(对所有声卡均通用)
10.8GM之后,AppleHDA代码改成了用参数形式,而不是像LION时代在程序中写入了几乎所有的提示文本,因此AppleHDA文件很小,也只要修改一处即可屏蔽所有日志中的Sound assertion提示。

去除方法:用Hex Friend程序打开kext中的/MacOS/AppleHDA文件,搜索文本:Sound assertion in %s at line %d%s%d

它的二进制值是:
  1. 53 6F 75 6E 64 20 61 73 73 65 72 74 69 6F 6E 20 69 6E 20 25 73 20 61 74 20 6C 69 6E 65 20 25 64 0A 00 25 73 00 25 64
复制代码


然后在二进制格式中,用相同位数的0替换掉:
  1. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
复制代码


6)AppleHDA二进制补丁:
  1. sudo perl -pi -e 's|\\x84\x19\xd4\x11|\x69\x50\xf1\x14|g' ~/Desktop/AppleHDA.kext/Contents/MacOS/AppleHDA
复制代码
(此处假设AppleHDA.kext放在了桌面上)

也可以用Hex Friend程序将8419d411替换成6950f114。此处均为二进制值。

7)DSDT修改:
  1. Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_DSM, 4, NotSerialized)
  5.                 {
  6.                     Store (Package (0x0E)
  7.                         {
  8.                             "AAPL,slot-name",
  9.                             Buffer (0x09)
  10.                             {
  11.                                 "Built in"
  12.                             },
  13.                             "device-id",
  14.                             Buffer (0x04)
  15.                             {
  16.                                 0x69, 0x50, 0xF1, 0x14
  17.                             },
  18.                             "layout-id",
  19.                             Buffer (0x04)
  20.                             {
  21.                                 0x0C, 0x00, 0x00, 0x00
  22.                             },
  23.                             "model",
  24.                             Buffer (0x1A)
  25.                             {
  26.                                 "HD Audio Conexant Cx20585"
  27.                             },
  28.                             "name",
  29.                             Buffer (0x11)
  30.                             {
  31.                                 "Conexant Cx20585"
  32.                             },
  33.                             "device_type",
  34.                             Buffer (0x11)
  35.                             {
  36.                                 "Audio Controller"
  37.                             },
  38.                             "PinConfigurations",
  39.                             Buffer (Zero) {}
  40.                         }, Local0)
  41.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  42.                     Return (Local0)
  43.                 }
  44.                 Name (_S3D, 0x03)
  45.                 Name (RID, Zero)
  46.                 Name (_PRW, Package (0x02)
  47.                 {
  48.                     0x0D,
  49.                     0x04
  50.                 })
  51.                 Method (_PSW, 1, NotSerialized)
  52.                 {
  53.                     Noop
  54.                 }
  55.             }
复制代码



上4张图片:




另补充:1)关于节点连接,还有一组也是可以出声的:
  • 内置MIC:21>35
  • 外置MIC:20>23>27(或者20>23>27)
  • 内置扬声器:31>17
  • 耳机:25>16


2)二进制补丁中,还有一组替换方法:将8b19d411替换成6950f114,也是可以出声的。



上附件,修改好的10.9.3版T410声卡CX20585驱动: AppleHDA-for-T410-CX20585.kext.zip (1.24 MB, 下载次数: 403)

若需要10.9.3原版AppleHDA,在此处: AppleHDA-V261-ORG.kext.zip (1.24 MB, 下载次数: 51)


相关帖子

黑苹果专用车

Rank: 9

UID
523723
帖子
2032
PB币
119
贡献
0
技术
202
活跃
710
沙发
发表于 2014-5-18 11:12:50 IP属地山西 |只看该作者
楼主的教程非常简洁,很好。
楼主还有一点直观的,也改一下吧。

就是:所选设备没有输入控制。这个改一下,记得只是一个选项,YES或NO。嘿嘿。

点评

gcafrk  输入控制都有了。我上错图了。  发表于 2014-5-19 20:18 IP属地福建
gcafrk  具体是哪个参数?  发表于 2014-5-18 11:39 IP属地福建

黑苹果专用车

Rank: 9

UID
523723
帖子
2032
PB币
119
贡献
0
技术
202
活跃
710
板凳
发表于 2014-5-18 12:15:41 IP属地山西 |只看该作者
AppleHDA.png

红线标的2个,记不清是那个了。你自已试吧。YES和NO选一下,都试试就知道了。

点评

gcafrk  一楼的APPLEHDA是正常的了。  发表于 2014-5-19 20:18 IP属地福建
gcafrk  这个是在Platforms中的参数。  发表于 2014-5-18 14:07 IP属地福建
gcafrk  抽空看看。  发表于 2014-5-18 14:04 IP属地福建

Rank: 9

UID
1014939
帖子
1489
PB币
617
贡献
0
技术
212
活跃
1696

十周年 8周年庆典勋章

4F
发表于 2014-5-18 12:37:36 IP属地福建 来自手机 |只看该作者
dtkissme 发表于 2014-5-18 12:15
红线标的2个,记不清是那个了。你自已试吧。YES和NO选一下,都试试就知道了。

我记得如果是输入设备,最后一个好像必须要选no

Rank: 5Rank: 5Rank: 5

UID
3840646
帖子
1000
PB币
2266
贡献
0
技术
14
活跃
2103
5F
发表于 2014-5-18 12:42:06 IP属地浙江 |只看该作者
楼主和教程非常不错,我喜欢

Rank: 1

UID
2425925
帖子
75
PB币
16
贡献
0
技术
0
活跃
299
6F
发表于 2014-5-18 14:03:00 IP属地江苏 |只看该作者
试试这个能不能用

Rank: 7Rank: 7Rank: 7

UID
624881
帖子
2927
PB币
12822
贡献
0
技术
49
活跃
3284

8周年庆典勋章

7F
发表于 2014-5-18 15:41:15 IP属地湖北 |只看该作者
教程非常不错

Rank: 2Rank: 2

UID
3057226
帖子
258
PB币
56
贡献
0
技术
41
活跃
286
8F
发表于 2014-5-19 09:05:02 IP属地江苏 |只看该作者
你的速度还真快

Rank: 2Rank: 2

UID
3057226
帖子
258
PB币
56
贡献
0
技术
41
活跃
286
9F
发表于 2014-5-19 09:05:18 IP属地江苏 |只看该作者
谢了兄弟,非常感谢。

真相只有一个!

Rank: 7Rank: 7Rank: 7

UID
2314598
帖子
1441
PB币
2093
贡献
0
技术
165
活跃
865
10F
发表于 2014-5-19 09:08:06 IP属地北京 |只看该作者
不能静音么?

点评

gcafrk  T410上可以直接用静音按钮。  发表于 2014-5-19 10:10 IP属地福建

Rank: 2Rank: 2

UID
3057226
帖子
258
PB币
56
贡献
0
技术
41
活跃
286
11F
发表于 2014-5-19 10:16:04 IP属地江苏 |只看该作者
替换了applehda 现在声卡不能用

点评

gcafrk  需要替换破解版的AppleACPIPlatform.kext和AppleSMBIOS.kext。去我的10.***升级贴中找一下。  发表于 2014-5-19 16:19 IP属地福建

真相只有一个!

Rank: 7Rank: 7Rank: 7

UID
2314598
帖子
1441
PB币
2093
贡献
0
技术
165
活跃
865
12F
发表于 2014-5-19 10:25:39 IP属地北京 |只看该作者
版主的也是CX20585 我的也是 他的可以静音的 你试试看行不行 切换完美 mic好像不是很完美https://bbs.pcbeta.com/viewthread-1481885-1-1.html

点评

gcafrk  看过了,Plaftforms.xml和我一楼的是一样的。没啥区别。  发表于 2014-5-19 20:19 IP属地福建
gcafrk  谢谢!抽空看一下Layout12.xml与Platforms.xml里面的一些参数。  发表于 2014-5-19 10:38 IP属地福建

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

13F
发表于 2014-5-19 13:05:30 IP属地福建 |只看该作者
无懈可击7185 发表于 2014-5-19 10:25
版主的也是CX20585 我的也是 他的可以静音的 你试试看行不行 切换完美 mic好像不是很完美http://bbs.pcbeta ...

我的机器是THINKPAD T410,自动切换内外MIC/耳机/扬声器完美无暇。可能你的机器不是T410,仅是声卡芯片一样。

另外,关于静音,耳机与扬声器可以通过T410的一个静音按钮来静音。不知道你说的“静音”指的是不是耳机与扬声器的?

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

14F
发表于 2014-5-19 15:00:16 IP属地辽宁 |只看该作者
官微推送之,感谢楼主热心分享

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

15F
发表于 2014-5-19 15:07:31 IP属地福建 |只看该作者
neycwby09 发表于 2014-5-19 15:00
官微推送之,感谢楼主热心分享

其实方法在ML的时候已经写过。但是怕很多人现在都用10.9,不去看ML板块的帖子,故搬运过来一下。

多谢版主官微推送!

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

16F
发表于 2014-5-19 15:19:30 IP属地辽宁 |只看该作者
gcafrk 发表于 2014-5-19 15:07
其实方法在ML的时候已经写过。但是怕很多人现在都用10.9,不去看ML板块的帖子,故搬运过来一下。

多谢 ...

是 你的方法是关键。。。

我的内置mic和line in的节点和你不一样。。。

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

17F
发表于 2014-5-19 16:20:02 IP属地福建 |只看该作者
unmat 发表于 2014-5-19 10:16
替换了applehda 现在声卡不能用

需要替换破解版的AppleACPIPlatform.kext和AppleSMBIOS.kext。去我的10.9.2升级贴中找一下。

Rank: 7Rank: 7Rank: 7

UID
3585267
帖子
1580
PB币
2386
贡献
0
技术
88
活跃
1189

我是大学生!

18F
发表于 2014-5-28 09:35:56 IP属地福建 |只看该作者
我的也是ALC269,但是节点和你的不一样,so想用你的仿冒一个,但LayoutXX.xml和Flatform.xml不分的修改看不懂,包括其他几款仿冒教程,都是卡在这里。我的Config和节点顺序都理好了。求推荐教程。。

Rank: 11Rank: 11Rank: 11

UID
245936
帖子
3129
PB币
1226
贡献
0
技术
290
活跃
1624

7周年庆典勋章 8周年庆典勋章

19F
发表于 2014-5-28 22:41:13 IP属地福建 |只看该作者
neycwby09 发表于 2014-5-19 15:19
是 你的方法是关键。。。

我的内置mic和line in的节点和你不一样。。。

虽然节点不同,但是我发现用你的驱动也正常出声音。有趣。。。

Rank: 1

UID
1481591
帖子
90
PB币
232
贡献
0
技术
0
活跃
107

8周年庆典勋章

20F
发表于 2014-5-30 10:17:33 IP属地江苏 |只看该作者
升完后蓝牙不能用了

点评

gcafrk  我一直能用。  发表于 2014-5-30 23:14 IP属地福建
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛