PDA

View Full Version : [Help] ALC888 on SL using DSDT+LegacyHDA


Andrew180
10-25-2009, 05:52 PM
Hi people! I'm trying to make my ALC888 audio work using patched DSDT and LegacyHDA.kext in /Extra/Extensions. I followed How_to_patch_DSDT_with_LAN_and_HDEF_functions_incl uding_LegacyHDA.zip from this (http://www.insanelymac.com/forum/index.php?showtopic=140941) thread but i'm not able to compile my DSDT:

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090903 [Oct 2 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Users/Andrew/Desktop/DSDT.dsl 463: CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)
Optimize 6057 - NamePath optimized ^ (_Y00._MIN)

/Users/Andrew/Desktop/DSDT.dsl 464: CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)
Optimize 6057 - NamePath optimized ^ (_Y00._LEN)

/Users/Andrew/Desktop/DSDT.dsl 477: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 485: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 517: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 549: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 589: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 798: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 920: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1010: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1100: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1190: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1312: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1401: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1425: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 1449: LNKA,
Error 4063 - Object does not exist ^ (LNKA)

/Users/Andrew/Desktop/DSDT.dsl 2267: CreateByteField (BUF0, \_SB.PCI0.PX40.FDC0._CRS._Y01._MIN, IOLO)
Optimize 6057 - NamePath optimized ^ (_Y01._MIN)

/Users/Andrew/Desktop/DSDT.dsl 2269: CreateByteField (BUF0, \_SB.PCI0.PX40.FDC0._CRS._Y01._MAX, IORL)
Optimize 6057 - NamePath optimized ^ (_Y01._MAX)

/Users/Andrew/Desktop/DSDT.dsl 2367: CreateByteField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y02._MIN, IOLO)
Optimize 6057 - NamePath optimized ^ (_Y02._MIN)

/Users/Andrew/Desktop/DSDT.dsl 2369: CreateByteField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y02._MAX, IORL)
Optimize 6057 - NamePath optimized ^ (_Y02._MAX)

/Users/Andrew/Desktop/DSDT.dsl 2371: CreateWordField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y03._INT, IRQW)
Optimize 6057 - NamePath optimized ^ (_Y03._INT)

/Users/Andrew/Desktop/DSDT.dsl 2540: CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._MIN, IOLO)
Optimize 6057 - NamePath optimized ^ (_Y04._MIN)

/Users/Andrew/Desktop/DSDT.dsl 2542: CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._MAX, IORL)
Optimize 6057 - NamePath optimized ^ (_Y04._MAX)

/Users/Andrew/Desktop/DSDT.dsl 2544: CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._LEN, IOLE)
Optimize 6057 - NamePath optimized ^ (_Y04._LEN)

/Users/Andrew/Desktop/DSDT.dsl 2545: CreateWordField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y05._INT, IRQW)
Optimize 6057 - NamePath optimized ^ (_Y05._INT)

/Users/Andrew/Desktop/DSDT.dsl 2693: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._MIN, IOLO)
Optimize 6057 - NamePath optimized ^ (_Y06._MIN)

/Users/Andrew/Desktop/DSDT.dsl 2695: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._MAX, IORL)
Optimize 6057 - NamePath optimized ^ (_Y06._MAX)

/Users/Andrew/Desktop/DSDT.dsl 2697: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._LEN, IOLE)
Optimize 6057 - NamePath optimized ^ (_Y06._LEN)

/Users/Andrew/Desktop/DSDT.dsl 2698: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y07._MIN, IOEL)
Optimize 6057 - NamePath optimized ^ (_Y07._MIN)

/Users/Andrew/Desktop/DSDT.dsl 2700: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y07._MAX, IOML)
Optimize 6057 - NamePath optimized ^ (_Y07._MAX)

/Users/Andrew/Desktop/DSDT.dsl 2702: CreateWordField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y08._INT, IRQW)
Optimize 6057 - NamePath optimized ^ (_Y08._INT)

/Users/Andrew/Desktop/DSDT.dsl 2703: CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y09._DMA, DMAC)
Optimize 6057 - NamePath optimized ^ (_Y09._DMA)

/Users/Andrew/Desktop/DSDT.dsl 3091: Name (NATA, Package (0x01)
Optimize 6033 - Integer optimized to single-byte AML opcode ^ (One)

/Users/Andrew/Desktop/DSDT.dsl 3918: Buffer (0x01)
Optimize 6033 - Integer optimized to single-byte AML opcode ^ (One)

/Users/Andrew/Desktop/DSDT.dsl 3918: Buffer (0x01)
Optimize 6033 - Integer optimized to single-byte AML opcode ^ (One)

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

/Users/Andrew/Desktop/DSDT.dsl 3975: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 3986: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 3987: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4018: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4029: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4030: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4061: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4072: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4073: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4104: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4115: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4116: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4147: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4158: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4159: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4190: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4201: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4202: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4233: Return (BUFA)
Error 4063 - Object does not exist ^ (BUFA)

/Users/Andrew/Desktop/DSDT.dsl 4244: ShiftLeft (One, Local0, IRQV)
Error 4063 - Object does not exist ^ (IRQV)

/Users/Andrew/Desktop/DSDT.dsl 4245: Return (BUFB)
Error 4063 - Object does not exist ^ (BUFB)

/Users/Andrew/Desktop/DSDT.dsl 4331: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0A._BAS, ACMM)
Optimize 6057 - NamePath optimized ^ (_Y0A._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4332: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0A._LEN, ASSM)
Optimize 6057 - NamePath optimized ^ (_Y0A._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4333: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._BAS, RMA1)
Optimize 6057 - NamePath optimized ^ (_Y0B._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4334: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._LEN, RSS1)
Optimize 6057 - NamePath optimized ^ (_Y0B._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4335: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._BAS, RMA2)
Optimize 6057 - NamePath optimized ^ (_Y0C._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4336: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._LEN, RSS2)
Optimize 6057 - NamePath optimized ^ (_Y0C._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4337: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._BAS, RMA3)
Optimize 6057 - NamePath optimized ^ (_Y0D._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4338: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._LEN, RSS3)
Optimize 6057 - NamePath optimized ^ (_Y0D._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4339: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._BAS, RMA4)
Optimize 6057 - NamePath optimized ^ (_Y0E._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4340: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._LEN, RSS4)
Optimize 6057 - NamePath optimized ^ (_Y0E._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4341: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._BAS, ERMA)
Optimize 6057 - NamePath optimized ^ (_Y0F._BAS)

/Users/Andrew/Desktop/DSDT.dsl 4342: CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._LEN, ERMS)
Optimize 6057 - NamePath optimized ^ (_Y0F._LEN)

/Users/Andrew/Desktop/DSDT.dsl 4343: CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._LEN, EXTM)
Optimize 6057 - NamePath optimized ^ (_Y10._LEN)


Elapsed time for major events


Miscellaneous compile statistics

7135 : Parse nodes
1439 : Namespace searches
523 : Named objects
144 : Control methods
596 : Memory Allocations
1429025 : Total allocated memory
0 : Constant subtrees folded

ASL Input: /Users/Andrew/Desktop/DSDT.dsl - 4474 lines, 146608 bytes, 1583 keywords
Compilation complete. 36 Errors, 0 Warnings, 0 Remarks, 34 Optimizations
I have this in my DSDT.dsl:

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{

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

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

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

"device-type",
Buffer (0x10)
{
"Realtek ALC888"
},

"PinConfigurations",
Buffer (0x28)
{
/* 0000 */ 0x10, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02,
/* 0008 */ 0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02,
/* 0010 */ 0x30, 0x40, 0x11, 0x01, 0x40, 0x40, 0x01, 0x01,
/* 0018 */ 0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01,
/* 0020 */ 0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}With DSDT patched using Koalala's patcher (selected ALC888-2) i'm getting this info:
http://i37.tinypic.com/2a66lpe.jpg

So maybe DSDT patched using Koalala's patcher is better way to go, at least i can see my card but with no pins...

chaoswith
10-26-2009, 03:43 AM
use the voodoohda.kext

Andrew180
10-26-2009, 07:19 AM
use the voodoohda.kext

Yes, VoodooHDA works for me but with sleep bug. Also patched AppleHDA+HDAEnabler works for me with 5.1 and no sleep bug, so perfectly. But i want to minimize the number of kexts i had to use...I really wanna make this DSDT thing work.

thorazine74
10-26-2009, 10:49 AM
It looks like your DSDT is missing some info regarding PCI interrupts (LNKA) you would probably have to add that sections to the DSDT but I'm not sure if that posible or easy, I'm not very skilled with DSDT.
Have you considered just using HDAEnabler or an EFI String to inject the same values needed for a LegacyHDA, the layout-id and the pin configurations if needed? It should be straight, much easier than fixing your messed up DSDT code...

Andrew180
10-26-2009, 02:06 PM
It looks like your DSDT is missing some info regarding PCI interrupts (LNKA) you would probably have to add that sections to the DSDT but I'm not sure if that posible or easy, I'm not very skilled with DSDT.
Have you considered just using HDAEnabler or an EFI String to inject the same values needed for a LegacyHDA, the layout-id and the pin configurations if needed? It should be straight, much easier than fixing your messed up DSDT code...

Thanks for reply, but when i'm trying to add efi strings it gives me this error:
http://i34.tinypic.com/2rfc6c3.jpg
Of course i restored my original Device (AZAL) before doing this...

But i think that with that koalala's dsdt i'm not too far away from success because i can really see my audio and i can see true hardware id of my audio, so it just have to be finished some way i think...