Help - Search - Members - Calendar
Full Version: ACPI / PowerMgmt case study: Acer 4005WLMI
InsanelyMac Forum > OSx86 Project > Hardware and Drivers
damnit_
Ok guess I've finally found a worthy question for posting.. NB: The following is particular to the model laptop described in my signature, however that should not preclude this information from applying to other models with ACPI issues. What I have found is that after applying the released Power Management bundle I only get a 'calculating..' status, although it is nice to see a battery meter at last. Oh sure {you're saying to yourself}, another whiner looking for a short answer to a long question. Well you could be right I suppose unsure.gif

Very short history.. Before I most recently became a hackintosh junkie I was spending alot of time getting various linux builds running on this Ferrari 4000 series, mostly to re-learn linux. It had been a while.. Anyhow, one of the problems I found across the board - regardless of kernel or flavor - was that this stinking expensive hunk of junk had a very buggy ACPI DSDT. I mean like blatant typos let alone syntax problems. Not so out of the ordinary I came to find. So at some point with a nice Gentoo install running, I set off to decompile, fix, and recompile the offending code. And what do you know? I was rewarded with battery status, suspend states, frequency scaling, even fan speed controls among other things.

Now, ofcourse we understand that with our little OSX project the scaling and probably even the suspend are at present beyond reach. However it only takes one un-announced power down due to a drained battery to motivate me to this new cause. I must have my battery meter shock.gif

I'm looking for a little help transposing this knowledge/method onto the Mac OS. For details of this particular case, it may do the reader well to have a look at what I actually did in *nix: (again, performed in Gentoo but should be applicable to all *nix builds -- how close to Mac's BSD core remains to be seen..) http://forums.gentoo.org/viewtopic.php?t=122145. If that weren't a long enough read for you, here's the *nix build notes that helped so much with this particular laptop model: http://www.omgwtfbbq.com.au/ferrari/ (the Gentoo one has an lspci output if you'd care to see details of my hardware).

The summarized version is thus: (taken from build notes) "The essential idea behind this method is that you should make a copy of the buggy acpi implementation (dsdt.asl) from the bios, then you fix a number of typos and errors in it, and you can then recompile it. Once you have a compiled version without the errors, you should instruct your kernel to use this new version instead of the version found in the BIOS."

Therein lies my true question. Is this conceptually possible on an OSX platform? Can we inform Darwin to ignore the BIOS DSDT and instead use a custom one of our choosing? Oh please someone say yes, I definately have that reworked dsdt kicking around somewhere. If so I could see this helping alot of people as anyone who has been down this road before will know, over at http://acpi.sourceforge.net/dsdt/view.php there is a comprehensive repository of precompiled repaired dsdt's.

Well, hope to hear some thoughts soon. And I hope the answer does not turn out to be simply "nope, not possible" blink.gif

Any noobs with Acer Ferrari specific install questions feel free to PM. This community has given me so much in so short a time, I thank you all. thumbsup_anim.gif
blinksilver
QUOTE(damnit_ @ Apr 30 2006, 11:50 AM) *
Ok guess I've finally found a worthy question for posting.. NB: The following is particular to the model laptop described in my signature, however that should not preclude this information from applying to other models with ACPI issues. What I have found is that after applying the released Power Management bundle I only get a 'calculating..' status, although it is nice to see a battery meter at last. Oh sure {you're saying to yourself}, another whiner looking for a short answer to a long question. Well you could be right I suppose unsure.gif

Very short history.. Before I most recently became a hackintosh junkie I was spending alot of time getting various linux builds running on this Ferrari 4000 series, mostly to re-learn linux. It had been a while.. Anyhow, one of the problems I found across the board - regardless of kernel or flavor - was that this stinking expensive hunk of junk had a very buggy ACPI DSDT. I mean like blatant typos let alone syntax problems. Not so out of the ordinary I came to find. So at some point with a nice Gentoo install running, I set off to decompile, fix, and recompile the offending code. And what do you know? I was rewarded with battery status, suspend states, frequency scaling, even fan speed controls among other things.

Now, ofcourse we understand that with our little OSX project the scaling and probably even the suspend are at present beyond reach. However it only takes one un-announced power down due to a drained battery to motivate me to this new cause. I must have my battery meter shock.gif

I'm looking for a little help transposing this knowledge/method onto the Mac OS. For details of this particular case, it may do the reader well to have a look at what I actually did in *nix: (again, performed in Gentoo but should be applicable to all *nix builds -- how close to Mac's BSD core remains to be seen..) http://forums.gentoo.org/viewtopic.php?t=122145. If that weren't a long enough read for you, here's the *nix build notes that helped so much with this particular laptop model: http://www.omgwtfbbq.com.au/ferrari/ (the Gentoo one has an lspci output if you'd care to see details of my hardware).

The summarized version is thus: (taken from build notes) "The essential idea behind this method is that you should make a copy of the buggy acpi implementation (dsdt.asl) from the bios, then you fix a number of typos and errors in it, and you can then recompile it. Once you have a compiled version without the errors, you should instruct your kernel to use this new version instead of the version found in the BIOS."

Therein lies my true question. Is this conceptually possible on an OSX platform? Can we inform Darwin to ignore the BIOS DSDT and instead use a custom one of our choosing? Oh please someone say yes, I definately have that reworked dsdt kicking around somewhere. If so I could see this helping alot of people as anyone who has been down this road before will know, over at http://acpi.sourceforge.net/dsdt/view.php there is a comprehensive repository of precompiled repaired dsdt's.

Well, hope to hear some thoughts soon. And I hope the answer does not turn out to be simply "nope, not possible" blink.gif

Any noobs with Acer Ferrari specific install questions feel free to PM. This community has given me so much in so short a time, I thank you all. thumbsup_anim.gif



i wish it were the case mainly because you could do alot more then that(assuming one was smart enough) like rewriting you acpi calls to match apples hooks, but i think not. You would have to hard link the location into the kernel via a hack like maxxuss' and that is just a guess, not sure if it is even a reasonable statement.
BugsB
Hi guys.

It's been quite a while since you posted in here, but maybe you have achieved something in the meantime? Because we are battling with DSDT issues here, too ..

Any help is greatly appreciated.

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