Mac OS X Development Development and discussion on the latest hackintosh drivers and methods.

View Poll Results:
0 0%
Voters: 0. You may not vote on this poll

Reply
 
Thread Tools Display Modes
  (#1) Old
lnxneo lnxneo is offline
Member
 
Posts: 80
Join Date: Jul 2009
Default 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
    1. 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
    2. 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.
  1. 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"))
            }
  2. 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.
Attached Files
File Type: zip HDAEnabler.1.0.0.kext.tgz.zip (8.1 KB, 1084 views)
File Type: zip LegacyAppleHDA.1.1.0.tgz.zip (5.5 KB, 648 views)
File Type: zip SMBIOSResolver.1.0.9.tgz.zip (11.2 KB, 384 views)
File Type: zip VerbHelper.1.1.0_SL.tgz.zip (8.7 KB, 516 views)
File Type: zip VerbHelper.1.1.0_Leopard.tgz.zip (8.6 KB, 171 views)
Reply With Quote
  (#2) Old
meklort meklort is offline
Guru
 
meklort's Avatar
 
Posts: 1,353
Join Date: Feb 2009
Location: Colorado, USA
Send a message via AIM to meklort Send a message via MSN to meklort Send a message via Yahoo to meklort
Default 07-28-2009, 06:07 AM

Great work on the 10v.
I'll probably incorporate some of those things w/ NetbookInstaller.
VerbHelper probably isn't needed since unmuting the audio after sleep is taken care of with the patched IOAudioFamily, although I like your method better. If you wouldn't mind sharing the source, I'll include it in the next version w/o the IOAudioFamily patch.

I wont be including the dsdt patch for sleep support. bmaltais and I have discussed this before for the mini 9 (he is in favor of it, I'm not) because if you include it, you cannot disable sleeping (easily) without editing the dsdt back as some users here do. It essentially breaks programs like insomniaX.

I do like the dsdt patch for audio however, and I would definitely include it over VoodooHDA any day. Using HDAEnabler should work fine, although I'd prefer another way if possible (such as an efi string).

I don't know of a fix for the sleep issue, although you may want to try out OpenHaltRestrt (from psystar) although I haven't tried it out yet.


Dell Mini 9 | Mac OS X 10.6.5 | 2 GB RAM | 32 GB Buffalo SSD | BIOS A05
Dell Mini 10v | Mac OS X 10.6.5 | 1 GB RAM | 160 GB HDD | BIOS A06
My Blog | NetbookInstaller code repository | NetbookInstaller Website | Want a Lockerz.com invite? message me.
Reply With Quote
  (#3) Old
mitchell mitchell is offline
Member
 
Posts: 53
Join Date: Mar 2009
Default 07-28-2009, 11:11 AM

exciting stuff. thanks guys. I need my internal mic. please keep us posted as to when an installer is available for us mere mortals.
Reply With Quote
  (#4) Old
iAmBeer iAmBeer is offline
Junior Member
 
iAmBeer's Avatar
 
Posts: 21
Join Date: Jul 2009
Default 07-28-2009, 12:25 PM

wow!!! This is great. Can't wait to see when all the components
work in Mini 10v


Dell Mini 10v | 2GB RAM | 120 GB HDD | no BT
Triple boot: Windows 7 | OS-X 10.5.7 | Kubuntu 9.04
Reply With Quote
  (#5) Old
ChazB ChazB is offline
Member
 
Posts: 99
Join Date: Mar 2009
Location: Fredericton, New Brunswick, Canada
Send a message via MSN to ChazB Send a message via Skype™ to ChazB
Default 07-29-2009, 04:02 AM

So should I remove my existing AppleHDA.kext and VoodooHDA.kext files and then do this? Or will I be OK to Just remove the VoodooHDA.kext file and then do this?


| Dell Mini 10 | Product Red Edition | 1.6GHz | 1.3MP | 160GB SATA HDD | Bluetooth | 802.11n | Windows 7 Ultimate |
| Dell Mini 10v | Obsidian Black | 1.6GHz | 2GB Kingston HyperX | 1.3MP | 160GB SATA HDD | Bluetooth | 802.11n | Windows 7 Ultimate |

Eagles may soar, but weasels don't get sucked into jet engines. - Unknown

Before Elvis, there was nothing. - John Lennon
Reply With Quote
  (#6) Old
lnxneo lnxneo is offline
Member
 
Posts: 80
Join Date: Jul 2009
Default 07-29-2009, 11:41 AM

Is your AppleHDA unmodified version from 10.5.7? If so, you don't need to remove it.
Reply With Quote
  (#7) Old
anguish anguish is offline
Super Moderator
 
anguish's Avatar
 
Posts: 1,203
Join Date: Apr 2009
Location: Detroit
Default 07-29-2009, 12:01 PM

Stickied, and looking forward to trying it.. This gives me a good excuse to rebuild my Mini 10v as I've been itching to do.. Now just to wait for the bloody backup to finish..


Alienware M11xR2 - Core i5 1.06 - 4 GB - 250 GB HD

Triple Boot Guide - 10v RAM Upgrade Videos - mechdrew's OSX guides
Reply With Quote
  (#8) Old
anguish anguish is offline
Super Moderator
 
anguish's Avatar
 
Posts: 1,203
Join Date: Apr 2009
Location: Detroit
Default 07-29-2009, 12:40 PM

Quote:
Originally Posted by lnxneo View Post
[SLEEP/LID]
I got sleep working when closing lid without using chamshell.kext. I will post DSDT mod later. However, I still have some problem with sleep: after sleep, 10v can shutdown normally, but reboot will hang at black screen. Anyone got clues?
AFAIK, this is still an issue with both the Mini 9 and 10v. I've not seen any permanent fixes with it, other that it theoretically has to do with Bluetooth and BIOS settings. I've never tried any of the fixes, so I don't know for sure.


Alienware M11xR2 - Core i5 1.06 - 4 GB - 250 GB HD

Triple Boot Guide - 10v RAM Upgrade Videos - mechdrew's OSX guides
Reply With Quote
  (#9) Old
mitchell mitchell is offline
Member
 
Posts: 53
Join Date: Mar 2009
Default 07-29-2009, 01:37 PM

I unzipped and installed the attached files (also restored AppleHDA) with kext helper and it works great!
should i rebuild my dsdt?
excellent work. thanks again.
Reply With Quote
  (#10) Old
anguish anguish is offline
Super Moderator
 
anguish's Avatar
 
Posts: 1,203
Join Date: Apr 2009
Location: Detroit
Default 07-29-2009, 02:42 PM

lnxneo, I'm in the middle of rebuilding my 10v now, so I'm willing to try out anything you need testing with once I get it patched to 10.5.7...


Alienware M11xR2 - Core i5 1.06 - 4 GB - 250 GB HD

Triple Boot Guide - 10v RAM Upgrade Videos - mechdrew's OSX guides
Reply With Quote
Reply

Tags
al272, audio, dsdt

« Previous Thread | Next Thread »
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Copyright © 2008-2016 MyDellMini.com.