Question: Does anyone have idle sleep (aka auto sleep) working?
Idle sleep is via the Energy Saver preferences timeouts and is different than forced sleep via the Apple "Sleep" menu. See this technical Q&A note for details:http://developer.app...340/_index.html
The reason I ask is that I think the issue with auto sleep is not with the battery driver. After much testing and reading, I believe the issue is that some other driver or software on the system is canceling the auto sleep functionality (again, see note above).
The battery driver just reports battery status up to the power management (PM) layer and doesn't send any details telling the system to sleep. Normally a power policy maker, such as the Energy Saver preferences application defines a power policy that the PM layer implements, and its the PM layer that tells the system to sleep/power down. All drivers (kexts) that control a device that might consume power will hook themselves into the PM layer and they will receive messages when the system is about to auto sleep, etc. However, drivers can reply to this message and cancel auto sleep, but they cannot cancel forced sleep.
Its not clear to me yet what happens if a driver *doesn't* properly handle sleep messages but do hook into the PM layer. I suspect this type of driver would prevent the PM layer from sleeping the machine because it wouldn't send either a "yes, sleep the system" nor a "no, cancel sleep" reply to PM layer message and leave and outstanding hook into the PM layer.
Also, my research indicates this issue with auto sleep happens on real Macs too
Another possibility might be that the DVD drive is not listed as "Apple Shipping Drive" in system profiler, but rather "Generic" and therefore the system doesn't know how to power it off. I do hear my DVD drive seeking/grinding after the display is turned off when auto sleep should happen, so there might be some merit to this.
Anyway, no solution yet but I've got many paths I can go down at the moment so its just a matter of trying to determine what will be the shortest to the end goal