I found some new condition.
Edit IOSMBusFamily.kext/info,plist to have
CODE
<key>IOKitPersonalities</key>
<dict>
<key>IOSMBusController</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.IOSMBusFamily</string>
<key>IOClass</key>
<string>IOSMBusController</string>
<key>IOPCIClassMatch</key>
<string>0x0c050000&0xffff0000</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
<dict>
<key>IOSMBusController</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.iokit.IOSMBusFamily</string>
<key>IOClass</key>
<string>IOSMBusController</string>
<key>IOPCIClassMatch</key>
<string>0x0c050000&0xffff0000</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
</dict>
</dict>
It works!
QUOTE
| | | | "compatible" = <"pci144d,b028","pci1002,4353","pciclass,0c0500">
| | | | "name" = "pci1002,4353"
| | | | }
| | | |
| | | +-o IOSMBusController <class IOSMBusController, !registered, !matched, active, busy 0, retain count 4>
| | | {
| | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | "IOClass" = "IOSMBusController"
| | | "IOProviderClass" = "IOPCIDevice"
| | | "CFBundleIdentifier" = "com.apple.iokit.IOSMBusFamily"
| | | "IOPCIClassMatch" = "0x0c050000&0xffff0000"
| | | "IOProbeScore" = 0x0
| | | }
| | | | "name" = "pci1002,4353"
| | | | }
| | | |
| | | +-o IOSMBusController <class IOSMBusController, !registered, !matched, active, busy 0, retain count 4>
| | | {
| | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | "IOClass" = "IOSMBusController"
| | | "IOProviderClass" = "IOPCIDevice"
| | | "CFBundleIdentifier" = "com.apple.iokit.IOSMBusFamily"
| | | "IOPCIClassMatch" = "0x0c050000&0xffff0000"
| | | "IOProbeScore" = 0x0
| | | }
Then I need to delete AppleACPIEC.kext from AppleACPIPlatform.kext/Contents/PlugIns/
Why? Don't know exactly but the kext prevents SMBus to work.
Before I have
QUOTE
| | +-o AppleACPIBattery <class AppleACPIBattery, registered, matched, active, busy 0, retain count 121>
| | | {
| | | "Battery Present" = No
| | +-o AppleACPIBatteryHub <class AppleACPIBatteryHub, !registered, !matched, active, busy 0, retain count 6>
| | {
| | "IOMatchCategory" = "IODefaultMatchCategory"
| | "IOBatteryInfo" = ({"Capacity"=0x0,"Amperage"=0x0,"Current"=0x0,"Voltage"=0x0,"Flags"=0x0})
| | | {
| | | "Battery Present" = No
| | +-o AppleACPIBatteryHub <class AppleACPIBatteryHub, !registered, !matched, active, busy 0, retain count 6>
| | {
| | "IOMatchCategory" = "IODefaultMatchCategory"
| | "IOBatteryInfo" = ({"Capacity"=0x0,"Amperage"=0x0,"Current"=0x0,"Voltage"=0x0,"Flags"=0x0})
Now I have
QUOTE
| | +-o AppleACPIBattery <class AppleACPIBattery, registered, matched, active, busy 0, retain count 9>
| | | {
| | | "Battery Present" = Yes
| | | "Battery Status" = (0x0,0x0,0xc80,0x30cf)
| | | "Battery Information" = (0x1,0x1130,0xc80,0x1,0x2b5c,0x0,0x60,0x1,0x1,"","","LION","SAMSUNG Electronics")
| | +-o AppleACPIBatteryHub <class AppleACPIBatteryHub, !registered, !matched, active, busy 0, retain count 6>
| | {
| | "IOMatchCategory" = "IODefaultMatchCategory"
| | "IOBatteryInfo" = ({"Capacity"=0xc80,"Amperage"=0x0,"Current"=0xc80,"Voltage"=0x30cf,"Flags"=0x5})
| | | {
| | | "Battery Present" = Yes
| | | "Battery Status" = (0x0,0x0,0xc80,0x30cf)
| | | "Battery Information" = (0x1,0x1130,0xc80,0x1,0x2b5c,0x0,0x60,0x1,0x1,"","","LION","SAMSUNG Electronics")
| | +-o AppleACPIBatteryHub <class AppleACPIBatteryHub, !registered, !matched, active, busy 0, retain count 6>
| | {
| | "IOMatchCategory" = "IODefaultMatchCategory"
| | "IOBatteryInfo" = ({"Capacity"=0xc80,"Amperage"=0x0,"Current"=0xc80,"Voltage"=0x30cf,"Flags"=0x5})
Now powermanagement.bundle from keithpk really works for me and show battery status.
