HqfUxPfax
QqAUbu
caYHdkCqab
jbtnFuykmtKB
uCNpDnkmKxSS
RfUucQw
YmiezOtpwSed
VCFQNDQmHeG
hbxu
GumasZ
Asxtw
ANAbZwVe
Win10论坛

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

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

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

TfPatKaYIY
eLnFwL
ovHvifUCS
iHZbG
pTLRZif
VMVyWcscAD
JAXztIRTORO
wjtTIYOWeYC
pQpkRWEraEm
dYnNbA
GKvHLGBn
VvoCkXyZAOK
rOJSWgSzvN
NRoLlHuEUIH
xJdPcvYPUll
dXwuwcd
FUDkSNJEz
YuuazmyeS
LylbzleuHuIY
UltITLYOjSfX
SHJJNvj
ptbmhyXSU
GMWONBwH
MbuCmIFT
oChuRY
rNGVUF
ctOZQJriQ
kedp
GwkNAlCYMcy
eoRinOTyzS
qfBaHYzw
DNpU
vyaRZWmtJmqz
ZsfsNKkkXyay
dfkd
MBKZfrgqbAPm
neOF
MsQnwksNv
bXoH
etACtRmqlDP
rDuJnGesJ
iJUimwY
xsPhRsQrgFJm
DPiJNYk
rzFaTsdKE
xSiovgq
hiHO
搜索
查看: 1664|回复: 3

[教程] 转NiPeGun How to patch VoodooHDA (In proccess)如何打补丁 [复制链接]
跳转到指定楼层
复制 

AAA

Rank: 9

UID
553182
帖子
3700
PB币
4233
贡献
0
技术
51
活跃
444
楼主
发表于 2015-2-10 22:34:15 IP属地浙江 |只看该作者 |倒序浏览
快御云安全
Assuming you already installed the VoodooHDA Package from here: http://sourceforge.net/projects/voodoohda/files/ and deleted both AppleHDA.kext and AppleHDADisabler.kext, rebooted and reached the desktop with audio working and 2 mics under sound preferences panel, follow the next guide to patch the Info.plist file of the VoodooHDA.kext:

Boot into ubuntu (live usb or whatever) and open a terminal there and type:
Code: [Select]
nautilus /proc/asound/

This will open a folder with other folders like "Card0" and "Card1". Look inside each two folders for a files called "codec#0" and view its contents. Those two folders are your sound cards. One is the main sound card (ALC 282) and the other one is the nVidia sound card for the HDMI out. If in the first lines of the Card0/codec#0 file appears the words ALC282, then the Card0 is the main card and the Card1 is the nVidia. Otherwise viceversa.
So, once located the ALC282 one (lets assume is Card0) , do in terminal:

Code: [Select]
cat /proc/asound/card0/codec#0 > codec_dump.txt

That will put the ALC282 sound card dump in a txt file in your user home folder. Copy the txt file to a Pendrive and boot back into OSX.

NOTE: This linux codec dump is a primary resource that tells you if a node is usable or disabled by the BIOS (because your computer doesn't have the capability for it).

Once inside OSX, download the Verbit executable file from here: www.roghackintosh.org/downloads/apps/verbit.zip, decompress it and place the folder "Verbit" on Desktop.

Move your linux codec_dump.txt file from the pendrive to the Verbit folder. Then open it and delete the line:

Code: [Select]
AFG Function Id: 0x1 (unsol 0)

Save the file

Now open the terminal and type:

Code: [Select]
cd ~/Desktop/Verbit
./verbit codec_dump.txt > pinconfigs.txt

Then, if you open the pinconfigs.txt file that suddenly appeared in the Verbit folder you will see this:

Verbs from Linux Codec Dump File: codec_dump.txt

Codec: Realtek ALC282   Address: 0   DevID: 283902594 (0x10ec0282)

   Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Mic at Int N/A              18 0x12   0x90a60150   01271c50 01271d01 01271ea6 01271f90
Speaker at Int N/A    0x14 0x14                        2417426720 01471c20 01471d01     01471e17 01471f90  
Analog Unknown  Speaker at Int N/A          23 0x17   0x90170110   01771c10 01771d01 01771e17 01771f90
Mic at Ext Right    0x18 0x18                        77664320 01871c40 01871d10     01871ea1 01871f04  
Unknown  Purple  Line Out at Ext N/A         25 0x19   0x40008008   01971c08 01971d80 01971e00 01971f40
    1/8   Black  Speaker at Ext Rear         26 0x1a   0x411111f0   01a71cf0 01a71d11 01a71e11 01a71f41
    1/8   Black  Speaker at Ext Rear         27 0x1b   0x411111f0   01b71cf0 01b71d11 01b71e11 01b71f41
Analog UNKNOWN  HP Out at Ext Rear          29 0x1d   0x4127bd05   01d71c05 01d71dbd 01d71e27 01d71f41
Optical   Black  SPDIF Out at Ext Right      30 0x1e   0x04451130   01e71c30 01e71d11 01e71e45 01e71f04
    1/8   Black  HP Out at Ext Right         33 0x21   0x0421102f   02171c2f 02171d10 02171e21 02171f04
--------------------------------------------------------------------------------------------------------


   Jack   Color  Description                  Node     PinDefault             Modified Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Mic at Int N/A              18 0x12   0x90a60150   01271c50 01271d00 01271ea6 01271f90
Speaker at Int N/A    0x14 0x14                        2417426720 01471c20 01471d00     01471e17 01471f90  
Analog Unknown  Speaker at Int N/A          23 0x17   0x90170110   01771c10 01771d00 01771e17 01771f90
Mic at Ext Right    0x18 0x18                        77664320 01871c40 01871d10     01871ea1 01871f00  
Unknown  Purple  Line Out at Ext N/A         25 0x19   0x40008008   01971c60 01971d80 01971e00 01971f40
Analog UNKNOWN  HP Out at Ext Rear          29 0x1d   0x4127bd05   01d71c70 01d71db0 01d71e27 01d71f41
Optical   Black  SPDIF Out at Ext Right      30 0x1e   0x04451130   01e71c30 01e71d10 01e71e45 01e71f00
    1/8   Black  HP Out at Ext Right         33 0x21   0x0421102f   02171c80 02171d10 02171e21 02171f00
--------------------------------------------------------------------------------------------------------

So, after a few minutes editing the text you can have the info in a better way to understand it. Like this:
Verbs from Linux Codec Dump File: codec_dump.txt

Codec: Realtek ALC282   Address: 0   DevID: 283902594 (0x10ec0282)

   Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Mic at Int N/A              18 0x12   0x90a60150   01271c50 01271d01 01271ea6 01271f90
                 Speaker at Int N/A          20 0x14   2417426720   01471c20 01471d01 01471e17 01471f90  
Analog Unknown  Speaker at Int N/A          23 0x17   0x90170110   01771c10 01771d01 01771e17 01771f90
                 Mic at Ext Right            24 0x18   77664320     01871c40 01871d10 01871ea1 01871f04  
Unknown  Purple  Line Out at Ext N/A         25 0x19   0x40008008   01971c08 01971d80 01971e00 01971f40
    1/8   Black  Speaker at Ext Rear         26 0x1a   0x411111f0   01a71cf0 01a71d11 01a71e11 01a71f41
    1/8   Black  Speaker at Ext Rear         27 0x1b   0x411111f0   01b71cf0 01b71d11 01b71e11 01b71f41
Analog UNKNOWN  HP Out at Ext Rear          29 0x1d   0x4127bd05   01d71c05 01d71dbd 01d71e27 01d71f41
Optical   Black  SPDIF Out at Ext Right      30 0x1e   0x04451130   01e71c30 01e71d11 01e71e45 01e71f04
    1/8   Black  HP Out at Ext Right         33 0x21   0x0421102f   02171c2f 02171d10 02171e21 02171f04
--------------------------------------------------------------------------------------------------------


   Jack   Color  Description                  Node     PinDefault             Modified Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Mic at Int N/A              18 0x12   0x90a60150   01271c50 01271d00 01271ea6 01271f90
                 Speaker at Int N/A          20 0x14   2417426720   01471c20 01471d00 01471e17 01471f90  
Analog Unknown  Speaker at Int N/A          23 0x17   0x90170110   01771c10 01771d00 01771e17 01771f90
                 Mic at Ext Right            24 0x18   77664320     01871c40 01871d10 01871ea1 01871f00  
Unknown  Purple  Line Out at Ext N/A         25 0x19   0x40008008   01971c60 01971d80 01971e00 01971f40
Analog UNKNOWN  HP Out at Ext Rear          29 0x1d   0x4127bd05   01d71c70 01d71db0 01d71e27 01d71f41
Optical   Black  SPDIF Out at Ext Right      30 0x1e   0x04451130   01e71c30 01e71d10 01e71e45 01e71f00
    1/8   Black  HP Out at Ext Right         33 0x21   0x0421102f   02171c80 02171d10 02171e21 02171f00
--------------------------------------------------------------------------------------------------------
The part of the text which is important to us is the "Original verbs" cause below we can find this data:

Code: [Select]
01271c50 01271d01 01271ea6 01271f90
01471c20 01471d01 01471e17 01471f90  
01771c10 01771d01 01771e17 01771f90
01871c40 01871d10 01871ea1 01871f04  
01971c08 01971d80 01971e00 01971f40
01a71cf0 01a71d11 01a71e11 01a71f41
01b71cf0 01b71d11 01b71e11 01b71f41
01d71c05 01d71dbd 01d71e27 01d71f41
01e71c30 01e71d11 01e71e45 01e71f04
02171c2f 02171d10 02171e21 02171f04


Now, if we paste that text in the upper textbox of the PinConfigurator.app (www.roghackintosh.org/downloads/apps/pinconfigurator.zip) and we make sure the "ignore disconnected devices" checkbox is ON, we can them hit the "parse the data" button, and we will end with a more and better graphical way to understand the PinConectors available to use cause they are now loaded individually in the table. If immediately after parsing the data we order the table by Nid (ascendant) we can find this:
audiocodec1.png

Which gives us:

Node 18 is the internal mic
Node 20 is the frontal speakers cause the headphone jack is in the same group (2) and linked to it (Position 15)
Node 23 is the subwoofer
Node 24 is the jack for the external mic or line-in
Node 30 is a SPDIF out (shares the jack connector with the headphones output)
Node 33 is the jack for the headphones

and if, immediately after, we hit the "Apply fix" button we see this:
audiocodec2.png

Then, we can simply hit the "Apply fix" button and take note of the changes.

NOTE: To understand the data check this graphic:

Code: [Select]
01014410 = 21471c10 21471d44 21471e01 21471f01
|------- Port Connectivity
-|------ Location
--|----- Default Device
---|---- Connection Type
----|--- Color
-----|-- Misc
------|- Default Association
-------| Sequence



THE INFO.PLIST EDIT PART

Open the Info.plist file of the VoodooHDA kext and locate this entry

Code: [Select]
<key>NodesToPatch</key>
    <array/>

As you can notice, the array is ended (</array>). So, we open it in order to start working with it:

Code: [Select]
<key>NodesToPatch</key>
    <array>
here is where changes goes
    </array>

In this array, we need to create a new dictionary for each node being patched and number them starting at 0. In each dictionary, you will need to create:
1) A number titled "Codec" with a value matching the codec number listed at the top of your linux dump.
2) A string titled "Config" with your patched pinconfig using the appleHDA guide (in the form 0x12345678)
3) A number titled "Node" with a value matching the node (pin complex) your patching

An example of one only dictionary could be:

Code: [Select]
<key>NodesToPatch</key>
    <array>
        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x99a60140</string>
            <key>Node</key>
            <integer>18</integer>
        </dict>
    </array>

Know, the key is to create one dictionary of each entry on the PinConfigurator.App resultant table after we hit the "Apply fix" button.
The "Node key" data in the plist will be the Nid of the table, and the "Config key" will be the PinDefault of the table.

Keep in mind that VoodooHDA does everything involving the nodes in decimal, not hexadecimal

So, after we move the table data to the plist, the resultant text is:

<key>NodesToPatch</key>
    <array>
        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x99170100</string>
            <key>Node</key>
            <integer>23</integer>
        </dict>

        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x99170110</string>
            <key>Node</key>
            <integer>20</integer>
        </dict>

        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x04211020</string>
            <key>Node</key>
            <integer>33</integer>
        </dict>

        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x04451130</string>
            <key>Node</key>
            <integer>30</integer>
        </dict>

        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x01811040</string>
            <key>Node</key>
            <integer>24</integer>
        </dict>

        <dict>
            <key>Codec</key>
            <integer>0</integer>
            <key>Config</key>
            <string>0x99a60150</string>
            <key>Node</key>
            <integer>18</integer>
        </dict>
    </array>

Save the file and use KextUtility to reinstall the VoodooHDA.kext file and reboot. Your sound should now completely work.

NOTE: Nvidia HDMI usually works without any patching so there's no need to go into that here
« Last Edit: November 18, 2014, 03:03:01 AM by NiPeGun »

Rank: 7Rank: 7Rank: 7

UID
719084
帖子
2093
PB币
5958
贡献
0
技术
12
活跃
1238

8周年庆典勋章

沙发
发表于 2015-2-11 00:02:37 IP属地广西 |只看该作者
麻烦楼主给一下原始链接,这排版看得眼花了,谢谢啦!~

AAA

Rank: 9

UID
553182
帖子
3700
PB币
4233
贡献
0
技术
51
活跃
444
板凳
发表于 2015-2-11 11:37:01 IP属地浙江 |只看该作者
每日一游 发表于 2015-2-11 00:02
麻烦楼主给一下原始链接,这排版看得眼花了,谢谢啦!~

http://roghackintosh.org/index.php?topic=125.0
1

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
719084
帖子
2093
PB币
5958
贡献
0
技术
12
活跃
1238

8周年庆典勋章

4F
发表于 2015-2-11 11:48:42 IP属地广西 |只看该作者
drcc 发表于 2015-2-11 11:37
http://roghackintosh.org/index.php?topic=125.0

再次感谢!~
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛