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)

ajacocks 09-06-2009 08:28 AM

2 Attachment(s)
Just like others here, I'm trying to fix a silent 10.6 machine. My machine is a Clevo M570RU-U, with an ICH8M, and a Realtek 883 codec. I've been through TheKing's procedure to create a patched AppleHDA.kext, adapted to Snow Leopard with the excellent information in this thread. The machine runs 10.6 32bit, since I need functional VMware Fusion.

I tried the easy solution of VoodooHDA.kext, but that does nothing for me, and 'voodoohelper -dump' returns the 'error: IORegistryEntryGetPath returned 0x10000003' error that indicates that Voodoo HDA found no devices functional.

My issue is that I don't see any audio devices, in System Profiler, and, of course, there are no input or output devices available under System Preferences/Sound. This machine never ran 10.5, so I don't have exiting functional codecs to work from.

I am attaching the source for my dsdt.aml, and all the items that were necessary to follow TheKing's document, and the resultant Info.plist files. I'm also attaching the codec dumps. Last, I'm attaching a screen capture from my System Profiler, Audio section.

If anyone has time, and is willing to take a look, it would be greatly appreciated.

Thanks!

Snow 09-06-2009 09:39 AM

Hi m8,

As the guide suggests this is for 889a and even then some people have issues with that codec so for the moment I cannot help you with that.
As for VM I use Parallels 5 in Snow Leopard 64bit running Windows 7 64bit without issues (except maybe Aero interface enabling/disabling whenever it feels liek it)
I have encoded 2 vids with ConvertXtoDVD (the reason I need a VM) and the output was perfect.

I'll take a peek at your file but cannot promise anything (noob at this)

Parallels 5 in Snow Leopard 64bit running Windows 7 64bit

http://i27.tinypic.com/90u445.png

mormegil 09-06-2009 01:21 PM

Quote:

Originally Posted by Gurruwiwi (Post 33716)
Man, I did nothing except normal reboot ...

I go get the codecs

The prob might be with codec address (the leading hex that I asked you to change). One time it works with 3 and next it works with 0. Try this:

Quote:

/* Sample */
"ConfigData",
Buffer (0xA0)
{
/* 0000 */ 0x21, 0x87, 0x1c, 0x40, 0x21, 0x87, 0x1d, 0x90,
/* 0008 */ 0x21, 0x87, 0x1e, 0xA1, 0x21, 0x87, 0x1f, 0x01,
/* 0010 */ 0x21, 0x97, 0x1c, 0x50, 0x21, 0x97, 0x1d, 0x90,
/* 0018 */ 0x21, 0x97, 0x1e, 0xA1, 0x21, 0x97, 0x1f, 0x02,
/* 0020 */ 0x21, 0xa7, 0x1c, 0x60, 0x21, 0xa7, 0x1d, 0x30,
/* 0028 */ 0x21, 0xa7, 0x1e, 0x81, 0x21, 0xa7, 0x1f, 0x01,
/* 0030 */ 0x21, 0xb7, 0x1c, 0x70, 0x21, 0xb7, 0x1d, 0x40,
/* 0038 */ 0x21, 0xb7, 0x1e, 0x21, 0x21, 0xb7, 0x1f, 0x02,
/* 0040 */ 0x21, 0x47, 0x1c, 0x10, 0x21, 0x47, 0x1d, 0x40,
/* 0048 */ 0x21, 0x47, 0x1e, 0x11, 0x21, 0x47, 0x1f, 0x01,
/* 0050 */ 0x21, 0x57, 0x1c, 0x20, 0x21, 0x57, 0x1d, 0x10,
/* 0058 */ 0x21, 0x57, 0x1e, 0x01, 0x21, 0x57, 0x1f, 0x01,
/* 0060 */ 0x21, 0x67, 0x1c, 0x30, 0x21, 0x67, 0x1d, 0x60,
/* 0068 */ 0x21, 0x67, 0x1e, 0x01, 0x21, 0x67, 0x1f, 0x01,
/* 0070 */ 0x21, 0x77, 0x1c, 0x80, 0x21, 0x77, 0x1d, 0x20,
/* 0078 */ 0x21, 0x77, 0x1e, 0x01, 0x21, 0x77, 0x1f, 0x01,
/* 0080 */ 0x21, 0xe7, 0x1c, 0x90, 0x21, 0xe7, 0x1d, 0x61,
/* 0088 */ 0x21, 0xe7, 0x1e, 0x4b, 0x21, 0xe7, 0x1f, 0x01,
/* 0090 */ 0x21, 0xf7, 0x1c, 0xa0, 0x21, 0xf7, 0x1d, 0x01,
/* 0098 */ 0x21, 0xf7, 0x1e, 0xcb, 0x21, 0xf7, 0x1f, 0x01
},
Insert it in your dsdt above "layout-id". It's for my codec (alc888). You'll have to convert your "ConfigData" in plist into it. Just separate them into bytes and add "0x" in front.

Quote:

Example: 21871c40 -> 0x21, 0x87, 0x1c, 0x40
Also
Quote:

Buffer (0xA0)
needs to be changed. Mine has a total of 160 bytes if you count above. So 160 (decimal) = A0 (hex)

Lastly
Quote:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
Increase the size "0x08" if you're getting compile error.

What this does is hopefully set your codec address in dsdt so it stays fixed. Try codec address 0 thru 3 and report back.

mormegil 09-06-2009 01:39 PM

@: ajacocks

Why are your kexts empty?

Your codec 10ec0883 is not natively supported. You'll have to patch the AppleHDA binary. You want to replace a supported codec such as 10ec0885 (alc885,889a).

So open up the AppleHDA binary in AppleHDA.kext/Contents/MacOS with hex edit.

Search for "8508ec10" (byte-flip of "10ec0885") and replace with "8308ec10" (byte-flip of "10ec0883").
There should be 4 instances in the SL kext.

Gurruwiwi 09-06-2009 02:31 PM

1 Attachment(s)
Holy sh...

Ok, off to work on that right now!

EDIT: LOL.. morm, I just booted into SL to start editing DSDT again, did nothing at all except pop in the SL HDD, no sound, but audio is fully mapped, and present in system preferences, active audio icon in taskbar !!

Tried playing around with agg.devices... no sound. Seems the built in audio's master volume is completely down and greyed out.

Going to try to edit that hex in, hope I do it right...

mormegil 09-06-2009 03:00 PM

If they are in sound pref then there should be sound! Have you tried plugging a headphone or mic to test? Internal speakers might be too soft to hear.

edit: My master volume in aggregate device is also greyed out for every port. Doesn't really matter.

Gurruwiwi 09-06-2009 03:07 PM

Quick question. Do I just copy the one you pasted into my dsdt then modify ConfigData to match it, or the other way around?

ajacocks 09-06-2009 03:08 PM

1 Attachment(s)
mormegil,

Ahhh...thanks for filling me in, about the codec. Is there nothing else that needs doing, to patch the codec, other than changing the identifier from 10ec0885 to 10ec0883? That seems very simple. I'll give that a shot, though, and see what happens.

EDIT: No luck with the edited codec, either. I think something's wrong with my DSDT.aml, though, since the System Profiler still shows no device information, as in that picture that I uploaded. Do you see anything that I missed?

My kexts aren't really empty, I just left out everything but the Info.plist files, to save space in the upload. I have uploaded my entire AppleHDA.kext file, attached to this post. How do my changes look? I used layout 12, as the guide suggested.

Thanks!

mormegil 09-06-2009 03:46 PM

@ Gurruwiwi

Doesn't matter. As long as it appears as above but with your configdata instead.

@ ajacocks

You seem to be doing fine with King's guide. I see all the required files in your attached package.
Once you're done patching the binary, you'll have to fix the plists. Your codec id in decimal should be changed to 283904131.
Your dsdt is fine. All it does is inject your audio. As long as you see an audio device in Sys Profiler it's all good.

Edit: I just saw the pic u uploaded. It's supposed to be that way if you haven't got the working plists.

Gurruwiwi 09-06-2009 03:56 PM

Morm, while I was waiting I ran a small test. I think it can be useful for others to know, to not judge a KP on its own.

I cyclically rebooted in verbose, changing nothing. There is a sort of a pattern.

First reboot from "mapped - sound- but no audio heard" status


- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 1x set of "Assertion "0"" errors during boot - no mapping
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- KP
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound
- 1x set of "Assertion "0"" errors during boot - no mapping
- 2x set of "Assertion "0"" errors during boot - mapping - audio shown - no sound

Seems something is being re-set... could it be a similar CMOS reset bug?

Going to try the DSDT and ConfigData, just waiting for your input as it looks like a hell of a lot of work...

EDIT: You posted while I was typing. Going to try it now.

Forgot to mention. When audio is mapped, I tried plugging in headphones and microfphone. Mic does nothing, but headphone makes system profiler hang. It does seem to try switching devices, but nothing happens. Beach ball spins round, OS stops responding, have to force quit profiler, but it struggles to do it. Once removed it manages to force quit, and OS response is back