InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   Snow Leopard 10.6 (http://infinitemac.com/forumdisplay.php?f=87)
-   -   [GUIDE] ALC889a (with analog 5.1 surround) (http://infinitemac.com/showthread.php?t=3746)

Snow 08-23-2009 09:46 PM

[GUIDE] ALC889a (with analog 5.1 surround)
 
Hi guys,

Just wondering if anyone has 5.1 sound working in Snow (or Leo for that matter)
Not digital out but normal surround via the 3 analog ports.
If so could you share the method please (DSDT, kext)

Thx in advance

UPDATE: Solved thx to all for your input, especially Mormegil, thx a lot bro for the guidance and files!

- Update on Sep 14 2009: I'm providing my modded AppleHDA kext for comparison or it might even work for some people without re-modding to their own hardware.

http://www.mediafire.com/?f0mmm25zrja

- Update on Sept 8 2009: Mormegil has created a guide to mod your Leopard AppleHDA kext to Snow Leopard: http://www.infinitemac.com/f57/guide...a-to-sl-t3981/

- Update on Sept 4 2009: Alright, since a lot of fello ALC889a users have issues I thought it would be only fair to post my steps to get audio fully working. This is based on my rig of course.



START


First grab these files which are:

iaslme to unpack your dsdt.aml file: http://www.mediafire.com/?jnjrdtmfm3k
kextutility in case you haven't got it yet: http://www.mediafire.com/?njgtzhzwm0j

For comparison:

my dsdt.aml without the audio mod: http://www.mediafire.com/?xm2yn2xguyo
my dsdt.aml with the audio mod: http://www.mediafire.com/?zzgmmgmhdbo

Credit goes to Mormegil for patience and support, respect bro!


PART I: Patching DSDT



- Slide your dsdt.aml file over the iaslme icon to decompile it to a dsdt.dsl file.
- Open the dsl file with texteditor
- Apple + F to open the search tab and fill in AZAL
- Change AZAL into HDEF

In my case:

From

Code:

Notify (\_SB.PCI0.AZAL, 0x02)
To

Code:

Notify (\_SB.PCI0.HDEF, 0x02)
- Search again for AZAL and this time the item “Device” should show up (at least in my case)

Change this:

Code:

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

            Name (BUFA, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {3,4,5,6,7,9,10,11,12,14,15}
            })
            Name (BUFB, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {}
            })
            CreateWordField (BUFB, One, IRQV)
            Device (LNKA)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, One)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRA, 0x80, Local0)
                    If (LEqual (Local0, 0x80))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Return (BUFA)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Or (PIRA, 0x80, PIRA)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    And (PIRA, 0x0F, Local0)
                    ShiftLeft (One, Local0, IRQV)
                    Return (BUFB)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateWordField (Arg0, One, IRQ1)
                    FindSetRightBit (IRQ1, Local0)
                    Decrement (Local0)
                    Store (Local0, PIRA)
                }
            }

Into this:

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)
                }
            }

            Name (BUFA, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {3,4,5,6,7,9,10,11,12,14,15}
            })
            Name (BUFB, ResourceTemplate ()
            {
                IRQ (Level, ActiveLow, Shared, )
                    {}
            })
            CreateWordField (BUFB, One, IRQV)
            Device (LNKA)
            {
                Name (_HID, EisaId ("PNP0C0F"))
                Name (_UID, One)
                Method (_STA, 0, NotSerialized)
                {
                    And (PIRA, 0x80, Local0)
                    If (LEqual (Local0, 0x80))
                    {
                        Return (0x09)
                    }
                    Else
                    {
                        Return (0x0B)
                    }
                }

                Method (_PRS, 0, NotSerialized)
                {
                    Return (BUFA)
                }

                Method (_DIS, 0, NotSerialized)
                {
                    Or (PIRA, 0x80, PIRA)
                }

                Method (_CRS, 0, NotSerialized)
                {
                    And (PIRA, 0x0F, Local0)
                    ShiftLeft (One, Local0, IRQV)
                    Return (BUFB)
                }

                Method (_SRS, 1, NotSerialized)
                {
                    CreateWordField (Arg0, One, IRQ1)
                    FindSetRightBit (IRQ1, Local0)
                    Decrement (Local0)
                    Store (Local0, PIRA)
                }
            }


PART II: Patching AppleHDA



- Copy your AppleHDA.kext from System/Library/Extensions to your desktop
- Right click the kext and select ShowPackage, then browse to Content/Contents/Plugins
- Right click AppleHDAHardwareConfigDriver.kext and again Show Package Contents
- Browse to Contents and replace info.plist with this one (just slide it in and confirm replace)

http://www.mediafire.com/?rttltqjqxn4

Go back to the Plugins folder and this time Show Package Content of AppleHDAPlatformDriver.kext
Browse to Contents and replace info.plist with this one

http://www.mediafire.com/?zhnmdm0izzy

- Close all windows and then slide the modded AppleHDA.kext on the Kextutility icon.
- Reboot and repair permissions again with Kextulility, Terminal or Disk Utility just to make sure.
- If SL starts to behave badly and post a kernel panic you might want to boot into 32bit safe mode (-x -x32) and then run kextutility

Audio should be working now


PART III: Configuring 5.1



- Spotlight "AUDIO/MIDI-configuration" prefs
- Click + left bottom
- Double click name and rename it to ALC889a
- In the right panel select the 3 built-in line streams
- To adjust or correct volume expand ALC889a and use the sliders in the right tab for all 3 line-outs:

http://a.imagehost.org/0055/Volume.png

In my case they were minus 12db if I remember correctly.

- Click speaker configuration bottom right
- Select Multichannel tab and next to it select 5.1 surround from the menu
- Check All streams at top and then start configuring the streams (in my case I had to switch 5 & 6 to left and right rear and 3 & 4 to center and sub respectively)
- Confirm with bottom buttons and go check a 5.1 movie in quicktimeX
- You might want to install Perian (http://perian.org/) and set Audio Output to: Mutli-Channel Output

I think that's about it, everything should be working, if not, it's probably because you have a completely different system then mine or your dsdt isn't properly patched or you just messed up on the way.

Good luck!


THE END

vista00 08-24-2009 12:11 AM

Hi Snow
Here an interested guide to modify your dsdt and add audio. Take a look:
http://www.mediafire.com/?sharekey=d...5965eaa7bc68bc

DocShadow 08-24-2009 01:14 AM

Hmmmm ... very detailed.

I tried the HDEF patch in the dsdt but had no luck. I think I'll try this one out and see if I have more luck.

Thanks for the heads up.

Snow 08-24-2009 06:54 AM

Thx for the guide m8 but all I really want to know is if 5.1 is possible with ALC889a via analog.
I wont enable the onboard unless it's possible.
If not, I will wait for KX driver to go 64bit and use my Presonus 1394 for now (stereo)

mormegil 08-25-2009 07:34 PM

I don't think real macs support analog 5.1 audio. So I think the only way to go is digital.

Got my onboard ALC888 running using this guide: http://www.projectosx.com/forum/inde...t=0&#entry1993

Front analog, Digital out, Mic and Line In working so far. I've a Z5500 system so it's all good. Been watching HD movies with AC3/DTS no problem.

Snow 08-25-2009 08:05 PM

Argh ok, bad news then. KX drivers for my Audigy 2 ZS support 5.1 and with superior quality compared to ALC889a. I think it'll take a long time though for 64bit support, hence I'm hunting for ALC889a 5.1.

mormegil 08-25-2009 08:21 PM

Yeah too bad no kx support for my X-fi :( I wouldn't have bothered with tweaking my onboard otherwise. I've never ever enabled it in bios since I got this motherboard and tbh I was quite surprised by the quality of the digital output.

mormegil 08-27-2009 11:52 AM

4 Attachment(s)
I take back my word. Got full analog 5.1 to work on my onboard alc888!

1. Tweak AppleHDA.kext to detect 3 Line Outputs: Green, Black, Orange.
2. Run Audio Midi Setup
3. Add new Aggregate Device
4. Click on the 3 check boxes corresponding to the 3 Line outs
5. Click on Configure Speakers
6. Select all 3 streams
7. Select Multichannel 5.1
8. Make sure all channels are properly mapped
9. Select Aggregate Device as output under System Preferences>Sound
10. Done



Here's my modified AppleHDA.kext as reference

Snow 08-27-2009 12:05 PM

Thats great news m8!

You think I can use this one for my ALC889a?

Only kext is needed? no dsdt patching or other kexts?

This is 64bit compatible yeah?

Thx

mormegil 08-27-2009 02:40 PM

1 Attachment(s)
ALC889a might have different pin configuration so I'm not sure about that. However, it looks like your codec is a variant of the ALC885 which has native OSX support so I think you don't need to do any binary patching.

You don't need HDAenabler or any audio injector. Just patch dsdt for audio injection. Then edit the two plist files:

AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/Info. plist
AppleHDA.kext/Contents/Plugins/AppleHDAPlatformDriver.kext/Contents/Info.plist

Check out the guide by THe KiNG I linked earlier. Should be able to do it yourself. I've made a quick edit for your codec (ALC885 address 3). Just rename them to Info.plist and copy to their respective kexts.

And yes, it's based on the original AppleHDA.kext which came with SL build 10a432 so it's 64bit compatible.

Snow 08-27-2009 07:19 PM

Ah thx bro, I'm affraid I'l lhave to look into dsdt patching since Pista (the guy who made SLeepenabler) compiled it for me.

Thx a lot for the files and info! I'll check the guide now

mangohead 08-27-2009 08:24 PM

I've fixed the audio on my P35-DS3L (2.0)

I used the drivers here (find the proper one for your ID)

http://www.insanelymac.com/forum/ind...owtopic=140941

Also stumbled across this, but never bothered to try it:

http://www.insanelymac.com/forum/ind...0#entry1237530

Snow 08-27-2009 08:29 PM

Alright, thx m8, will try this tomorrow.

I'll post back with update. The only issue for me is the dsdt because iasl cannot seem to compile it properly (doesnt even output aml file)

I'll get to it tomorrow lads, thx again!

wwbsox 08-27-2009 09:46 PM

dsdt wont compile?
 
@snow... What errors are you getting from iaslme? If they are WAK, Local0, or DTGP errors, they can be fixed by adding those methods to your dsdt somewhere. It was easier for me to use ACPI patcher in windows and just check those options when I patched my dsdt.

Anyways, I am going to try different pin configurations in my dsdt this weekend to see if 5.1 using dsdt is possible.

mormegil 08-27-2009 11:04 PM

I was having problems getting it to work at first while inserting my pinconfig to dsdt. After reading the guide, I've learnt that it's not really necessary. Pinconfig from plist will override them anyway. Here's the HDEF code in dsdt.dsl

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)
                }
            }


Snow 08-28-2009 07:58 AM

Always errors out on this when I try to compile

Code:

/Users/Snow/Desktop/dsdt/dsdt.dsl  5021:                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error    4063 -                          Object does not exist ^  (DTGP)

Any ideas?

Snow 08-28-2009 09:04 AM

3 Attachment(s)
Ok I added the DTGP part to dsdt and it compiled properly.

Rebooted, had a few panics and non boots but after repairing permissions & mkext I booted into x64.
Now, I have the 3 line-outs, made a device for the outputs but I get no sound whatsoever.

Could you please check and recompile my dsdt.aml for me?

Thx in advance

Update: Hmm no, I can achieve a thing or two on osx86 but this stuff is beyond me. It'll never happen if I'm doing the coding lol so hopefully someone can compile a proper dsdt or AppleHDA for me.
I have added the dumps for ALC889a (downloaded from somewhere so not built on my system) just in case its needed.

mormegil 08-28-2009 10:11 AM

What do you see in your System Profiler and SysPref/Sound? Can you get sound out of the individual outputs before doing the aggregate device?

Snow 08-28-2009 10:15 AM

Christ sake, I just tried again and thought I heard some noise in the background, turned volume up a bit (My presonus FW interface seems to output louder) and now I do get sound. Thats a proper noob act man.

Alright so stereo seems to be working, I'll get back to ya with update on 5.1 sound.

http://img41.imageshack.us/img41/926...ing2009082.png

Snow 08-28-2009 10:23 AM

Alright 5.1 works, thx a lot for files n guidance bro!!!

This seems to be the proper setting for streams in my case. I bet with a slight change in pinconfiguration the default setting would already work but this configuration actually makes more sense.

http://a.imagehost.org/0091/Schermaf...m_11_20_53.png

mormegil 08-28-2009 10:26 AM

Glad it worked for you. What do you mean by default settings?

Snow 08-28-2009 10:31 AM

Well the streams you get at default setting. I had to switch rears for center/sub.

But the 3/4 back and 5/6 center/sub makes more sense anyway.

I'll have to change my audio in windows back to onboard or its silent gaming. When KX 64bit support is released I "might' try the Audigy 2 ZS again. On the other hand I might just get rid of it and clear some space in my case hehe.

Do I just replace the dsdt.aml and plist files (AppleHDA) in for this to also work Leopard?

Also, is there a way to get 5.1 with QuicktimeX or do we still have to use VLC Player?

Thx again bro, respect!

Snow 08-28-2009 10:57 AM

Small observation, the sound indeed is far too low and I have to turn the volume way up, so much I start to hear noise (normal with analog setup I guess)

Any ideas?

Update: and that my friend seems to be fixed by setting db to 0 for the line-outs in audio/midi config panel. Maybe I should seek a solution first and then post if its unsolved. I'm a bit excited I got 5.1 working guess.

mormegil 08-28-2009 11:07 AM

Ah yes. I got that too. Somehow the channels are not mapped properly by default.

Yes, dsdt.aml you can just reuse for Leo but AppleHDA you can't since 10.5.8 uses an older version. AppleHDA.kext:Contents:PlugIns:AppleHDAHardwareCon figDriver.kext:Contents:Info.plist
Copy and paste ConfigData with LayoutID 12

AppleHDA.kext:Contents:PlugIns:AppleHDAPlatformDri ver.kext:Contents:Info.plist
Copy and paste the blocks with LayoutID 12 under Layout and PathMapID 9 under PathMaps

Snow 08-28-2009 11:15 AM

1 Attachment(s)
Alright bro, I'll try that after lunch.

Also, 5.1 in quicktime seems to be fixed with Perian audio options set to Multi-channel output.
Positional sound is quiet good too I might add.

And another question, would adding my 8800GT to the dsdt make any difference compared to EFI string in boot.plist? if yes how would I do this?

Later bud

Update: Is it ok I share the Leo AppleHDA with you so you can modify because there's a lot of code innit and I don't want to mess things up. I think I've done some of the work, can't remember.

Thx!

mormegil 08-28-2009 02:46 PM

1 Attachment(s)
1.7.1a2 patched for alc889a. Try it.

Snow 08-28-2009 03:44 PM

Will do, brb!

Gurruwiwi 09-01-2009 07:56 PM

Hi guys,

I've followed your thread and am in dire need of your help!

I too ha

Gurruwiwi 09-01-2009 08:00 PM

Hi guys,

I've followed your thread and am in dire need of your help!

I too have alc889a

I am audio and SD card away from a perfect install of SL 432, using Cham2rc1.

Let me just give you some info I think is relevant.

Last week I bough a new HDD for my laptop, installed SL fresh over 8-10 times, successfullly becoming more KP. On Sunday I realized the drive was bad. It wouln't even format right. But during the weekend I managed to get alot of things done, like testing video string working, AHCI etc etc.. on my first few tries I managed to get audio working perfect, spdif etc, no internal mic, but external mic working fine! I would be more than happy with that!.
Plus, the woofer was present as music had lot more low end. I did not go into Audio Midi as I only now found this out (I thought it was only for midi connections!).Sound was cristal clear, loud and healthy, zero click or pops.

Then the system broke and I had to restart yet again, but the drive didnt last long. Since I was having so many problems, when something worked, I copied a backup for the future. I didnt have time though, "warmd" KP crashed. And you know how the download folder can get really confusing really fast, because I knew I had very little time before a permanent KP, and so basically I cannot remember for sure which kext I used, but I have a very warm feeling it was AppleAzalia kext from electro's Live website hosting loads of drivers. On Sunday I realized the drive was bad. It wouln't even format right anymore.

http://cid-8b65993ef55cf014.skydrive...=?view=details

It's the first one, title ALC883 (Azalia). Either that or one of the latest VoodooHDA woke up the card, it was late and I was dead tired.

So, brand new drive, fresh SL with gfx, ethernet, webcam, bluetooth, ICH9m working, smbios.plist edited to match a macbook pro 5,1... and is rock rolid !

This is with or without dsdt.aml in neither root nor Extras.

I spent 5 hours yesterday just doing this...

Install (X) kext in E/E - repair perms, reboot with -v, keep my eyes peeled for info,
Install (X) kext in S/L/E - repair perms, reboot with -v, keep my eyes peeled for info,

Where (X) - is any and every audio kext compiled to 64bit SL I could find !

Nothing - in System profiler I get (from vanilla AppleHDA.kext)

Code:

Device ID:        0x10250146
  Audio ID:        0

Note that this Device ID differes from all others!

Now, up to now I wasnt using my 10.5.7 dsdt.aml file in root or Extras... so I decided to copy them to both locations. Basically repeated the install, repair, reboot procedure for all kexts.

All other kexts read:

Code:

DEVICE ID: 0x1458A002
with no Audio ID, just that line

Then I kind of lost heart and decided to move onto ethernet, woke that up and shows fine, then I try another voodooHDA and I get sound! After 20 million kexts. Out of the blue! No mic in, not external mic (but this time "Mic" is present is preferences) I installed it to S/L/E and I think vanilla AppleHDA was there too. In system profile is read just like the above, but sound works!

So I go, YEY!, I'll try moving that one to Extras/Exten so I have a vanilla system, and back it up straight away!

Reboot, no audio. Move the same kext back into S/L/E... no audio !! wtf !?

Most kexts dont give sign of working during verbose boot. Some, that I tried in E/E come back complaining about dependancies, but when in S/L/E show no lifesigns during verbose boot.

what is going on? a kext works one minutes, not the next? Yes, repaired permissions etc.

Should I remove AppleHDA vanilla as principle? (tried)

Should I use dsdt.aml or not? (I havent tried patching as it seems damn complicated!!)

Also, and this gets to me more than anything... if I boot up SL USB Installer, and go in system Profiler, this is what I get

Code:

Device ID:  0x1458A022
            Audio ID:  12

            Available Devices:
            Internal Microphone:
                Connection: Internal
            Speaker:
                Connection Internal
            External Microphone:
                Connection: 1/8-inch Jack


This is my lspci info;

(ICH9 Family) HD Audio Controller [8086:293e] (rev 03) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801I



I guess I could go the dsdt patching route.. but I've gotten audio before and I dont get it why SL is being so picky. Never tried dsdt patching and it intimidates just by looking at it.
When booting with vanilla AppleHDA, I get the following verbose messages;

http://i310.photobucket.com/albums/k...o/IMG_0049.jpg

And if you look, it says "sound assertion "0" - is that related to Audio ID: ?

Why should I need dsdt patching if I've gotten sound before :mad:


Thank you for the long read, I wanted to give as much info as possible

Gurruwiwi 09-01-2009 08:38 PM

Just went through King's tutorial...

First step, problem, graphviz does not install in SL

mormegil 09-02-2009 12:34 AM

Simple.

Either use the 2 plist's I made for Snow and insert them into your SL AppleHDA (rename them first)

or

go here. tmonkol's unified plist or so called LegacyHDA.kext should be the easier way out. Look for the latest package dated 6-8-2009. Don't really have to go through King's tutorial since your audio chipset has already been excellently documented.

Next step is DSDT. Don't really think it's that complicated. Again, tmongkol has a link to DSDT Patcher by fassl. Just a matter of running it once to generate your dsdt.aml.

Decompile it:
Quote:

iasl -d dsdt.aml
Insert HDEF code into dsdt.dsl
Recompile it:
Quote:

iasl -ta dsdt.dsl

CyCLoBoT 09-02-2009 11:45 PM

I finally got sound to work on my EP45-DQ6 motherboard but I am noticing that more sound is coming out of one of the speakers than the other. I only have 2.1 speakers. Anyone noticed something similar?

Gurruwiwi 09-03-2009 02:33 AM

1 Attachment(s)
Mormegil,

Thanks for the help!

I've tried everything, nothing works. I finally manage to get a stable fully operational SL, but no audio :( Irritating as hell because just two days ago while starting to experiment with kexts, it worked nice.

I generated a new dsdt.aml with DSDT Patcher GUI 1.02, forcing compile and new HPET.

From that, the dsdt.dsl file.

I tried following a couple of guides, for example "search for AZAL and substitute with HDEF" - but I have no AZAL entries. Or "copy this over that" but I dont get how long is "over that" without knocking out necessary code.

I also have another issue, from one guide I managed to substitute a code entry, and wanted to test that. Saved dsdt.dsl, then with iaslME.app I couldnt generate the .aml file because I cant find it. Says everything worked fine, got 1 error (is that ok?), but it didnt output any dsdt.aml file back. I used this app to generate the dsl file and it worked ok.

Mind taking a look please?

Snow 09-03-2009 06:47 AM

Error isn't ok since it doesn't output an aml file m8.

Is it DTGP related? (check log) because if so go back a few pages for a fix.

mormegil 09-03-2009 12:02 PM

You have to insert the code if it's not present. Was the same as me. Just copy and paste the whole "Device (HDEF)" block of code so that it appears under "Device (PCI0)" (i.e. subset of it). Read the guide by King again.

Gurruwiwi 09-03-2009 01:02 PM

1 Attachment(s)
Guys,

Some progress, but not that much.

I've substituted everything under HDEF to be exactly as Kings tutorial PDF.

Checked three or four times, line by line. I save dsdt.dsl, drag to iasl me, and it says

Code:

Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

/Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl  9592: [*** iASL: Read error on source code temp file /Users/bigbang/Desktop/DSDT dsl to aml/Sessions/2009-09-03-125900/dsdt.src ***]
Error    4095 -        syntax error, unexpected $end ^

ASL Input:  /Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl - 9593 lines, 326239 bytes, 4052 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

        All done.
        Enjoy ...

but the only file present in the "sessions" directory is log.txt that reads

Code:

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

/Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl  9592: [*** iASL: Read error on source code temp file /Users/bigbang/Desktop/DSDT dsl to aml/Sessions/2009-09-03-125900/dsdt.src ***]
Error    4095 -        syntax error, unexpected $end ^

ASL Input:  /Users/bigbang/Desktop/DSDT dsl to aml/dsdt.dsl - 9593 lines, 326239 bytes, 4052 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 0 Optimizations


So what am I doing wrong?

attached is the dsdt.dsl with the copied code...

Snow 09-03-2009 01:34 PM

I've tried to mod your dsl file but it even gives me more errors (6) so I'm afraid I cannot help you with this m8.

mormegil 09-03-2009 04:49 PM

1 Attachment(s)
I just force compiled and ignored the warnings. All errors I've corrected.

Gurruwiwi 09-03-2009 08:11 PM

1 Attachment(s)
Thanks Snow and momergil! but it broke the system.

Copied dsdt.aml to root. Rebooted and AppleHDA panic'ed. during boot (just -v)

Reboot again in verbose, no KP, but AppleHDA gave back "assertion 0" error codes, went to desktop, and in desktop, "warm" KP. Just before, I managed to see that device ID is Device ID: 0x10250146, Audio ID: 12 and all ports show up.

In Leo and SL Install stage, it reads

DEVICE ID: 0x1458A002
Audio ID: 12


So, that may be a clue.

Anyway, tried rebooting again, and when the screen goes black to wake up again and show desktop... it flashes black and blues in 5 second intervals, and stays like that, same symptom as my previous attempts with SL.
I go in Leo and put SL in an enclosure, delete dsdt.aml from root and verify disk just in case one of my "power shutdowns" went bad, but drive seems ok.
Tried rebooting with SL in -x and -x32 and -x -x32... same symptom.
So basically, my install broke. Thank God I have a base image of it !
The first and second dsl file I uploaded here, I already tried editing a bit, only below the HDEF entry, just as per first King's tutorial, the rest I didn't dare do.

I will upload in this post an un-edited file from my recently patched aml file that was forced compiled and newHPET using GUI patcher 1.02

Why would this file break my install? and What did it do, that removing it still screws with SL?
I'll try cloning it again and try fresh with this dsdt.aml again...
I have gfx string in com.apple.Boot.plist, but we did nothing in dsdt for gfxs, this symptom happened before and I dont know how to recoup from it.

Ideas?

mormegil 09-03-2009 10:00 PM

Nothing to do with dsdt I think. Perhaps your gfx string that's the issue. I've heard EFI string which works in Leopard might not always work with SL. You're using the plists I posted in this thread correct? Rename to Info.plist and replace the original ones? Repair permissions etc.?

Gurruwiwi 09-03-2009 10:13 PM

I write to you from newly restored SL.

My gfx string worked fine in SL without any extra kexts, every single time. Only after applying the new DSDT it freaked out.

I am not that confident I used the right AppleHDA with the info.plists you provided. I thought best to boot first to see changes, then try with correct AppleHDA. But when I simply copied the DSDT I didnt repair perms.

So, back to SL, will mod the vanilla AppleHDA, replace dsdt.aml you compiled and test.

I would really appreciate it if you were to fix my untouched dsdt.dsl and recompile it. I'm fear of having made a wrong entry that makes errors or something, and would feel more confident about it

But in the meantime I will try this one to check compatibility with a fresh vanilla boot.

thanksssssss :)

UPDATE:

Yay! I survived the reboot! :) - No audio, but at least Audio ID shows up as 12 and not zero. During verbose boot there is no indication of audio kext. I did mod applehda with your plists, will now try your 1.7.1a2 patched for alc889a from page 3

UPDATE 2: Nope, exactly the same. Still no audio devices in system preferences, no warning in verbose. Legacy kexts only contain plist inside right? Off to try vanilla HDA with legacy...

mormegil 09-03-2009 10:52 PM

If you use tmongkol's legacy kexts, make sure to edit the plist and replace all occurrences of "LayoutID" to 12. You don't need the HDAenabler.

Gurruwiwi 09-03-2009 11:27 PM

Sorry to be annoying... Back to Leo, tried another combo, but it KP'ed, and always panics if I try to repair - "repair package" thread. So I'm screwed. Tried with Kext Utilities, third boot round managed to finish without KP. But Snow is gone.

Back to format and restore. I did get all devices mapped! It seems when I manage to show mapped devices, snow kp's and dies.

I'm going to start again, I must be close, just to be sure, I should try your dsdt, legacy kext, no HDA Enabler, and vanilla AppleHDA. Is this right?

vladrxpx 09-03-2009 11:28 PM

hi !
I also have GA-P35-DS3R

I've installed SL and everything works, but I have no sound. no audio input or output device :(

Could you please point me to the right direction to work this one out?

Gurruwiwi 09-03-2009 11:38 PM

Sure, post number one of this very thread. Did you try the steps?

Gurruwiwi 09-04-2009 12:51 AM

moremegil,

Re-installed fresh with your dsdt, vanillaHDA and legacyHDA kext. I can now see all devices

Intel High Definition Audio:

Device ID: 0x10250146
Audio ID: 12
Available Devices:
Internal Microphone:
Connection: Internal
Speaker:
Connection: Internal
External Microphone:
Connection: 1/8-Inch Jack

but still no audio. have same result without editing LayoutID.

Some of the LayoutID's were 889, do I change these to 12 too? I did do it.

Snow 09-04-2009 01:14 PM

Gurru, I've added a small guide so try again and post back with result. Go step by step and let me know if I need to adjust a thing or two.

Good luck lad!

Gurruwiwi 09-04-2009 01:59 PM

Great stuff man!

Question: So you dont need Legacy kexts?

Off to review my dsdt again!

mormegil 09-04-2009 01:59 PM

So you downloaded tmongkol's legacy kext. There should be a few in the package. Only choose one. Then, edit all LayoutID's from 889 or 885 to 12.

Gurruwiwi 09-04-2009 02:17 PM

Yes, I have, I only tried the 3out2in HDA and analog for 889 and 885.

And yeah, one at the time, since they are all named the same

Once I tried all layouID's ( "0", "65647 something", and "889"'s)

In Snow's dsl he has two HDEF entires, I only have one.

Where he reads

Code:

Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.USBE, 0x02)
            Notify (\_SB.PCI0.USE2, 0x02)
            Notify (\_SB.PWRB, 0x02)
            Notify (\_SB.PCI0.HDEF, 0x02)

I have;

Code:

Method (_L0D, 0, NotSerialized)
        {
        }

The other entry is exactly the same

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)
                }
            }

So should I copy this in and recomplie?

And should I try with or without legacy?

(In the donwloaded tutorial folder containing the legacy kext archives, there is an HDAenabler there...)