RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,007
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
How to patch DSDT for working battery status
Spaces are not significant.
Must be a problem in the DSDT. You can use ACPIDebug.kext to debug it: https://github.com/RehabMan/OS-X-ACPI-Debug
It is probably a variable set to 1 when _REG for the EC region is called to indicate availability of the EC. Read more in the ACPI spec: http://acpi.info/spec.htm
THANKS so much for your kind reply!!!
OK. I tried call BSTA from _STA by just adding BSTA () - space after "BSTA" ; now space between parentheses. Did not work.
Spaces are not significant.
* "shorting" the code by force 0x1F - this brings the battery icon to show % but it is always STUCK on 100%. I let the laptop sit without the AC adapter and after 2-3 hrs it was still at 100%. The output is
*************************
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery:ollingTimeOut called
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery:ollBatteryState: path = 0x1
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBatteryManager::getBatterySTA called
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatterySTA: battery_status = 0x1f
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBatteryManager::getBatteryBIX called
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBIX: acpibat_bix size = 20
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBatteryManager::getBatteryBST called
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: acpibat_bst size = 4
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fPowerUnit = 0x0
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: currentStatus = 0x0
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentRate = 0xffffffff
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentCapacity = 0xffffffff
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentVoltage = 0xffffffff
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: Calculating for WATTS
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentRate = 386933
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentCapacity = 386933
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: adjusted fCurrentRate to -321398
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery::setBatteryBST: fAverageRate = 0x1b198a
9/14/14 7:40:38.000 PM kernel[0]: AppleSmartBattery: Battery is charged.
**********************
Of course, "Battery is charged" is wrong.... So it sees the battery but is not actively monitoring the charge.
Must be a problem in the DSDT. You can use ACPIDebug.kext to debug it: https://github.com/RehabMan/OS-X-ACPI-Debug
2. There is a value "ECON" that is specified throughout all the power and brightness etc. What is this?
It is probably a variable set to 1 when _REG for the EC region is called to indicate availability of the EC. Read more in the ACPI spec: http://acpi.info/spec.htm