Something appears incomplete in Chameleon's SMBIOS manipulation. These SMBIOS issues have been causing power management issues on 10.5.8/10.6 for laptop users - the Asus Eee series in my case. Battery and power management partially work:
- The battery menu extra shows the proper battery status, and changes appropriately for AC vs battery usage
- System Profiler appears correct, showing the battery, whether the system is charging, etc.
- However, the text on the battery menu extra incorrectly says "Power Source: AC Adapter" when on battery
- Energy Saver pref pane doesn't show battery vs AC options - just AC
I bring it up here, because to fix it, one needs
both Chameleon's smbios.plist
and a modified AppleSMBIOS.kext. In other words, I can put the same info in an smbios.plist and in an AppleSMBIOS.kext, and with one or the other, nothing is fixed. But with
both it is.
I related it to Chameleon, as the fix for this is SMBIOS-related, and it seemed odd that Chameleon's SMBIOS support couldn't fix it on its own as I would have expected. Is this something we might see in rc3?
ioreg output is up at
http://diamondsw.dyndns.org/Misc/SMBIOS.zip . I included output for when using only an smbios.plist and when using both that and a kext, and for when on AC and when on battery.
I've parsed through the two battery files, and the most likely difference is the following - without the kext, ChildrenPowerState doesn't exist:
| | +-o IORootParent <class IORootParent>
| | | "IOPowerManagement" = {"CurrentPowerState"=4,"DevicePowerState"=4,"PowerOverrideOn"=Yes,"ChildrenPowerState"=4}
Interestingly, when the system is on AC, the plist and plist+kext both have the "ChildrenPowerState"=4 key properly set. The only configuration that doesn't show "ChildrenPowerState" for that key is plist-only-battery, and it's only on that one key that it's missing. And of course, that's where we're seeing the strangest behavior.
You might find something I missed in the various other chunks of hex, but that one stands out to my amateur eye.