Win10论坛

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

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

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

搜索
查看: 397285|回复: 2625

[教程] 完整製作仿冒 LegacyHDA.kext (12/16)     [复制链接]

惡魔

UID
512654
帖子
524
PB币
1205
贡献
0
技术
496
活跃
608
发表于 2009-11-15 12:32:08
本帖最后由 紫米 于 2010-3-19 23:49 编辑

【前言】(03/19)
有鑒於許多朋友一直搞不定音效卡,或者是看著論壇中一堆教程仍舊搞不懂,
於是,想分享一些修改上的心得與詳細操作流程,幫助更多人使用蘋果,
高手們,就隨意看看,幫忙揪錯,
新手們,就趕緊弄懂吧!
修改 LegacyHDA.kext 分為三大部份:Config 修改、Layout 修改、PathMap 修改。
以下將以 GA-965P-DS4 ALC883 的音效卡作為操作範例。
有許多回覆希望紫米可以幫忙製作 LegacyHDA 的朋友,
感謝各位對於本帖的支持,
但紫米能力有限,就是多花了些時間測試,
若是使用 Intel 晶片組也許可以比較順利解決,
若是使用 AMD 晶片組,紫米就無能為力了,
所以,如果你的晶片組是 AMD 系統就別要求紫米幫你製作 LegacyHDA,好嗎?
不是不想幫,只是能力有限...


(11/19)
因為多找到了一些資料所以特別更新一些項目,
尤其是要使用多聲道架構的朋友,你需要在對照一下設定項目,
有一些參數之前弄錯了,可能會讓你前後左右輸出位置不對,
而非多聲道使用者就不用太擔心。


(11/23)
因為近期有許多蠻特別的數據困擾許多朋友,
而我也無法肯定回答部份問題,
在網路收集到的一些 LegacyHDA 有些確實多了許多組數據,
我思考了一下他們如何得到這些數據,
也許可以藉著 Vista 或者 Win7 取得 Config,
也許能幫助一些朋友更方便得到完整的 Config。


(11/27)
原本建議將組成多聲道的 Line Out 改成 IntSpeaker,經過測試,
現在你可以不必修改裝置類型,
也就是你說可以使用 Line Out 群組做 5.1 CH,
當然,你必須將Layout 中的 IntSpeaker 下的 SignalProcessing 移到 Line Out 下,
這樣多聲道才能正常運作,
也就是只需要修改一下 Config 和 Layout 即可。


(12/16)
最近,再次拿弟弟的 Aspire One 來玩 Snow Leopard,
剛好發現了一些問題與事實。
AOA150 的 DSDT 跟蘋果內建非常接近,
本以為也許可以玩出個更為接近真蘋果的 MacBook One (總是天不從人願)
問題其實頗多的,多半是硬體限制,
如:ATOM CPU 儘管在 10.6.2 前都能使用,
但仍須透過 NullCPUPowerManagement.kext 幫助,
也就是 AppleIntelCPUPowerManagement 無法辨識 CPU,
如果不使用 NullCPUPowerManagement.kext 是無法進入系統,
至此,有關於原生 CPU 的功能幾乎都需要靠第三方驅動來幫忙 (殘念),
而後的顯示卡與音效卡...更令我一個頭兩個大...
AOA150 的 GMA950 似乎無法透過修改裝置 ID 加載驅動。
而 ALC268 的音效卡在 PathMap 的設定似乎完全不適用文章裡介紹的原則,
所以,真的想玩蘋果的朋友,
尤其是想用筆記型電腦玩蘋果的朋友們...請三思而後行,
筆記本的音效卡設定確實沒有桌上機來的容易。



【Config 修改】
Config 是用四組 21471c40 21471d01 21471e10 21471f90 參數,
來陳述某個裝置的基本項目,
因此設定好的 Config 可以讓系統了解你的音效卡究竟有些什麼設備。
外接?內建?插孔的顏色?位置?等等
這個最主要的體現的位置,可以在 關於這台 Mac > 更多資訊...

Config 修改應該是這三大步驟中最難懂的,
很多制式操作大家可以當作是為了方便操作的規則,
先一步一步傻傻的跟著做完,慢慢你會發現一些規則。
等你有些了解,你就可以自行做接口的設定變更,
更方便你的使用,設定的好,甚至連警告跟錯誤的訊息都沒有。

『步驟一』取得 Codec
基本上,這個動作非常重要,
若能夠取得完整資料,可以幫助你更了解修改內容,

<1> 下載 ubuntu 9.10,並燒錄成光碟。
32位元 http://ubuntu.srt.cn/ubuntu-rele ... 10-desktop-i386.iso
64位元 http://mirrors.sohu.com/ubuntu-r ... 0-desktop-amd64.iso

<2> 選擇使用光碟開機,會進入光碟選單,
再來可以選擇你看得懂得語言,選擇第一個選項,即可不安裝進入系統。

<3> 使用 Terminal (終端機、終端),取得 Codec。
點選系統上方的 Applications (應用程式、應用程序) 選單,
選取 Accessories (附屬應用程式、附件)下的 Terminal (終端機、終端)。

輸入 cat /proc/asound/card0/codec#0 > ~/Desktop/Codec.txt,
或者 cat /proc/asound/card0/codec#1 > ~/Desktop/Codec.txt,
或者 cat /proc/asound/card0/codec#2 > ~/Desktop/Codec.txt,
(取決於音效卡的 Address)
成功的話,在桌面就會有一個 Codec.txt (開啓看看,裡面應該有很多行資料),
把檔案存進隨身碟。
重新啓動,回到 Mac。


『步驟二』擷取 Address、Node、Pin Default 這三個數值。
<1>開啓 Codec.txt 檔案,請用搜尋找到以下各值並加以編排。
Address 與 Vendor ID 位於開頭位置:

使用搜尋 Pin Default 再將其他 Node、Color、VREF 等相關資料擷取下來:

一般來說應該會搜索到 12 組的 Pin Default (若沒有就別在意,請繼續以下動作),
並依下圖方式做個整理。

<2>轉換初步的結果,讓你更方便之後的修改。
請先做一下簡單的轉換動作:

順利完成轉換後變成以下結果。



『步驟三』修正 Pin Default 數值。
<1>參考範例,有沒有發現其實同一個裝置的參數都大同小異,甚至一樣。
這是蘋果裡的幾個機型的參考範例,要組建多聲道的朋友請多留心數據:

<2>針對每個參數逐一修正,變成蘋果接受數值。
請參照說明逐一修改數據:








以上你已經完成修改的動作,請多多檢查數據是否正確,以免以後出現問題。



『步驟四』轉換成最終的 Config 值,並貼入相應位置。
轉換動作請務必確實小心:

然後將上面的 config 製作成以下的樣子:

(11/23)
※如果你真的毫無把握,或是你是筆記型電腦使用者,也可以使用這個方法:



接著開啓附件附的 LegacyHDA.kext。
並按照說明貼入 Config 以及修改 CodecID、LayoutID。


(10/18)
以下附件分為

5.1 聲道的 LegacyHDA 模板
普通的 LegacyHDA 模板
以及更新的 Config 修改資料

LegacyHDA.kext.zip

8.81 KB, 下载次数: 4621, 下载积分: PB币 -1

普通的 LegacyHDA 模板

LegacyHDA 6CH.kext.zip

14.56 KB, 下载次数: 2776, 下载积分: PB币 -1

5.1 聲道的 LegacyHDA 模板

Config 修改資料.zip

20.7 KB, 下载次数: 3192, 下载积分: PB币 -1

Config 修改資料

21

查看全部评分

惡魔

UID
512654
帖子
524
PB币
1205
贡献
0
技术
496
活跃
608
发表于 2009-11-15 12:32:36
本帖最后由 紫米 于 2009-11-19 01:01 编辑

【Layout 修改】
Layout 修改在三個步驟中可以說是最簡單的,如果你沒有任何把握,
甚至可以將裡面的參數都刪除,也不會影響運作。

但這也意味你會失去多聲道,音量增益...等等效果,
所以你也可以說這是最簡單,但卻也很有很多難懂的參數的篇章。
裡面目前仍有許多參數是不清楚其作用。
然後,善加利用計算機進行 16進位與10 進位的轉換吧。


『步驟一』先參考內建參數說明,了解此篇張所修改的內容。
首先先了解一些參數的說明,幫助你更快了解 Layout 下的項目與參數:

這是蘋果內建的 Layout 圖,請參考再做應用,
尤其是 MuteGPIO 值是切勿直接複製貼上:




『步驟二』開啓附件的 LegacyHDA.kext 做修改。
<1>確認位置:

<2>請先修改這三個項目:

<3>細部的修改說明:



附件有 Mac 原始資料整理請善加利用

Mac Data.zip

146.65 KB, 下载次数: 1424, 下载积分: PB币 -1

Mac 原始資料整理

3

查看全部评分

惡魔

UID
512654
帖子
524
PB币
1205
贡献
0
技术
496
活跃
608
发表于 2009-11-15 12:33:00
本帖最后由 紫米 于 2009-12-12 15:42 编辑

【PathMap 修改】
又到了一個難關,
這個步驟將影響你的音效哪究竟可不可以順利發出聲音,或者輸入聲音,
在進入這個篇章的修改,請先有一些概念。
還記得在之前修改 Config 有出現的 Node 值吧。
這就是每個裝置的主要節點。
像紫米的音效卡 Node 0x14 原使設定是 Line Out at Ext Rear
這個 0x14 代表主機背後那個綠色的小圓孔節點。
但僅有這個節點,聲音並不能傳到這個接孔。

因此,我們必須回到 Codec.txt 中,幫你的裝置尋找他作用的路徑。
只要路徑正確,也就是節點對應正確。裝置就能正確運作。

最後,PathMap 沒有一定的配製模式。
你可以根據你的喜好,使用切換模式、多聲道模式。
例如:有人會將 Mic 與 Line In 分開設置,這樣就能在偏好設定中看到兩個項目。
當然也可以把兩個作成切換模式,方便自動切換,但偏好設定中就只會出現一個項目。


『步驟一』打開 Codec.txt 並尋找各個裝置的節點。
<1>按順序,先找 Mic 裝置的節點

<2>Line In 裝置的節點

<3>SPDIF In 裝置的節點

<4>IntSpeaker 裝置的節點

<5>IntSpeaker 裝置的節點

<6>IntSpeaker 裝置的節點

<7>HP Out 裝置的節點

<8>Line Out 裝置的節點

<9>SPDIF Out 裝置的節點

<10>請將所得到節點整理出來



『步驟二』閱讀內建的資料,並詳細了解每個參數的作用。
<1>了解參數上的設定與限制說明。

<2>參閱MacBook Pro 5,2 的詳細 PathMap 圖,請務必注意顏色上的區別。




<3>參數上的設定造成結果圖示。





『步驟三』確定你要的架構,並填入對應的 NodeID 值。
<1>開啓 LegacyHDA.kext,找到正確位置。

<2>請先修改 PathMapID,務必與之前 Layout 修改中的值一樣。

<3>確定你偏好的使用架構。

<4>對應你之前整理好的節點,一一填入 NodeID。


<5>確認細部參數是否如我上述說明一樣設定或勾選。
這裡是 5.1 聲道的細部情況:

至此,你已經完成艱鉅的任務,
趕緊丟到 Extra/Extensions 試試你的成果。
也請看看 Kernel 日誌裡,是不是完全沒有 Sound assertion。
如果沒有,恭喜你,你已經完整修改完成囉!


【提供試用驅動檔案】(10/17)
這裡我將自己、與網友成功測試的 LegacyHDA 提供大家連結試用。
當然也以感謝的心,謝謝這些熱心努力製作驅動的朋友。


GA-965P-DS4 Realtek ALC883 5.1CH
GA-EP45-DS3L Realtek ALC888 5.1CH 感謝 bbear
GA-(E)P35&(E)P45 Realtek ALC889A 5.1CH Or Not
Lenovo Y550 ICH9M Realtek ALC272 感謝扬子龙

以下所附的資料是紫米修改 ALC883 的三大項數據
方便大家修改參考

ALC883.zip

4.91 KB, 下载次数: 1127, 下载积分: PB币 -1

Rank: 7Rank: 7Rank: 7

UID
29489
帖子
1530
PB币
4952
贡献
0
技术
77
活跃
32
发表于 2009-11-15 12:35:44
技术贴,帮顶!

Rank: 5Rank: 5Rank: 5

UID
233893
帖子
598
PB币
3471
贡献
0
技术
1
活跃
1375
发表于 2009-11-15 12:41:06
等---------------------------完整--------------

游客

Rank: 2Rank: 2

UID
135437
帖子
251
PB币
1780
贡献
0
技术
57
活跃
17
发表于 2009-11-15 13:12:32
最近搞HDA挺火的呀~~~期待后续~~

Rank: 1

UID
116960
帖子
80
PB币
1755
贡献
0
技术
0
活跃
25
发表于 2009-11-15 13:30:51
学习一下,谢谢。
头像被屏蔽

Rank: 2Rank: 2

UID
588728
帖子
474
PB币
0
贡献
0
技术
0
活跃
6
发表于 2009-11-15 13:37:54
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
215483
帖子
591
PB币
3474
贡献
0
技术
48
活跃
117
发表于 2009-11-15 13:48:20
强贴!帮顶!

Rank: 2Rank: 2

UID
575675
帖子
258
PB币
139
贡献
0
技术
1
活跃
320
发表于 2009-11-15 13:53:45
强大的教程!喜欢看技术性文章并实验!这样很有成就感!

iphone变砖头的人

Rank: 7Rank: 7Rank: 7

UID
61840
帖子
1756
PB币
4954
贡献
0
技术
3
活跃
45
发表于 2009-11-15 14:13:32
有这样的技术贴真是太好了

Rank: 2Rank: 2

UID
45699
帖子
277
PB币
1641
贡献
0
技术
1
活跃
42
发表于 2009-11-15 17:11:55
不能让这帖沉,紫米真是技术强人,已收藏LZ提供的资料,继续深入研究。

Rank: 2Rank: 2

UID
732508
帖子
232
PB币
90
贡献
0
技术
0
活跃
27
发表于 2009-11-15 17:26:29
强人,努力学习中

Rank: 1

UID
836973
帖子
110
PB币
612
贡献
0
技术
0
活跃
38
发表于 2009-11-15 18:21:35
学习中
谢谢

Rank: 7Rank: 7Rank: 7

UID
164623
帖子
1317
PB币
2714
贡献
0
技术
40
活跃
896
发表于 2009-11-15 18:44:54
好帖!!学习中/kiss.gif

Rank: 7Rank: 7Rank: 7

UID
852769
帖子
1933
PB币
601
贡献
0
技术
1
活跃
155
发表于 2009-11-15 19:15:40
還是看不懂真是的請問誰有stac9228謝謝

惡魔

UID
512654
帖子
524
PB币
1205
贡献
0
技术
496
活跃
608
发表于 2009-11-15 19:54:25
還是看不懂真是的請問誰有stac9228謝謝
allok2003 发表于 2009-11-15 19:15


從哪裡開始看不懂呢?
可以針對你的問題發問,不然實在幫不到你。
你的問題,也許也是很多人的問題,
可以幫助這個教程再完整一點。

UID
38564
帖子
1153
PB币
5660
贡献
1
技术
172
活跃
258

远景技术达人

发表于 2009-11-15 21:01:19
本帖最后由 威廉第三 于 2009-11-15 21:24 编辑

关于MuteGPIO,可以直接套用这个pdf档,
这个已经把所有可能的值列出来了,大家只要按图索骥即可
MuteGPIO_Table Sheet.pdf.zip (14.12 KB, 下载次数: 459)

其实MuteGPIO的值很好计算,其16进制格式如下
VREF hex格式 + 0100 +Node ID

比如Node 0x1B的VREF是50,其16进制的值为32,
则其MuteGPIO为
0x3201001B
转换为10进制为
838926363
这就是plist里的MuteGPIO的格式了
而上面的表也是这种方法预先制作的

关于MuteGPIO的意义,看起来是和VRef有关,
有兴趣的可以参考hda aduio的spec,上面有说一些相关的内容

Rank: 5Rank: 5Rank: 5

UID
664744
帖子
670
PB币
988
贡献
0
技术
9
活跃
209
发表于 2009-11-15 21:27:36
我来问问题
1,我现在用的是威廉提供的LegacyHDA.kext,并使用了dsdt,可以正常使用那么我如果想修改LegacyHDA.kext以达到5。1声道的效果,应该只需要修改这个驱动的一部分就可以了吧?
2,刚才看了遍教程,坦白的说有点晕。没看到是在修改哪部分以达到5。1的目的?
3,教程中所示的看plist文件的那个程序是什么?

谢谢!
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
76869
帖子
1202
PB币
0
贡献
0
技术
33
活跃
298

7周年庆典勋章

发表于 2009-11-15 21:58:34
提示: 作者被禁止或删除 内容自动屏蔽
关闭

站长推荐

近期很多账号被盗,请加强密码保护!!
请注意保护自身账号安全
回顶部
Copyright (C) 2005-2017 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件