I don't think I've ever seen an explanation for what SleepEnabler does. What exactly does it do?
For the record the versions I've tried have never been able to fix the only problem that my Abit IP35 board has - waking from sleep. The system does sleep, but it does not wake up properly, instead you get a blank screen and probably a jammed computer because you can't launch anything via keyboard.
The one and *only* think that sleep enabler does is tell XNU that it can *try* to sleep.
This is what normally happens...
The user (or a program) tells the computer to sleep.
1) XNU checks to see if it has any power management driver, if not it say "no, not gonna happen."
2) XNU checks to see if the power management driver told xnu that everything was setup. If not, it says no.
3) XNU checks to see if the power management driver told xnu that it has a function to stop the cpu. If not, it says no.
4) XNU calls the cpu stop function. The function returns 0 for success. If not, xnu says no.
5) XNU goes to sleep if all of the above happens.
So... what sleep enabler does is this.
1) It tells the kernel that there is a power management driver. If it tells xnu that it provides the wrong version of power management, XNU will panic and yell at you.
2) It tells the kernel that the power management driver is done initializing everything.
3) it tells the kernel to call the half function it provides.
4) the halt function does absolutely nothing but return 0.
In other words. SleepEnabler tells XNU that it can go to sleep. It doesn't tell it how to sleep. It doesn't tell it how to wake. In other words, it won't hep you out. You have a different issue (which can probably be fixed with some dsdt tweeks).
That's pretty much it.