| Member
Posts: 80 Join Date: Jul 2009 | Building 100% Vanilla on 10v (starting with fully working Audio) -
07-28-2009, 05:53 AM
A lot of people did great job make running osx on 10v easy, and got most hardware working. My hat off to those pioneers.
Goal of this threat is a little bit different. I'd like to make 10v using 100% vanilla kext if possible through DSDT mod, "legacy" plist, fewer third party kexts. It will be on-going efforts, I hope we can work together to archive the goal.
I only have 10.5.7(now 10.5.8) running, all the results in this post are based on this version.
[Battery/AC]
[update] After updated to 10.5.8, the only power source is "power adapter". Thus, when power adapter is unplugged, it shows "Not charging" rather than remaining time. Credit to tea, who posted a fix using modified AppleSMBIOS.kext version 1.1.1. I was keeping seeking vanilla solution. Finally, I was able to modify SMBResolver.kext(see attachment) to solve the problem.
[ Audio, ALC272] [update] I updated LegacyAppleHDA.kext to 1.1.0. See footnote for details
First, I have good news for the people waiting for fully working audio. This is not a detailed tutorial, mainly for advanced users to test this method.
With this method, I got working internal speaker, headphone, auto switch between them(i.e. plugging headphone the output go to headphone automatically, unplugging it, switch back to internal speaker). working internal mic, external mic, auto switch as well.
Here are what you need: - Vanilla AppleHDA.kext (10.5.7 or 10.5.8), yes, this method NEEDS Vanilla AppleHDA
(herooftime posted one here) - Vanilla IOAudioFamily as well (thanks meklort pointting this out), herooftime post one here. Thanks Nick, anguish and other people who helpped me debugging this problem.
- fake plist LegacyAppleHDA.kext (see attachment)
- DSDT mod (I only tested this method) or HDAEnabler ( I modified info.plist, see attachment for it, however, I never try this method myself, good luck if you decide use it)
- VerbHelper.kext (see attachment), A little kext I wrote myself to cope with no sound after sleep.
What you need to do: - Restore AppleHDA.kext (from 10.5.7) if you removed it. Remove other kext for audio, such as voodooHDA (btw, the developer(s) did a great to bring unsupported audio cards to the community)
- cd to /Volume/EFI/Extra/Extensions (I used EFI partition method, YMMV), run command "sudo tar -xvzf LegacyAppleHDA.1.0.0.tgz"
- Choose one of the following two methods, but NOT both
- Modify you dsdt.asl: Change following code
Code: Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
Name (_SUN, 0x01)
Method (_DSM, 4, NotSerialized)
} to Code: Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
Name (_SUN, 0x01)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0c)
{
"codec-id",
Buffer (0x04)
{
0x72, 0x02, 0xEC, 0x10
},
"built-in",
Buffer (One)
{
0x00
},
"layout-id",
Buffer (0x04)
{
0x10, 0x01, 0x00, 0x00
},
"model",
Buffer (0x0F)
{
"Realtek ALC272"
},
"device_type",
Buffer (0x07)
{
"alc272"
},
"PinConfigurations",
Buffer (Zero)
{
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
} recompile it to dsdt.aml, and put it to your /Volume/EFI/ directory - While in /Volume/EFI/Extra/Extensions directory, run command "sudo tar -xvzf HDAEnabler.1.0.0.kext.tgz"
- run command "update.sh" to update mkext in your /Volume/EFI/...
- reboot 10v, now you should have fully working audio (with one caveat, we will fix later), If you didn't get working audio, stop here, and go back.
- When you get this far, only one remaining issue that I knew of need to be addressed: internal speaker stop working after wake up from sleep mode. I spent most of my time to track down problem and wrote a small kext to address this problem: sending extra Verbs to ALC272. I need some adventurous users to try it out. Anyway, again in /Volume/EFI/Extra/Extensions directory, run command "sudo tar -xvfz VerbHelper.1.0.0.tgz", do "update.sh" and reboot.
After those steps, hopefully, you got fully working audio as I did.
[ SLEEP/LID]
Here is DSDT mod enabling sleep when lid is closed. There are two places need to mod in dsdt.asl. - Find code in dsdt.asl looks like
Code: Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
add 5 lines so it looks like Code: Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
}
- Find the code looks like
Code: Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
Return (LPOL)
}
Name (_PRW, Package (0x02)
{
0x1D,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, SLID)
}
}
change it to: Code: Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (LPOL)
{
}
Else
{
Notify(SLPB,0x80)
}
Return (LPOL)
}
Name (_PRW, Package (0x02)
{
0x1D,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, SLID)
}
}
I still have some problem with sleep: after sleep, 10v can shutdown normally, but reboot will hang at black screen. Anyone got clues?
[ FootNote]
I just realized the site doesn't support tgz file, so I zipped them, just unzip them, you will get files mentioned above. [edit Oct.2,09] Thanks feedback from donaldj and crisu, I tracked down the problem of VerbHelper with HDAEnabler, new version 1.1.0 should work with HDAEnabler. [edit]Recompiled VerbHelper for Snow Leopard
[edit]Added SMBIOSResolver to fixing battery problem in 10.5.8
[edit]Updated VerbHelper to 1.0.2, it fixed KP problem in earlier version.
[edit]Updated LegacyAppleHDA to 1.1.0. This version should be compatible with vanilla AppleHDA.kext from both 10.5.7 and 10.5.8.
Last edited by lnxneo; 10-04-2009 at 08:17 PM.
|