InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   Snow Leopard 10.6 (http://infinitemac.com/forumdisplay.php?f=87)
-   -   [GUIDE] How to port AppleHDA to SL (http://infinitemac.com/showthread.php?t=3981)

blkhockeypro19 09-26-2009 02:51 PM

Quote:

Originally Posted by mormegil (Post 35904)
Have you personally tried that kext in Leopard and confirmed that it's really working for YOU?

I've been using the same kext in leopard for about a year now. It works, trust me =P And I'm using PC-EFIv10.3, is that ok?

mstam 09-29-2009 05:49 PM

Thanks!
 
Thank you so much! I now have 5.1 surround sound working again over S/PDIF digital out!

xbx2usr 10-13-2009 02:43 PM

Someone ported Sigmatel STAC9274D ?
 
Hi all,

thanks for that guide !!
Very helpful and easy to follow.

Anyway, yesterday I tried to port the AppleHDA for a STAC9247D but failed.

I modified the ST9220 in the SL AppleHDA

STAC9220 0x83847680
to
STAC9274D 0x83847621

My DSDT points to that codec-id , and the pin-config is shown in SL system profiler.
Audio-LayoutID is 4 (not 12) but if DSDT shows layout-id "4" too, it should be ok to copy-paste the layout 4 parts into the SL kext.

Of course I also tried to modify that stuff with layout-id 12 and modified the DSDT to 12 (0x0c) too, but as expected, nothing better.

Anyone here with success on that chip and can post the kext ?
VoodooHDA is working here but suffers from sleep issues.

Cheers


leclercqr 10-15-2009 11:38 PM

Same issue as Jedric
 
2 Attachment(s)
Jedric (or anyone who can help),

I have a similar issue that you have in that I get the device ID as "0x1458A002".

Have you made any progress? I any case could you send me a copy of the DSDT your using prehaps it will help be debug the compile erros I'm getting. (my DSDT is attached if someone can help, it is compiled without the HDEF code changes and is fully functional for HPET, RTC, DTGP, USB fix and Snow Leopard is fully functional with the exception of sound and SATA requiring ACHIinject.kext [I'll fix the ACHI later])


However when I change the the 'generic' HDEF code on this thread I get
Quote:

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 374: Notify (\_SB.PCI0.HDEF, 0x02)
Error 4063 - Object does not exist ^ (\_SB.PCI0.HDEF)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5116: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5159: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5202: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5245: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5288: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5331: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5374: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Rowan/Desktop/Snow Leopard/DSDTv0.5/dsdt.dsl 5417: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)
I have attached the compiled_working_DSDT i am currently using which has a different HDEF code which results in the Audio being detected in system profiler as
"Intel High Definition Audio:

Device ID: 0x1458A002
Audio ID: 12
Available Devices: "


And the added_hdef_compile_erros_dsdt in which I have changed the HDEF code to that on this thread but get errors as listed above.

Any help would be great. Thanks in advance and apologies for my lack of understanding I have only started trying to patch my own DSDT a week ago so I'm still on a steep learning curve.

airwalk776 10-26-2009 01:23 AM

mormegil....

It shouldnt matter but as long as all the locations that state layout ID are 889 vs your 12 it should still work right ?

my dsdt is coded with layout-id as 79 03 00 00

and a codec-id of 89 08 EC 10

so I followed all your steps, hexedit found all 4 locations with 8508ec10 and replaced with 8908ec10

edited the two plists as show in the post.

still no go. the 1.5.7a24 AppleHDA and my dsdt file I get audio in SL. but the edited AppleHDA from a SL install does not work.

Any ideas? thanks

msf5042 10-26-2009 02:07 PM

mormegil-
I have been going down the same paths as airwalk over and over. Here are two messages that I get over and over on boot:
Quote:

Sound assertion "0 != createAudioEngines ( fPathMap_aDriverInstance )" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp"
&
Sound assertion "0 == pathMap_aDriverInstance" failed in "/SourceCache/AppleHDA/AppleHDA-174.1.1/AppleHDA/AppleHDADriver.cpp"
Any help is appreciated

mormegil 10-27-2009 09:19 AM

Yes. Layout id doesn't matter as long as you keep it consistent i.e: If your layout id in DSDT is 79 03 00 00 (byte-flipped) => 00 00 03 79 (hex) => 889 (decimal), you will need to use layout-id 889 in plist.

@airwalk: You sure that is your codec id? Have you dumped it yourself? ALC889 shares the same codec id as ALC885 afaik. Try not to hexedit the binary and see.

msf5042 10-27-2009 01:10 PM

1 Attachment(s)
mormegil-
airwalk and I have the same setup. check my linux dump below. we are 889, not 889a.

airwalk776 10-28-2009 02:07 AM

2 Attachment(s)
mormegil...

I am 100 % sure this is the correct codecID since the codec dump I have ( taken by using a linux live dvd) Vendor Id: 0x10ec0889 ie...283904137

which is what is coded in the working applehda.

take a look a these dumps I have from when I patched the applehda for 10.5.6 (these dumps are from my board not downloaded from someone else)



Codec: Realtek ALC889
Address: 2
Vendor Id: 0x10ec0889
Subsystem Id: 0x10de0175
Revision Id: 0x100004

Then based on the dump I generated the verbs.


Question could this be caused by config data not matching pathmaps data?

BTW I tested without changing the hex values and no luck.
thank you

mormegil 10-29-2009 04:49 AM

Hmm.. You're right.

Did you inject configdata into dsdt? Might be that or your pathmaps are wrong. Just to confirm, did you use the same PathMapID under "Layouts" and "Pathmaps" in AppleHDAPlatformDriver.kext?

airwalk776 10-29-2009 01:03 PM

yeap its the same pathmapid in both places.

I'll double check the dsdt.

msf5042 10-29-2009 02:18 PM

Airwalk did the AppleHDA leopard kext you're using ever list all of the audio configs in system profile?

msf5042 10-29-2009 03:01 PM

the reason I was asking that airwalk is because I never had leopard on this board so I have been using your leopard kext that you posted on another forum and after comparing my modified SL kext with some of the others I have seen here I realize that I have significantly less child nodes in my modified sections than other people do...

airwalk776 10-29-2009 10:24 PM

1 Attachment(s)
when using the old applehda I think its version 1.5.7.... I allways get system profiler to show the ports correctly.

see screenshot of this applehda 1.5.7 running in SL and it looked the same in Leopard also.

airwalk776 11-03-2009 01:43 AM

mormegil-


I tried another approach, using lagacyapplehda files I port the same config to the lagacy files and put it in /extra/extensions and put the stock applehda in /S/L/E. in doing so I was able to set the system profiler to show all the ports but in system prefs. there are no inputs and outputs to select from.

any thoughts ?

Snow 11-10-2009 01:43 PM

Alright Mormegil, been a while m8, all good with you?

Since the 10.6.2 update messed up my audio I was wondering if you could take a look at my already slightly (but apparently non working) modded AppleHDA kext.

http://www.mediafire.com/file/mikkmb25bzz/AppleHDA.zip

Thx in advance bud

ps. using AppleHDA v10.6.1 for now

airwalk776 11-11-2009 02:51 AM

1 Attachment(s)
ok everyone with the evga x58 mobo here is the solution to get HDA working in 64 bit mode.

voodoohda.kext haha just kidding.....

1st thank you to everyone that helped in getting this done.

2nd remove and voodoohda you have

what is accomplished. 32 and 64 bit audio using stock applehda.kext in /S/L/E

you must have your dsdt.aml patched with the following info

codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},

"layout-id",
/**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04)
{
0x79, 0x03, 0x00, 0x00


Install the stock applehda.kext in /S/L/E ( I used the one from 10.6.2 update) using kext utilities 2.3.2

and install the attached LegacyHDA.kext in /Extra/Extensions using kext utilities 2.3.2 update mkext.

it will give you 4 outs and 2 ins.

testing in 32 and 64 bit mode. the advantage of doing it this way (at least for me) is that I dont have any modified kexts in /S/L/E.

give it a shot and report back.

Good Luck

msf5042 11-11-2009 03:32 AM

i will test it out and report back in a few, you're the man airwalk

msf5042 11-11-2009 04:44 AM

Confirmed working. Hopefully netkas has an epiphany that he should make evga x58 boards sleep sometime soon. In the meantime lets plug away, did you ever have sleep working in 10.5?

mormegil 11-11-2009 04:08 PM

Quote:

Originally Posted by Snow (Post 39163)
Alright Mormegil, been a while m8, all good with you?

Since the 10.6.2 update messed up my audio I was wondering if you could take a look at my already slightly (but apparently non working) modded AppleHDA kext.

http://www.mediafire.com/file/mikkmb25bzz/AppleHDA.zip

Thx in advance bud

ps. using AppleHDA v10.6.1 for now

I'm good mate. Just installed 10.6.2 myself. All fine here, just AppleHDA to take care of.

I have to do it for my own codec anyway so took some time to do it for yours too.

10.6.1/10.6.2 AppleHDA patched for ALC889A
http://www.mediafire.com/file/gm25ym...leHDA_889a.zip

Snow 11-12-2009 06:29 PM

Muchos Gracias Hombre

Installing right away.

Update: working perfectly after rebuilding Aggregate device bro, thx again

xxxslayeriiixxx 11-15-2009 01:38 AM

thx for the info

Valaris 11-15-2009 02:59 PM

OMG! it works!
 
Hi guys,

i got ALC262 (VAIO FW139E/H), confirming that this work! BTW i have installed the following kext as well: ALCInject.kext and HDAEnabler.kext.

Thank you very much mormegil!

atleast my sound works, though i have no mic and HDMI output but hey its better than none. ^_^

chadp1a 11-15-2009 08:51 PM

p6860fx laptop no sound still :(
 
Could someone please help me? I own a gateway p6860fx laptop. I followed this excellent guide in attempts to get my sound working. I hex edited the applehda using B0 76 1D 11 which matches the Subsystem Id from the codec#1 in this below linux audio dump. It also matches the Vendor ID from the codec#2 linux dump below.

I have pasted my linux dump and DSDT audio patch. Could someone please advise me to maybe why my audio still doesn't work. Sound was fine in Leopard and I modified a Vanilla Snow AppleHDA kext per the guide here.

Thanks in advance!!



Linux Dump:

Code:

Codec: LSI ID 1040
Address: 1
Vendor Id: 0x11c11040
Subsystem Id: 0x107b0690
Revision Id: 0x100200
Modem Function Group: 0x1


Codec: IDT 92HD71B8X
Address: 2
Vendor Id: 0x111d76b0
Subsystem Id: 0x107b0692
Revision Id: 0x100101
No Modem Function Group found
Default PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
GPIO: io=8, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[5]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[6]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[7]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Power-Map: 0x01
Analog Loopback: 0x00
Node 0x0a [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Connection: 3
    0x10 0x11* 0x17
Node 0x0b [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x03a11020: [Jack] Mic at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=02, enabled=1
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0d [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000014: OUT Detect
  Pin Default 0x90170110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 3
    0x10* 0x11 0x17
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00001724: IN Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x40f000f1: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x1
  Pin-ctls: 0x00: VREF_HIZ
  Unsolicited: tag=00, enabled=0
Node 0x0f [Pin Complex] wcaps 0x400183: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00000014: OUT Detect
  Pin Default 0x40f000f2: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x2
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 3
    0x10 0x11 0x17*
Node 0x10 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x64 0x64]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x11 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out R/L
  Amp-Out caps: N/A
  Amp-Out vals:  [0x7f 0x7f]
  Converter: stream=0, channel=0
  Power: setting=D0, actual=D0
  Delay: 13 samples
Node 0x12 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D3, actual=D3
  Delay: 13 samples
  Connection: 1
    0x1c
  Processing caps: benign=0, ncoeff=0
Node 0x13 [Audio Input] wcaps 0x1d0541: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  Power: setting=D3, actual=D3
  Delay: 13 samples
  Connection: 1
    0x1d
  Processing caps: benign=0, ncoeff=0
Node 0x14 [Pin Complex] wcaps 0x400102: Mono Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x80]
  Pincap 0x00000010: OUT
  Pin Default 0x40f000f3: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x3
  Pin-ctls: 0x00:
  Connection: 1
    0x16
Node 0x15 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
    0x10* 0x11 0x17
Node 0x16 [Audio Mixer] wcaps 0x200100: Mono
  Connection: 1
    0x15
Node 0x17 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-In vals:  [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97] [0x97 0x97]
  Connection: 5
    0x10 0x11 0x27 0x1a 0x1b
Node 0x18 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x90a6012e: [Fixed] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0x2, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x19 [Pin Complex] wcaps 0x40000d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x00000020: IN
  Pin Default 0x40f000f5: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x5
  Pin-ctls: 0x20: IN
Node 0x1a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
    0x0b* 0x0c 0x0e
Node 0x1b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 3
    0x0b* 0x0c 0x0e
Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x09 0x09]
  Connection: 4
    0x1a* 0x17 0x18 0x19
Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x80 0x80]
  Connection: 4
    0x1b* 0x17 0x18 0x19
Node 0x1e [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x044513a0: [Jack] SPDIF Out at Ext Right
    Conn = Optical, Color = Black
    DefAssociation = 0xa, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Connection: 1
    0x24
Node 0x1f [Pin Complex] wcaps 0x400701: Stereo Digital
  Pincap 0x00010010: OUT EAPD
  EAPD 0x0:
  Pin Default 0x40f000f8: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x8
  Pin-ctls: 0x00:
  Power: setting=D0, actual=D0
  Connection: 2
    0x24* 0x25
Node 0x20 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x00000010: OUT
  Pin Default 0x90451360: [Fixed] SPDIF Out at Int N/A
    Conn = Optical, Color = Black
    DefAssociation = 0x6, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Connection: 1
    0x25
Node 0x21 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x22 [Audio Output] wcaps 0x40211: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Delay: 4 samples
Node 0x23 [Vendor Defined Widget] wcaps 0xf00000: Mono
Node 0x24 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
    0x21* 0x1c 0x1d
Node 0x25 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 3
    0x22* 0x1c 0x1d
Node 0x26 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
  Amp-Out vals:  [0x00]
Node 0x27 [Pin Complex] wcaps 0x400000: Mono
  Pincap 0x00000020: IN
  Pin Default 0x40f000f7: [N/A] Other at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x7
  Pin-ctls: 0x00:
Node 0x28 [Volume Knob Widget] wcaps 0x600000: Mono
  Volume-Knob: delta=1, steps=127, direct=1, val=127
  Connection: 2
    0x10 0x11

DSDT Patch:
Code:

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x06)
                        {
                            "codec-id",
                            Buffer (0x04)
                            {
                              0xB0, 0x76, 0x1D, 0x11
                            },                           
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    Return (Local0)
                }
            }


miliuco 11-18-2009 02:38 PM

2 Attachment(s)
Thanks, mormegil, your AppleHDA kext works well in my system (EP35-DS3r with ALC889a).
I attach a AppleHDA.kext > Contents > Resources > Spanish.lproj folder to include into the kext for anybody who likes to see device names in spanish instead of english.
Thanks again.

mimayin 11-19-2009 12:16 PM

Hi,

I can't get this to work, I've spent hours and hours trying :/ I have a Foxconn Blackops with ALC885. Patched DSDT as such:

Code:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0A)
                        {

                            "built-in",
                            Buffer (0x01)
                            {
                                0x01
                            },

                            "codec-id",
                            Buffer (0x04)
                            {
                                0x85, 0x08, 0xEC, 0x10
                            },

                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "device-type",
                            Buffer (0x011)
                            {
                                "ALC885"
                            },

                            "PinConfigurations",
                            Buffer (0x28)
                            {
                                /* 0000 */ 0x10, 0x40, 0x01, 0x01, 0x64, 0x10, 0x01, 0x01,
                                /* 0008 */ 0x71, 0x60, 0x01, 0x01, 0x82, 0x20, 0x01, 0x01,
                                /* 0010 */ 0x30, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02,
                                /* 0018 */ 0x40, 0x30, 0x81, 0x01, 0x50, 0x40, 0x21, 0x02,
                                /* 0020 */ 0xF0, 0x71, 0x44, 0x01, 0x90, 0x71, 0x45, 0x11
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Also tried the 889A version of the above (and updated layout id to 889 for that, in DSDT and plists) to no avail.

Layout ID is correct (12) for ALC885 in both DSDT and plists.

On boot I always get:

Code:

Nov 19 11:04:04 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit
I have taken the Layout and PathMap settings from my working Leopard AppleHDA.kext, but clearly something isn't right.

Working Leopard kext plist:

http://82.113.155.91/leopard-info.plist

Hacked SL plists:

AppleHDAHardwareConfigDriver-info.plist
AppleHDAPlatformDriver-info.plist

edit: fixed links!

If anyone can give me a clue as to where I might be going wrong I'd be very grateful, this is driving me nuts :/ I can get sound with VoodooHDA but only through the headphone socket, no lineout :/

Thanks!

mimayin 11-19-2009 01:01 PM

Tried adding HDAEnabler.kext to /Extra/Extensions as a potshot but it still fails.

Code:

Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: Copyright (c) 2008 by Kabyl
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: 05/05/2008 Added SPAudio support:Taruga
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: Copyright (c) 2008 by Kabyl
Nov 19 11:57:34 localhost kernel[0]: HDAEnabler: 05/05/2008 Added SPAudio support:Taruga
Nov 19 11:57:34 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit
Nov 19 11:57:34 localhost kernel[0]: Sound assertion ""ERROR: EFI ROM did not publish 'hda-gfx' associative property!\n"" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDA/AppleHDACodecGeneric.cpp" at line 331 goto ExitError


mormegil 11-19-2009 02:19 PM

Device (HDEF) code should be just this: http://www.infinitemac.com/f57/guide...post35175.html

Your plist looks fine. Only thing is the configdata in the first plist doesn't match the one in your dsdt. Try them both but only in plist. DO NOT have it in your dsdt.

mimayin 11-19-2009 05:17 PM

Thanks I will try this when i get home in a few hours and report back :)

mimayin 11-19-2009 10:15 PM

Still not working :( Pretty sure DSDT is correct now:

Code:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Device shows up in system profiler with the correct device and layout id, but still AppleHDA.kext won't load, still gives the same error.

Any ideas? kext plists are unchanged from my first post

mimayin 11-19-2009 10:57 PM

Interestingly enough, if I leave DSDT with AZAL in it rather than HDEF like this:

Code:

            Device (AZAL)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x05
                    })
                }
            }

VoodooHDA works, but I only get the headphone socket rather than the line-in. But if I patch DSDT (as in previous post), VoodooHDA kernel panics immediately on load.

I'm lost.. i've spent over 3 days messing around with this, i'm almost ready to give up and buy an Xmod :(

mormegil 11-20-2009 08:16 AM

Care to post the other Leopard plist? The one containing Configdata

mimayin 11-20-2009 11:06 AM

leo-HDAController-info.plist

I did actually try putting this block into HDAController/Info.plist in the snow leopard AppleHDA.kext last night:

Code:

      <key>HDAConfigDefault</key>
      <array>
        <dict>
          <key>CodecID</key>
          <integer>283904133</integer>
          <key>ConfigData</key>
          <data>
          AUccEAFHHUABRx4RAUcfAQFXHBIBVx0gAVce
          AQFXHwEBZxwRAWcdYAFnHgEBZx8BAXccFAF3
          HRABdx4BAXcfAQGHHDABhx2ZAYceoQGHHwEB
          lxw/AZcdkAGXHqEBlx8CAaccMQGnHTEBpx6B
          AacfAQG3HB8Btx1AAbceIQG3HwIBxxwyAccd
          AQHHHjMBxx+ZAdccAAHXHQEB1x4AAdcfQAHn
          HGAB5x0BAeceRQHnH4EB9xwAAfcdAQH3HgAB
          9x9A
          </data>
          <key>FuncGroup</key>
          <integer>1</integer>
          <key>LayoutID</key>
          <integer>12</integer>
        </dict>
      </array>

But still didn't work :(

mormegil 11-20-2009 06:16 PM

Your DSDT is fine since you say all ports show up in System Profiler.

I've checked your Leo and SL plists. They all add up too.

I'm afraid there's nothing much I can help here. Sorry.

You sure you installed the kext correctly? Rebuild cache, etc.?

dan10 11-20-2009 08:10 PM

mymayin,

Try this, download the LegacyHDA file Airwalk posted here http://www.infinitemac.com/f57/guide...981/page7.html
modify it using your working Leo data, you know HDAController, Layouts and Pathmaps. Put the LegacyHDA in your Extra folder and trash your extensions.mkext and rebuild it with mkextTool, replace your modify AppleHDA with a vanilla file from SL. It should work and it's a better solution because it maintains AppleHDA untouched no need to modify it every time you update your OS. Don't forget to remove any other audio file i.e. VoodooHDA and any other enabler. Build your DSDT the way he did it don't put the pin configuration, keep it simple for now "codec-id" and "layout-id". Good Luck

mimayin 11-20-2009 08:48 PM

Still not working :(

I think my DSDT might be wrong somehow, I don't see any devices in Profiler->Audio, just the device id and layout id (both are correct).

it says Devices: but the listing is blank.

Vanilla AppleHDA.kext is failing to load.

Code:

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "layout-id",
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            },

                            "PinConfigurations",
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

I tried adding the codec-id in there and increasing Store(Package) size to 0x08 but that didn't help either :/

dan10 11-20-2009 09:01 PM

So you put the legacyHDA.kext in Extra and rebuild the extensions.mkext reboot and still nothing, that's odd.
Did you add this to your DSDT? DTGP code, read The King's guide, you probably did because the compiler would complain if you didn't.
http://www.projectosx.com/forum/inde...topic=465&st=0

Are you using Chameleon? what version is it?

mimayin 11-20-2009 09:17 PM

Yeah I did all that, I'm using Chameleon 2.0RC1. I'll see if there's a later version..

mormegil 11-20-2009 10:07 PM

update to netkas's pc-efi 10.5 bootloader

mimayin 11-20-2009 10:21 PM

still no luck with pc-efi 10.5, same errors on boot :(

Code:

Nov 20 21:16:46 localhost kernel[0]: Sound assertion "0 != setupHostInterrupt ()" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/AppleHDAController.cpp" at line 312 goto Exit

mimayin 11-20-2009 10:29 PM

I noticed I don't have anything pointing to AZAL or HDEF in the _GPE section of the DSDT. Could this be the problem?

eg: http://www.insanelymac.com/forum/ind...owtopic=184692

there the guy has:

Code:

        Method (_L05, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.HDEF, 0x02)
        }

whereas my _GPE section looks like:

Code:

    Scope (_GPE)
    {
        Method (_L00, 0, NotSerialized)
        {
            Notify (\_TZ.THRM, 0x80)
        }

        Method (_L03, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB0, 0x02)
        }

        Method (_L04, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB1, 0x02)
        }

        Method (_L0C, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB2, 0x02)
        }

        Method (_L0E, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB3, 0x02)
        }

        Method (_L05, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB4, 0x02)
        }

        Method (_L20, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USB5, 0x02)
        }

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.IGBE, 0x02)
        }

        Method (_L0B, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.HUB0, 0x02)
        }

        Method (_L08, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.PX40.UAR1, 0x02)
            Notify (\_SB.PCI0.PX40.UAR2, 0x02)
        }

        Method (_L09, 0, NotSerialized)
        {
            If (LNotEqual (VID0, 0xFFFF))
            {
                If (LEqual (And (RSR0, One), One))
                {
                    Store (0xFF, RSR0)
                    Store (0x80, PMC0)
                    Notify (\_SB.PCI0.PEX0, 0x02)
                }
            }

            If (LNotEqual (VID1, 0xFFFF))
            {
                If (LEqual (And (RSR1, One), One))
                {
                    Store (0xFF, RSR1)
                    Store (0x80, PMC1)
                    Notify (\_SB.PCI0.PEX1, 0x02)
                }
            }

            If (LNotEqual (VID2, 0xFFFF))
            {
                If (LEqual (And (RSR2, One), One))
                {
                    Store (0xFF, RSR2)
                    Store (0x80, PMC2)
                    Notify (\_SB.PCI0.PEX2, 0x02)
                }
            }

            If (LNotEqual (VID3, 0xFFFF))
            {
                If (LEqual (And (RSR3, One), One))
                {
                    Store (0xFF, RSR3)
                    Store (0x80, PMC3)
                    Notify (\_SB.PCI0.PEX3, 0x02)
                }
            }

            If (LNotEqual (VID4, 0xFFFF))
            {
                If (LEqual (And (RSR4, One), One))
                {
                    Store (0xFF, RSR4)
                    Store (0x80, PMC4)
                    Notify (\_SB.PCI0.PEX4, 0x02)
                }
            }

            If (LNotEqual (VID5, 0xFFFF))
            {
                If (LEqual (And (RSR5, One), One))
                {
                    Store (0xFF, RSR5)
                    Store (0x80, PMC5)
                    Notify (\_SB.PCI0.PEX5, 0x02)
                }
            }
        }
    }

maybe i should add that in? perhaps using a different unused _L0x?

dan10 11-20-2009 10:45 PM

There should be 2 instances of AZAL replaced to HDEF. I thing you are close

mimayin 11-20-2009 11:02 PM

I figured out the missing part, I added HDEF to the _L0D method:

Code:

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.IGBE, 0x02)
            Notify (\_SB.PCI0.HDEF, 0x02)
        }


But still no sound with AppleHDA :(

dan10 11-20-2009 11:20 PM

Here it's mine:

Code:


  Method (_L0D, 0, NotSerialized)
        {
            Store (SMI (0xC6, Zero), Local0)
            If (And (Local0, One))
            {
                Notify (\_SB.PCI0.HDEF, 0x02)
            }

            If (And (Local0, 0x02))
            {
                Notify (\_SB.PCI0.EHCI, 0x02)
            }

            If (And (Local0, 0x04))
            {
                Notify (\_SB.PCI0.EHC2, 0x02)
            }
        }


mimayin 11-20-2009 11:26 PM

This is too much of a headache, i give up, im buying an Xmod

scififan68 11-21-2009 02:30 AM

Hey!, thanks for this sweet guide, it really helped me port the applehda kext to work for my alc888! :D

mimayin 11-21-2009 01:57 PM

Ok I'm following TheKing's guide, but I'm stuck on how to convert the output from VerbIt to the encoded format used in the ConfigData parameter in Info.plist:

Code:

Verbs from Linux Codec Dump File: codec_dump.txt

Codec: Realtek ALC885  Address: 2  DevID: 283904133 (0x10ec0885)

  Jack  Color  Description                  Node    PinDefault            Original Verbs
--------------------------------------------------------------------------------------------------------
    1/8  Green  Line Out at Ext Rear        20 0x14  0x01014410  21471c10 21471d44 21471e01 21471f01
    1/8  Black  Line Out at Ext Rear        21 0x15  0x01011412  21571c12 21571d14 21571e01 21571f01
    1/8  Orange  Line Out at Ext Rear        22 0x16  0x01016411  21671c11 21671d64 21671e01 21671f01
    1/8    Grey  Line Out at Ext Rear        23 0x17  0x01012414  21771c14 21771d24 21771e01 21771f01
    1/8    Pink  Mic at Ext Rear            24 0x18  0x01a19c40  21871c40 21871d9c 21871ea1 21871f01
    1/8    Pink  Mic at Ext Front            25 0x19  0x02a19c50  21971c50 21971d9c 21971ea1 21971f02
    1/8    Blue  Line In at Ext Rear        26 0x1a  0x0181344f  21a71c4f 21a71d34 21a71e81 21a71f01
    1/8  Green  HP Out at Ext Front        27 0x1b  0x02214c20  21b71c20 21b71d4c 21b71e21 21b71f02
  ATAPI Unknown  CD at Int ATAPI            28 0x1c  0x593301f0  21c71cf0 21c71d01 21c71e33 21c71f59
  ATAPI Unknown  Line In at Int ATAPI        29 0x1d  0x598301f0  21d71cf0 21d71d01 21d71e83 21d71f59
  Comb  Black  SPDIF Out at Ext Rear      30 0x1e  0x014b1130  21e71c30 21e71d11 21e71e4b 21e71f01
    1/8  Black  Speaker at Ext Rear        31 0x1f  0x411111f0  21f71cf0 21f71d11 21f71e11 21f71f41
--------------------------------------------------------------------------------------------------------


  Jack  Color  Description                  Node    PinDefault            Modified Verbs
--------------------------------------------------------------------------------------------------------
    1/8  Green  Line Out at Ext Rear        20 0x14  0x01014410  21471c10 21471d40 21471e01 21471f01
    1/8  Black  Line Out at Ext Rear        21 0x15  0x01011412  21571c60 21571d10 21571e01 21571f01
    1/8  Orange  Line Out at Ext Rear        22 0x16  0x01016411  21671c70 21671d60 21671e01 21671f01
    1/8    Grey  Line Out at Ext Rear        23 0x17  0x01012414  21771c80 21771d20 21771e01 21771f01
    1/8    Pink  Mic at Ext Rear            24 0x18  0x01a19c40  21871c40 21871d90 21871ea1 21871f01
    1/8    Pink  Mic at Ext Front            25 0x19  0x02a19c50  21971c50 21971d90 21971ea1 21971f01
    1/8    Blue  Line In at Ext Rear        26 0x1a  0x0181344f  21a71c90 21a71d30 21a71e81 21a71f01
    1/8  Green  HP Out at Ext Front        27 0x1b  0x02214c20  21b71c20 21b71d40 21b71e21 21b71f01
  ATAPI Unknown  Line In at Int ATAPI        29 0x1d  0x598301f0  21d71cf0 21d71d00 21d71e83 21d71f50
  Comb  Black  SPDIF Out at Ext Rear      30 0x1e  0x014b1130  21e71c30 21e71d10 21e71e4b 21e71f01
--------------------------------------------------------------------------------------------------------

How do I convert those hex strings for the ConfigData, which is in this format:

AUccEAFHHUABRx4RAUcfAQFXHBIBVx0gAVce
AQFXHwEBZxwRAWcdYAFnHgEBZx8BAXccFAF3
HRABdx4BAXcfAQGHHDABhx2ZAYceoQGHHwEB
lxw/AZcdkAGXHqEBlx8CAaccMQGnHTEBpx6B
AacfAQG3HB8Btx1AAbceIQG3HwIBxxwyAccd
AQHHHjMBxx+ZAdccAAHXHQEB1x4AAdcfQAHn
HGAB5x0BAeceRQHnH4EB9xwAAfcdAQH3HgAB
9x9A


Thanks..

mimayin 11-21-2009 02:04 PM

NM figured it out, wish me luck :)

max.1974 12-01-2009 03:09 PM

Alc 262 for snow leopard..please!!!
 
Hi everyone...tks for a lot help!!!
I need ask a very great favor: send me by mail or download link, the compiled kexts that i need replace in Snow [email protected]

ALC262 SONY VAIO VGN-NS150AE

Im a inexperient user to compiled my on, so sorry my bad english...

Best regards...i hope some mail about that!!!

TKS!!!!

max.1974 12-02-2009 03:58 AM

Please My firends...post kext....ALC 262
 
Please...i need that kext modified...AppleHDA.kext for my ALC262...
I suplies for help...just post or send by mail...im very tired to look around (google)

Thanks...