威廉第三 发表于 2009-11-10 22:49

141# mudzone
也许是apple的规定吧,
你删除了mic信息,那么后面pathmap有没有用到?

mudzone 发表于 2009-11-10 22:59

142# 威廉第三 删掉那部分后,我在pathmap里面也做了相应的修改,并没有用到这个pin complex。回头我再多试几次!

kp20050608 发表于 2009-11-11 04:06

fsjackal 发表于 2009-11-11 10:04

顶上去,在mudzone的帮助下,还差外置麦克风就基本完美了,当然终极完美还得加上HDMI

zwt 发表于 2009-11-11 12:16

不知道这种方法是不是有没有局限性比如说只适合intel南桥

威廉第三 发表于 2009-11-11 13:03

本帖最后由 威廉第三 于 2009-11-11 13:07 编辑

141# mudzone
你不能仅仅看那个,同时也要看Pin Default 0x99a30940
具体可以看kelvin这篇深入理解AppleHDA的ConfigData
还有就是svg图,如果没有节点连到这个node,可以不管它。

唯一要说的是
-----------------------
Pin Default 的格式是 0x01234567
格式的顺序排列为:
0 = Port Connectivity
1 = Location
----------------------

这里是不对的,根据HDA的spec,
Port Connectivity是二进制最高的2位,Location是紧跟在后面的6位,
而不是上面所说的各为4位,如图


Port Connectivity定义了连接的状态


Location的高二位(bit)确定接口是Extenal还是Intenal,低四位(bit)确定接口的位置,例如Front,Rear。。。


你的Pin Default 0x99a30940,Port Connectivity和Location相关的是0x99,
展开为2进制为10011001,
Port Connectivity为10,表示这是一个Fixed device,一般用于内置的speaker,mic

Location为011001,高二位(bit)为01,表示这是一个Internal的接口,
低四位(bit)为1001,表示这是一个Special的设备,结合图示,可以看到这是一个ATAPI的设备

结合起来,这是一个Fixed Internal ATAPI设备

紫米 发表于 2009-11-11 14:12

147# 威廉第三

就是這一組數字的組合不是很懂
經過解釋才恍然大悟
太感謝了
威廉第三果然厲害

威廉第三 发表于 2009-11-11 14:24

关于ConfigData的一些限制,我希望大家好好看一下这个贴子
http://www.insanelymac.com/forum/index.php?showtopic=152672
里面第三条,第四条说得很清楚

mudzone 发表于 2009-11-11 16:51

本帖最后由 mudzone 于 2009-11-11 17:26 编辑

149# 威廉第三 现在碰到一个奇怪的问题,就是在系统概述里面不显示声卡信息,但是声音正常,ioreg中的pinconfigurations中显示与在驱动中加入configdata完全不符,威廉碰到了这问题吗?这也是升级10.6.2后才碰到的问题,而且也不是一直这样,有时候启动系统后,显示又正常。
我配置的configdata:
01271C10 01271D01 01271EA3 01271F90 01471C40 01471D01 01471E13 01471F90
01571C50 01571D10 01571E21 01571F01
01871C20 01871D90 01871EA1 01871F01
01A71C30 01A71D30 01A71E81 01A71F01
01E71C60 01E71D10 01E71E45 01E71F01
01470C02


正常状态下ioreg显示的pinconfigurations:
<f0 11 11 41
10 01 a3 90
40 01 13 90
50 10 21 01
f0 11 11 41
f0 11 11 41
20 90 a1 01
f0 11 11 41
30 30 81 01
f0 11 11 41
f0 11 11 41
2d 85 1囧0
60 10 45 01
f0 11 11 41>

不正常显示时的pinconfigurations:
<10 01 56 18
21 01 56 58
22 01 56 58
23 01 56 58
24 01 56 58>
(我之所以回车,是因为它们很有规律,但我看不出什么端倪。)

威廉第三 发表于 2009-11-11 16:56

150# mudzone
这个蛮奇怪的,我还没有碰到
你用的layout id是多少?

mudzone 发表于 2009-11-11 17:24

151# 威廉第三 layoutid我用了888,本来用12的,后来我怀疑是不是调用了原版驱动的12,于是我就改为888,但是现象依旧!

kelvin_ng 发表于 2009-11-12 04:20

150# mudzone


你这个Pinconfiguration在Ioreg的并不是ConfigData,而是你在DSDT里输入的值。应该是那样。

mudzone 发表于 2009-11-12 09:15

150# mudzone


你这个Pinconfiguration在Ioreg的并不是ConfigData,而是你在DSDT里输入的值。应该是那样。
kelvin_ng 发表于 2009-11-12 04:20 https://bbs.pcbeta.com/images/common/back.gif我记得在dsdt里面设置的pinconfigurations总会被驱动里的configdata覆盖。而且我还发现,不管我设置的configdata有没有删掉那些无用的信息,在ioreg里面总会补上那些被删掉的,保证有11组数据,很奇怪,似乎原版驱动认识声卡!

kelvin_ng 发表于 2009-11-12 11:22

那我就不懂了。
我的基本上升级到10.6.2声卡没问题,而且我的ioreg显示的的确和DSDT那样没错。

如果可以让DSDT输入所有的PinConfiguration又不需要在Plist里弄ConfigData就太好了。
我想Real Mac的应该是EFI注入所需要的ConfigData所以plist里根本不需要任何ConfigData应该是这样。

nkabitxe 发表于 2009-11-12 11:46

30# cyberwalker

同意这个观点

威廉第三 发表于 2009-11-12 12:27

153# kelvin_ng
DSDT里的Pinconfiguration应设置为空,
AppleHDA会读取ConfigData来生产Pinconfiguration,
不能通过dsdt里的Pinconfiguration来代替Plist里的ConfigData,
因为Pinconfiguration是ConfigData的子集,
只有Pinconfiguration的话,AppleHDA不知道Pin Default和Node的对应关系

威廉第三 发表于 2009-11-12 12:28

154# mudzone
补上的和被你删掉的是一样的吗?

zhongmincan 发表于 2009-11-12 13:41

good job

mudzone 发表于 2009-11-12 14:22

本帖最后由 mudzone 于 2009-11-12 15:11 编辑

154# mudzone
补上的和被你删掉的是一样的吗?
威廉第三 发表于 2009-11-12 12:28 https://bbs.pcbeta.com/images/common/back.gif完全一样!!!

我的configdata是这样的:
01271C40 01271D01 01271EA3 01271F90
01471C10 01471D01 01471E13 01471F90
01571C50 01571D10 01571E21 01571F01
01871C60 01871D90 01871EA1 01871F01
01A71C30 01A71D30 01A71E81 01A71F01
01D71C70 01D71D80 01D71E16 01D71F40
01E71C20 01E71D10 01E71E45 01E71F01
01470C02

没有删掉任何信息的configdata是:
01171CF0 01171D11 01171E11 01171F41
01271C10 01271D01 01271EA3 01271F90
01471C40 01471D01 01471E13 01471F90
01571C50 01571D10 01571E21 01571F01
01671CF0 01671D11 01671E11 01671F41
01771CF0 01771D11 01771E11 01771F41
01871C20 01871D90 01871EA1 01871F01
01971CF0 01971D11 01971E11 01971F41
01A71C30 01A71D30 01A71E81 01A71F01
01B71CF0 01B71D11 01B71E11 01B71F41
01C71CF0 01C71D11 01C71E11 01C71F41
01D71C70 01D71D80 01D71E16 01D71F40
01E71C60 01E71D10 01E71E45 01E71F01
01F71CF0 01F71D11 01F71E11 01F71F41   --->红色的是被删除的多余信息
01470C02

ioreg中显示的pinconfigurations是:
<f0 11 11 41
10 01 a3 90
40 01 13 90
50 10 21 01
f0 11 11 41
f0 11 11 41
20 90 a1 01
f0 11 11 41
30 30 81 01
f0 11 11 41
f0 11 11 41
70 80 1640
60 10 45 01
f0 11 11 41>

补充一下,我曾尝试删除01D那组数据,(01D未修改前是2d 85 1640),系统自动补上的也是这组数据,由此可以知道,系统不会对手工写入的configdata进行修改,只对被删除的进行填补。



----

molicancer 发表于 2009-11-13 08:38

ding.....
页: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
查看完整版本: 仿冒AppleHDA制作、原版AppleHDA修改教程,(11月7日三楼更新pathmap修改)