checcco Posted August 28, 2009 Share Posted August 28, 2009 Hi guys... I think nobody has managed yo get alc889a to work completely with DSDT.aml This is what koalala patcher outputs selecting 889a and HDEF, but sound is not working in any way. (and i can see some sounds assertions while booting) 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", /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04) { 0x79, 0x03, 0x00, 0x00 }, "device-type", Buffer (0x10) { "Realtek ALC889a" }, "PinConfigurations", Buffer (0x18) { /* 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) } } 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) In another thread tapper00 suggested to modify it this way. I still get sound assertions while booting but at least sound is working but from the wrong jack, black jack instead of green jack (like it should be on my mobo) 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 (0x11) { "ALC889a" }, "PinConfigurations", Buffer (0x28) { /* 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) } } 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) I thought that maybe comparing the code in the two boxes we can unserstand what's going on... Maybe using pin configurations from koalala and the rest from tapper00...any clue? Link to comment Share on other sites More sharing options...
flames Posted August 28, 2009 Share Posted August 28, 2009 same here, analog audio comes from black jack instead of green jack. i couldn't test if digital out works lacking of digital receiver/speakers. my motherboard is ga-p35-ds4r rev 1.0, alc889a this issue is absolutely identical with leopard 10.5.8 and snow leopard 10.6with same dsdt pinconfig. but anyway, i am really happy now, since neither with 10.5.8 nor 10.6 no patched applehda nor legacyhda is needed, and no hda injectors/enablers. 100% vanilla Link to comment Share on other sites More sharing options...
ximekon Posted August 28, 2009 Share Posted August 28, 2009 Hi guys... I think nobody has managed yo get alc889a to work completely with DSDT.aml This is what koalala patcher outputs selecting 889a and HDEF, but sound is not working in any way. (and i can see some sounds assertions while booting) 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", /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x04) { 0x79, 0x03, 0x00, 0x00 }, "device-type", Buffer (0x10) { "Realtek ALC889a" }, "PinConfigurations", Buffer (0x18) { /* 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) } } 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) In another thread tapper00 suggested to modify it this way. I still get sound assertions while booting but at least sound is working but from the wrong jack, black jack instead of green jack (like it should be on my mobo) 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 (0x11) { "ALC889a" }, "PinConfigurations", Buffer (0x28) { /* 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) } } 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) I thought that maybe comparing the code in the two boxes we can unserstand what's going on... Maybe using pin configurations from koalala and the rest from tapper00...any clue? right that's what I would be trying aswell. I am very keen on your results... for more information about the acpi /dsdt thing go here: http://www.acpi.info/spec.htm Link to comment Share on other sites More sharing options...
checcco Posted August 29, 2009 Author Share Posted August 29, 2009 Good news, you can check the solution for alc889a audio here: http://www.insanelymac.com/forum/index.php...p=1229762 (POST #388 by aschar1) Audio is coming out from green jack now. From what I understand there's no pin configuration in the DSDT, but there's a kext to be moved in /E/E containing the configuration. It works, but you have to choose the right output in Settings>Sound. The kext needed is just a plist. Maybe someone can understand how to move the content of the plist in the dsdt so we don't need this kext and keep the installation as clean as possible. Link to comment Share on other sites More sharing options...
longtom Posted August 29, 2009 Share Posted August 29, 2009 Good news, you can check the solution for alc889a audio here: http://www.insanelymac.com/forum/index.php...p=1229762 (POST #388 by aschar1) Audio is coming out from green jack now. From what I understand there's no pin configuration in the DSDT, but there's a kext to be moved in /E/E containing the configuration. It works, but you have to choose the right output in Settings>Sound. The kext needed is just a plist. Maybe someone can understand how to move the content of the plist in the dsdt so we don't need this kext and keep the installation as clean as possible. Yes, works, nut i got sometimes a "POP" in the speakers! Link to comment Share on other sites More sharing options...
machinist Posted August 29, 2009 Share Posted August 29, 2009 I thought that maybe comparing the code in the two boxes we can understand what's going on... Maybe using pin configurations from koalala and the rest from tapper00...any clue? Have you tried using layout-id 66, 0x42 0x00 0x00 0x00 in your DSDT? I use the proper codec for the 889a chipset, 0x85, 0x08, 0xEC, 0x10 but others have used the codec id you already have in your DSDT with success. Alternatively, if you want to use an additional kext, try tmongkol's approach here and throughout his thread: http://www.insanelymac.com/forum/index.php...941&st=380# Good luck. Link to comment Share on other sites More sharing options...
stngray Posted August 29, 2009 Share Posted August 29, 2009 Yes, works, nut i got sometimes a "POP" in the speakers! Change your smbios.plist to make it a mac pro, this gets rid of the popping. Link to comment Share on other sites More sharing options...
longtom Posted August 29, 2009 Share Posted August 29, 2009 Change your smbios.plist to make it a mac pro, this gets rid of the popping. THANKS! Works! Link to comment Share on other sites More sharing options...
hackcat Posted September 1, 2009 Share Posted September 1, 2009 Using Machinist's suggestion for using layout 66 I now have sound via the green jack, no added kext. Do get sound assertions but no more than other solutions. Not sure how it compares in terms of audio outputs to other solutions. Seems to have digital line in&out as well. Device (HDEF) { Name (_ADR, 0x001B0000) Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x0D, 0x05 }) } Method (_DSM, 4, NotSerialized) { Store (Package (0x0A) { "built-in", Buffer (One) { 0x00 }, "codec-id", Buffer (0x04) { 0x89, 0x08, 0xEC, 0x10 }, "layout-id", Buffer (0x04) { 0x42, 0x00, 0x00, 0x00 }, "device-type", Buffer (0x11) { "ALC889a" }, "PinConfigurations", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Intel High Definition Audio: Device ID: 0x1458A022 Audio ID: 66 Available Devices: Line Out: Connection: 1/8-Inch Jack External Microphone: Connection: 1/8-Inch Jack External Microphone: Connection: 1/8-Inch Jack Headphone: Connection: 1/8-Inch Jack S/P-DIF Out: Connection: Combo S/P-DIF In: Connection: Combo Link to comment Share on other sites More sharing options...
Bummskopf Posted September 1, 2009 Share Posted September 1, 2009 used this method on my Gigabyte GA-P35-DS3R (Rev2.0) with ALC889a sound. "http://www.insanelymac.com/forum/index.php...p=1229762 (POST #388 by aschar1)" Digital Output is working for me, the only thing is that i have the impression (might be just an illusion^^) that the quality isn't as good as under Windows Vista with Realtek Driver Link to comment Share on other sites More sharing options...
Gantlett Posted November 20, 2009 Share Posted November 20, 2009 Dear checcco, Thanks to you I have sound!!!! My board is a GA-EP45-DS3R For some reason, your code (the second one) is the only one that iaslMe.app would compile to an .aml file. I've looked at so many other sources and all of them wouldn't compile. So thank you again!!! Link to comment Share on other sites More sharing options...
JJ0101 Posted March 1, 2010 Share Posted March 1, 2010 Just wanted to say thanks to Checcco (& tapper00) for this fix. I had tried everything else (HDAEnabler, patching AppleHDA, legacyHDA kexts) but nothing works as well as this. Not bothered about fixing the green/black o/p port issue, I've already spent days on this. Thanks guys! Link to comment Share on other sites More sharing options...
uiop Posted April 13, 2012 Share Posted April 13, 2012 I have tried the hackhad's method for dsdt and it really works!!! I have a P35 - DS3 Gigabyte system board with ALC889a. Thank you all so much. BTW, has anybody else experienced the swapped channels (L/R)? The sound is reverse stereo - what should be on the left speaker is coming out of the right one and the other way around. I double checked to be sure and it's there. Is there a way to switch L/R channels, because I cannot physically switch L/R speakers? Link to comment Share on other sites More sharing options...
Recommended Posts