Help - Search - Members - Calendar
Full Version: DSDT Patcher
InsanelyMac Forum > OSx86 Project > Tutorials (The Genius Bar)
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
olmirror
cool
olmirror
Speedstep works, sound doesn't even after having patched my boot.plist with efistudio. Strange thing is though, that in my system preferences all the options appear, including for the first time optical digital in. But nothing from the speakers.
In my system profiler I get the following under the audio option:

Device ID: 0x1458A002
Audio ID: 12
Available Devices: (blank)

Did you set something in the bios, or resort to any other trick. Thanks again.
roisoft
mmm, i´ve not tested my lineout because i´m using digital out... i´ll test it later....
SMF
QUOTE (roisoft @ Nov 18 2008, 05:05 PM) *
yes, IntelCPU, AppleRTC... and changed Azalia to HDEF , use the vanilla applehda.kext with efistrings, it works fine...


roisoft,

I have an ALC889a (Gigabyte P35-DQ6). Can you describe your changes to DSDT to get it to work with the stock AppleHDA.kext?

Thanks,
SMF
Slice
QUOTE (SMF @ Nov 19 2008, 02:06 PM) *
roisoft,

I have an ALC889a (Gigabyte P35-DQ6). Can you describe your changes to DSDT to get it to work with the stock AppleHDA.kext?

Thanks,
SMF


No EFI or DSDT can make internal binary patch for your codec DeviceID as Taruga patch does.

No news about USB.
Superhai
QUOTE (SMF @ Nov 19 2008, 12:06 PM) *
roisoft,

I have an ALC889a (Gigabyte P35-DQ6). Can you describe your changes to DSDT to get it to work with the stock AppleHDA.kext?

Thanks,
SMF


Change every occurence of AZAL with HDEF.
dakkie
Guys,

i made patch for my DSDT and everythings looks fine for me ... (i think so) AppleIntelCPUPowerManagement is loaded and AppleHPET also so am i ready for 10.5.6 ? smile.gif
Click to view attachment

but only thing is that Xbench shows up my CPU results 50% lower then before DSDT was installed with Chameleon ..
please let me know that is OK or something is missed by myself doing all this stuff ??

Before:
Click to view attachment

After:
Click to view attachment

greetings
Dakkie
mackerintel
QUOTE (dakkie @ Nov 19 2008, 01:32 PM) *
but only thing is that Xbench shows up my CPU results 50% lower then before DSDT was installed with Chameleon ..
please let me know that is OK or something is missed by myself doing all this stuff ??

Probably your processor is speedstepped or throttled. I would remove AppleIntelCPUPowerManagement and use superhai's GenericCPUPowerManagement. Or you may want to investigate your DSDT to try to find a way to make AppleIntelCPUPowerManagement work correctly.
dakkie
QUOTE (mackerintel @ Nov 19 2008, 03:06 PM) *
Probably your processor is speedstepped or throttled. I would remove AppleIntelCPUPowerManagement and use superhai's GenericCPUPowerManagement. Or you may want to investigate your DSDT to try to find a way to make AppleIntelCPUPowerManagement work correctly.



Before i've loaded AppleIntelCPUPowerManagement i use IntelEnhancedSpeedStep and everything was OK.I've removed IntelEnhancedSpeedStep so CPU isn't speedstepped or throttled. I just wondering what should i investigate in DSDT to find solution.. Maybe someone of you smart guys will help me ..i post my DSDT.aml if this will help

Click to view attachment
SMF
QUOTE (Superhai @ Nov 19 2008, 07:11 AM) *
Change every occurence of AZAL with HDEF.


Superhai,

Can do but won't I still have to change my pinconfig to get it to work properly?

Slice,
Stock AppleHDA.kext does not need binary patch for ALC889a.

SMF
roisoft
The KING explains the method here (end of post), great guide btw smile.gif
SMF
QUOTE (roisoft @ Nov 19 2008, 10:37 AM) *
The KING explains the method here (end of post), great guide btw smile.gif


roisoft,

So you are using a stock AppleHDA.kext and using DSDT to set the pinconfig for your system? I can give that a try though I've not been entirely successful modding an AppleHDA for my ALC889a on the Gigabyte P35-DQ6.

Thanks,
SMF
Chris17
QUOTE (roisoft @ Nov 18 2008, 11:05 PM) *
yes, IntelCPU, AppleRTC... and changed Azalia to HDEF , use the vanilla applehda.kext with efistrings, it works fine...


Hi roisoft,

would you post your audio EFistring, since I have exactly the same mobo and revision.

Regards,
Chris
roisoft
use efistudio , Osx86tools or gfxutil, select HDEF and write to com.apple.boot.plist, that´s all...

i´m using digital out and it works fine but i dont know the rest of the outputs...
snackole
roisoft are using HDAEnabler or any other injecter for audio or just efi string and stock AppleHDA?
roisoft
only efistring and stock AppleHDA.
SMF
QUOTE (roisoft @ Nov 19 2008, 07:44 PM) *
only efistring and stock AppleHDA.


roisoft,

Sorry for the 20 questions but I'm trying to learn....

I've modified my DSDT.aml by changing AZAL to HDEF and used an EFI string and the stock AppleHDA.kext loads but I get no sound. I most likely need to use the appropriate pinconfig. Are you using a pinconfig specific to your ALC889a and board? If so where are you putting it - your efistring or in your DSDT.aml?

Thanks,
SMF
snackole
roisoft did you modify the stock AppleHDA.kext? If so could you post a copy of it?
roisoft
I´m trying to learn too smile.gif


I´ve injected the pinconfig via DSDT but still doesn´t work because i don´t have all the info. See The KING´s thread...

this is the info, i ´ve injected till the moment, i get no errors whith IASL but still doesn´t work properly

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

            Method (_DSM, 4, NotSerialized)    
                {                
                    Store (Package (0x08)
                        {
                            "codec-id",
                            Buffer (0x04)
                            {
                                0x89, 0x08, 0xec, 0x10
                            },
                            
                            "layout-id",
                            Buffer (0x04)
                            {
                                
                                0x0c, 0x00, 0x00, 0x00
                            },
                            
                            "device-type",
                            Buffer (0x011)
                            {
                                "ALC889a"
                            },
                            
                            "PinConfigurations",
                            Buffer (0x20)
                            {
                                 /* 0000 */   0x50, 0x70, 0x21, 0x01, 0x40, 0x01, 0x13, 0x90,
                                 /* 0008 */   0x20, 0x30, 0x81, 0x01, 0x41, 0x40, 0x01, 0x01,
                                 /* 0010 */   0x30, 0xe0, 0xc5, 0x01, 0x60, 0xe0, 0x45, 0x01,
                                 /* 0018 */   0x0f, 0x00, 0x00, 0x40, 0x0f, 0x00, 0x00, 0x40,
                                 /* 0020 */   0x10, 0x01, 0xa0, 0x90, 0x11, 0x01, 0xa0, 0x90
                            }
                            
                        }, Local0)
                    Return (Local0)        
                }    
            }
stellarola
QUOTE (roisoft @ Nov 20 2008, 12:11 AM) *
use efistudio , Osx86tools or gfxutil, select HDEF and write to com.apple.boot.plist, that´s all...

i´m using digital out and it works fine but i dont know the rest of the outputs...


ALC885 or ALC889a will work natively with Apple's unmodded HDA kexts. Only Digitial out works properly. I think you can get analog line out from the mic in port. It's strange, but works.

-Stell
roisoft
QUOTE (stellarola @ Nov 20 2008, 02:28 AM) *
ALC885 or ALC889a will work natively with Apple's unmodded HDA kexts. Only Digitial out works properly. I think you can get analog line out from the mic in port. It's strange, but works.

-Stell


Yeah stell, ur right, i can confirm, line out works from the mic in port... blink.gif
SMF
Same here on the mic port giving sound out. Of course in system preferences external mic is listed as an output device. If I put the pinconfig data in my efistring it shows up in system profiler. If I put it in DSDT it does not.

SMF
fassl
@roisoft: at the end of the _DSM Method it should be:

CODE
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)


and yeah you need the DTGP Method somewhere:

CODE
    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }
JackHair
I guess the AppleIntelCPUPowerManagement.kext can't load on AMD systems? After patching DSDT I can load the AppleHPET.kext but AppleIntelCPUPowerManagement.kext gives a KP right away. Or is it possibly caused by edited files?

Great work anyway, it did get sleep working nicely!
kizwan
QUOTE (kizwan @ Nov 18 2008, 08:22 PM) *
Hi,
With this release I'm able to make my PC sleep & wake for the first time since I join OSX community. So far no problem found & performance as it should be. I choose vista emulation when compiling dsdt_fixed.txt.

Thanks. smile.gif

kizwan


It look like my PC only can wake from sleep if I boot OSX with -v. With normal boot I got kernel panic when waking up. For now, I'm not yet found any error message in log file. Same result if I compile dsdt_fixed.txt with Darwin emulation. Can anybody help me how to troubleshoot this? I put my ioreg below if anybody want to look into it. Thanks. smile.gif

By the way, I have use DSDT patcher Version 1.0.1e on this machine:-
QUOTE
Intel Core 2 Quad Q9300 2.50GHz
Intel Desktop DG33TL
8GB Kingston DDR2
Sapphire ATi Radeon HD3870 512MB DDR4
500GB WDC SATA

AppleIntelCPUPowerManagement.kext loaded successfully. All cores (4 cores) working even before applying this patch.

I can't find any apps that can detect processor temperature (including my pc). Any suggestion?

kizwan
bofors
QUOTE (kizwan @ Nov 20 2008, 04:18 AM) *
I can't find any apps that can detect processor temperature (including my pc). Any suggestion?


What have you tried? "Temperature Monitor" application work for me.
kizwan
QUOTE (bofors @ Nov 20 2008, 05:37 PM) *
What have you tried? "Temperature Monitor" application work for me.


I have tried Temperature Monitor & iStat Pro. Both only detect harddisk temperature on my PC.
roisoft
QUOTE (fassl @ Nov 20 2008, 09:21 AM) *
@roisoft: at the end of the _DSM Method it should be:

CODE
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)


and yeah you need the DTGP Method somewhere:


Yeah man ur right. It works without strings.... but my pinconfig is not the correct one, so i need to try another config but it´s great anyway thanks smile.gif

CODE

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

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xec, 0x10
},

"layout-id",
Buffer (0x04)
{

0x0c, 0x00, 0x00, 0x00
},

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

"PinConfigurations",
Buffer (0x20)
{
/* 0000 */ 0x50, 0x70, 0x21, 0x01, 0x40, 0x01, 0x13, 0x90,
/* 0008 */ 0x20, 0x30, 0x81, 0x01, 0x41, 0x40, 0x01, 0x01,
/* 0010 */ 0x30, 0xe0, 0xc5, 0x01, 0x60, 0xe0, 0x45, 0x01,
/* 0018 */ 0x0f, 0x00, 0x00, 0x40, 0x0f, 0x00, 0x00, 0x40,
/* 0020 */ 0x10, 0x01, 0xa0, 0x90, 0x11, 0x01, 0xa0, 0x90
}

}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
}



cparm
QUOTE (fassl @ Nov 20 2008, 09:21 AM) *
@roisoft: at the end of the _DSM Method it should be:

CODE
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)


and yeah you need the DTGP Method somewhere:

CODE
    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }


thank, i have removed "DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))" because the compiler give me an error (Object does not exist ^ (DTGP)), really normal w/o a DTGP Method

i will try to re-compile it with the DTGP Method, but anyway, it's work for me without any DTGP entry
dakkie
Guys

what can be wrong if AppleIntelCPU blahblah if it is not speedsteping CPU and stopped CPU at idle frequency (1GHz). after DSDT patch AppleIntelCPUPowerManagement.kext loaded successful. everything looks fine no KP and other shits but CPU stuck with 1 Ghz !

i've compare with IntelSpeedStep blocked also at 1Ghz and results from Geekbencha are similar almost.

AppleIntelCPU = 1355
IntelSpeedStep (1ghz) = 1407

Guys what should be set to make it working ? any new version of AppleACPIPlatform ? or anything else taht is requierd by AppleIntelCPUPowerManagement.kext ?

please help
robi62
Hi i patched my system put dsdt aml file in my leopard disk then I installed applecpumanagment kext but i still get panic it wont boot.
I am doing anything wrong?????
In which folder i have to put dsdt file......
I also get when booting up sleepimage has garbage???????
any thoughts???????

This is my dsdt sml fileClick to view attachment
BlackCH
I finally got the DSDT dump to compile on my HP6720s (thanks to JackHair who provided me with a dump from an older BIOS)...
AppleIntelCPUPowerManagement.kext and AppleRTC.kext (v 1.2.2) load without KP. I also added some lines (suggested by Superhai) to get the backlight working; now also AppleBacklight.kext is loaded and after removing ClamshellDisplay.kext the screen goes off when the lid is close, and I can control-more or less- the brightness (had to use functionflip.prefpane to set up new keys).
Now, the thing is the brightness doesnt decrease/increase smoothly; maybe this could be fixed by adding the right data on the AppleBacklight.kext plist.

IOREG shows:

CODE
o PNLF  <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain 7>
    | | | {
    | | |   "_UID" = "10"
    | | |   "compatible" = <"backlight">
    | | |   "ApplePanelRawBrightness" = 494
    | | |   "ApplePanelRawTable" = <00007a007a007a007a007a007a007a007a007c007e00800082008400860088008a008c008e00
200940$
    | | |   "name" = <"APP0002">
    | | |   "_STA" = 11
    | | | }
    | | |
    | | +-o AppleIntelPanelA  <class AppleIntelPanelA, !registered, !matched, active, busy 0, retain 5>
    | |     {
    | |       "IOProbeScore" = 2000
    | |       "IOProviderClass" = "IOACPIPlatformDevice"
    | |     [b]  "ApplePanels" = {"F10P9c5f"=<0000003e01070128>,"F10T9c68"=<00100000001e00250031003d004f0067008300a900d901$[/b]
    | |       "IODisplayParameters" = {"brightness"={"min"=0,"max"=128},"commit"={"reg"=0}}
    | |       "CFBundleIdentifier" = "com.apple.driver.AppleBacklight"
    | |       "IOMatchCategory" = "IODisplayParameters"
    | |       "IONameMatched" = "backlight"
    | |       "IOClass" = "AppleIntelPanelA"
    | |       "IONameMatch" = "backlight"



on the AppleBacklight's plist:

CODE
"F10P9c5f"=<0000003e 01070128>
"F10T9c68"<00100000 001e0025 0031003d 004f0067 008300a9 00d90115 016501e9 024f02f7 03cf>


Are this values EDID data? It seems so but is much shorter than the EDID dump I have from my display:

CODE
00FFFFFF FFFFFF00 4CA34544 00000000 00110103 80211578 0A87F594 574F8C27 27505400 00000101 01010101 01010101 01010101 0101121B 00885020 10301030 13004BCF 10000019 0000000F 00000000 00000000 00238702 64020000 00FE0053 414D5355 4E470A20 20202020 000000FE 004C544E 31353458 332D4C30 310A0026


I tryed editing the min and max values on the plist but that doesnt work

Some ideas about what section of the EDID must be added inside the plist?

BTW, I also created a display profile under S/L/Displays/Override/ with this EDID. Doesnt make any difference either
Superhai
QUOTE (BlackCH @ Nov 20 2008, 01:23 PM) *
I finally got the DSDT dump to compile on my HP6720s (thanks to JackHair who provided me with a dump from an older BIOS)...
AppleIntelCPUPowerManagement.kext and AppleRTC.kext (v 1.2.2) load without KP. I also added some lines (suggested by Superhai) to get the backlight working; now also AppleBacklight.kext is loaded and after removing ClamshellDisplay.kext the screen goes off when the lid is close, and I can control-more or less- the brightness (had to use functionflip.prefpane to set up new keys).
Now, the thing is the brightness doesnt decrease/increase smoothly; maybe this could be fixed by adding the right data on the AppleBacklight.kext plist.

IOREG shows:
CODE
"F10P9c5f"=<0000003e 01070128>
"F10T9c68"<00100000 001e0025 0031003d 004f0067 008300a9 00d90115 016501e9 024f02f7 03cf>


Why should it be edid data? Anyway, it is not, i believe they are some control words for the panel you have. the F10P9c5f is composed of two parts, the first part F10P I am not sure yet of the meaning, but the second is matching to the display product ID.
robi62
I think i found out why I get kp bios of my dell does not enable hpet but I thought patcher was made for this....
Am i right??????
Slice
I have some new information but I don't know how to use it.
QUOTE
Returning the EDID Structure for the LVDS Panel via ACPI
When using ACPI video extensions, the EDID for an integrated panel without an
actual DDC connection, is available through the _DDC method of the display. For
example, SB.PCI.VGA.LCD._DDC(0) using the namespace example above.
Multiple block E-EDID’s are possible by using an EDID 1.3 structure together with
extensions such as the DI-EXT block.
Retrieving the Backlight Control Settings for the LVDS Panel via ACPI
When using ACPI video extensions, the _BCL, _BCM, and _BQC methods shall be
provided allowing the control necessary for backlight operation.
Selecting the Display Output via ACPI
If the MXM Output Device structure bit 34 indicates system methods are used for
output switching then all necessary GPIO switching shall be performed inside _DSS
in order to select the targeted display output.
BlackCH
QUOTE (Superhai @ Nov 20 2008, 01:35 PM) *
Why should it be edid data? Anyway, it is not, i believe they are some control words for the panel you have. the F10P9c5f is composed of two parts, the first part F10P I am not sure yet of the meaning, but the second is matching to the display product ID.


I dont know; was just a guess. I readed somewere you could insert your EDID data onto that kext...
Still looking for a solution to get a smooth brightness control; currently is jumping from 100% to 0% in two or tree steps...
Thanks for the info anyway!
cipz
hi fassl,,

looks like i've succeeded using your patch

im using 4cores right now, use appleintelcpupm, apple rtc with no kernel panic

but... i can't shutdown my system right now

sleep and restart working, but shutdown no..

why is it? n can you help me solved it?

i'm using your patcher ver 1.e

try all emulation (darwin, xp, vista) all results the same

thanks..

Edited : Shutdown fix done by OpenHaltRestart.kext from psy****.com tongue.gif
SMF
fassl, roisoft,

Where can I get more info on the DTGP method? I don't seem to see it in the ACPI documentation and I'm not clear what it's doing or if I mearly insert the code verbatim. As I said earlier I haven't been able to use DSDT to insert the pinconfig.

However, when using a device string I can insert the pinconfig fine but it doesn't change the operation of the stock kext. With my ALC889a I still only get analog sound out of the rear mic port using an unmodified AppleHDA.kext. I'm still unclear if I can get my sound working properly with pinconfig data and the stock kext.

Thanks again,
SMF
pere
QUOTE (Slice @ Nov 20 2008, 04:30 PM) *
I have some new information but I don't know how to use it.


For Sony vaio users:
I have found sony uses the _DCC in the way _DCS, maybe we have to see how to adapt the upcoming video patches to the Sony "special" nomenclature...

CODE
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01),
0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04),
0x01), ^^TV._DCS)
UDGS ()
coconup
so is there any way to avoid that 200+ errors and no output file I get?
roisoft
ok, i use this code

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

                Method (_DSM, 4, NotSerialized)    
                  {                
                    Store (Package (0x08)
                        {
                            "codec-id",
                            Buffer (0x04)
                            {
                                0x89, 0x08, 0xec, 0x10
                            },
                            
                            "layout-id",
                            Buffer (0x04)
                            {
                                
                                0x79, 0x03, 0x00, 0x00
                            },
                            
                            "device-type",
                            Buffer (0x011)
                            {
                                "ALC889a"
                            },
                            
                            "PinConfigurations",
                            Buffer (0x20)
                            {
                                 /* 0000 */   0x10, 0x44, 0x11, 0x01, 0x20, 0x14, 0x01, 0x01,
                                 /* 0008 */   0x40, 0x4C, 0x21, 0x02, 0x50, 0x34, 0x81, 0x01,
                                 /* 0010 */   0x60, 0x9C, 0xA1, 0x02, 0xF0, 0x61, 0x4B, 0x01
                            }
                            
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))    
                    Return (Local0)        
                }    
                
                Method (DTGP, 5, NotSerialized)
                {
                    If (LEqual (Arg0, Buffer (0x10)
                                {
                                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                                }))
                        {
                            If (LEqual (Arg1, One))
                            {
                                If (LEqual (Arg2, Zero))
                                {
                                    Store (Buffer (One)
                                        {
                                            0x03
                                        }, Arg4)
                                    Return (One)
                                }

                                If (LEqual (Arg2, One))
                                {
                                    Return (One)
                                }
                            }
                        }


I´ve added plist for AppleHDAcontroller & AppleHDAPlatform to the stock AppleHda.kext , this way i have mic+speakers+spdif (lineout=internal speakers though) (no strings or injectors).


P35_DS4





SMF
roisoft,

Thank you very much. I recognize some of your pinconfig values - it would appear that the ALC889a on our two gigabyte boards is setup pretty much the same. I'll give it a go when I'm back at home.

Would you mind providing your plists as well?

Thanks,
SMF
roisoft
the P35_DS4 link contains the DSDT and the AppleHDA


thank you fassl !! ( once again smile.gif)
Superhai
QUOTE (Slice @ Nov 20 2008, 04:30 PM) *
I have some new information but I don't know how to use it.


I plan to make a kext that uses acoi control for backlight instead of the hw control of applebacklight, but for the moment i dont have time for that one yet.
Trauma!
QUOTE (roisoft @ Nov 20 2008, 06:44 PM) *
the P35_DS4 link contains the DSDT and the AppleHDA
thank you fassl !! ( once again smile.gif)


Thanks a lot roisoft !!! wink.gif

On brend new EP45-DS4 :

I've replaced all AZAL entries by HDEF in my DSDT, and then I've used your dsdt.dsl file to copy the ALC889A part into mine.

It works like a charm !! No string no HDAenabler and I've got sound working.

Thanks again for that.
ac3bcn
QUOTE (roisoft @ Nov 20 2008, 06:44 PM) *
the P35_DS4 link contains the DSDT and the AppleHDA
thank you fassl !! ( once again smile.gif)

Thanks Roisoft.
This is my report :
I've replaced AZAL with HDEF entries , and added the pin configuration from your dsdt.dsl file in my dsdt_fixed.txt file and recompile.
Then I replaced in my /Extra/Extensions folder LegacyHDAController and LegacyHDAPlatformDriver only plist by Stickpin (http://forum.insanelymac.com/index.php?showtopic=129058) with yours.

The result is:
Sound working in my GA EP35-DS3P (ALC889a), NO HDAenabler, NO ALCinject, NO modified AppleHDA and No EFI strings
I'm using the Original Vanilla AppleHDA.kext without any modification.
I've got only this message on System.log at startup

macpro31-de-casa kernel[0]: Sound assertion "0 != widget->setUnsolicited ( true )" failed in "/SourceCache/AppleHDA/AppleHDA-157.1.24/AppleHDA/AppleHDACodecGeneric.cpp" at line 830 goto handler

Thanks a lot again.
robi62
This is my io reg txt does not say anything about hpet thats why is not working for me
I also attach dsdt file

Click to view attachment

Click to view attachment
THe KiNG
I finally fixed sleep on my lappie!

The problem was on USB....
The fix is simple, same as for WAK method:

If u look on DSDT under all USB entry u will see:
QUOTE
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0xYZ, 0xYZ))
}

Now search for Method (GPRW.... and change on the end that: Return (PRWP or whatever u have) to:
CODE
Return (Package (0x02)
        {
            Zero,
            Zero
        })


Still i have to use modded kexts for ehci/uhci w/o them my lappie still sleep fine but on wake I lose UHCI devices(BT and fingerprint sensor)

About EHCI kext fixed, I really hate those ownership debug message, dunno why most of the dev's like to add that crap debug on kexts, imo is easy to do 2 ver. normal/debug or to add a bolean in plist to enable/disable that feature...

L.E. Thanks a lot Slice for the edited versions of the kexts me and my system log are very happy smile.gif
BTW I'm still waiting for some answers about those USB fixes, since your sources are not available dunno what really does your kexts, maybe we can add those fixes on DSDT, or at least we can try...

L.L.E Last night I forgot(tired) to tell about: Device (PWRB)...e.g PoWeRButton I noticed that is missing on my DSDT so I add it b/c on MB DSDT there are also other entry on USB devices that point to it.
So if you don't have it search for : Device (SLPB) and add it over/under it, should look like this:
CODE
Scope (_SB)
    {
        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
        }

        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E"))
            Method (_PRW, 0, NotSerialized)
            {
                Return (Package (0x02)
                {
                    0x0B,
                    0x04
                })
            }
        }
    }

Now search for Method (_Lxy....) you will see all USB devices there, then under each UHCI one add Notify (\_SB.PWRB, 0x02), as for EHCI entry I prted entire entry from MB, should look like this:
CODE
Scope (_GPE)
    {
        Method (_L03, 0, Serialized)
        {
            Notify (\_SB.PCI0.UHC1, 0x02)
            Notify (\_SB.PWRB, 0x02)
        }

        Method (_L04, 0, Serialized)
        {
            Notify (\_SB.PCI0.UHC2, 0x02)
            Notify (\_SB.PWRB, 0x02)
        }

        Method (_L0C, 0, Serialized)
        {
            Notify (\_SB.PCI0.UHC3, 0x02)
            Notify (\_SB.PWRB, 0x02)
        }

        Method (_L0E, 0, Serialized)
        {
            Notify (\_SB.PCI0.UHC4, 0x02)
            Notify (\_SB.PWRB, 0x02)
        }

        Method (_L05, 0, Serialized)
        {
            Notify (\_SB.PCI0.UHC5, 0x02)
            Notify (\_SB.PWRB, 0x02)
        }

        Method (_L0D, 0, Serialized)
        {
            If (\_SB.PCI0.EHC1.PMES)
            {
            Store (0x01, \_SB.PCI0.EHC1.PMES)
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.PWRB, 0x02)
            }

            If (\_SB.PCI0.EHC2.PMES)
            {
            Store (0x01, \_SB.PCI0.EHC2.PMES)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PWRB, 0x02)
            }
        }

The entry on EHCI one seems to fix sleep on it so no more need for ehcisleepenabler, at least for me.
BTW if you have HDEF on those methods remove it, or it could broke your sleep!
Another tip, if you like as example to wake your notebook/desktop using mouse or keyboard, identify what USB port it use(from ioreg) and on DSDT change on that USB entry PWRB to SLPB smile.gif

Enjoy!
cparm
QUOTE (trauma23 @ Nov 20 2008, 10:37 PM) *
Thanks a lot roisoft !!! wink.gif

On brend new EP45-DS4 :

I've replaced all AZAL entries by HDEF in my DSDT, and then I've used your dsdt.dsl file to copy the ALC889A part into mine.

It works like a charm !! No string no HDAenabler and I've got sound working.

Thanks again for that.



i confirme, no more hdaenabler or audio efi string is needed smile.gif
SMF
Well, I´ve also modified the plist for AppleHDAcontroller & AppleHDAPlatform in the stock AppleHda.kext and modified my DSDT and I've got sound. System Preferences shows inputs and outputs that match what I put in the plists. I only have two issues. My line in doesn't show in System Profiler and I get six

Sound assertion "0 != widget->setUnsolicited ( true )" failed in "/SourceCache/AppleHDA/AppleHDA-157.1.24/AppleHDA/AppleHDACodecGeneric.cpp" at line 830 goto handler

error messages during startup.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.