Hi RehabMan,
I hate to be that guy who begs for somebody to do something for them, but I really would like your help on my battery DSDT problem. I have converted the data to 2 8bit registers as opposed to leaving it at 16bit registers and downloaded and compiled the latest git repository.
Now, it appears the kext loads, but I always see 0% on the battery. If I unplug the cord, it picks that up. So looking at the debug log, I see that my _BIF method appears to be broken. Do you know how to debug where in the dsdt the call isn't returning the capacity? Anyway here is the console output:
Code:
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBatteryManager::getBatterySTA called
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatterySTA: battery_status = 0x1f
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBIF called
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBIF: validateObject return 0x0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBIF: acpibat_bif size = 13
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery: Error: Capacity Read Zero (0)
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBST called
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: acpibat_bst size = 4
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fPowerUnit = 0x0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: currentStatus = 0x0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentRate = 0x7674d170
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentCapacity = 0x47ae13b8
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentVoltage = 0xffffff7b
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: Calculating for WATTS
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentRate = 0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentCapacity = 0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: adjusted fCurrentRate = 0x0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fAverageRate = 0x0
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery: Battery is charged.
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::constructAppleSerialNumber called
Mar 24 14:13:59 localhost kernel[0]: AppleSmartBattery::rebuildLegacyIOBatteryInfo called
Here is the output of
Code:
ioreg -n AppleSmartBattery -r AppleSmartBattery
Code:
+-o AppleSmartBattery <class AppleSmartBattery, id 0x1000001e4, registered, ma$
{
"ExternalConnected" = Yes
"TimeRemaining" = 65535
"InstantTimeToEmpty" = 65535
"ExternalChargeCapable" = Yes
"CellVoltage" = (1073741790,1073741790,1073741790,1073741793)
"PermanentFailureStatus" = 0
"BatteryInvalidWakeSeconds" = 30
"Voltage" = 18446744073709551483
"MaxCapacity" = 0
"AtWarnLevel" = Yes
"Manufacturer" = "ASUSTek"
"LatestErrorType" = "Capacity Read Zero"
"CurrentCapacity" = 0
"LegacyBatteryInfo" = {"Amperage"=0,"Flags"=5,"Capacity"=0,"Current"=0,"V$
"FirmwareSerialNumber" = 0
"BatteryInstalled" = Yes
"CycleCount" = 0
"AvgTimeToFull" = 65535
"DesignCapacity" = 0
"ManufactureDate" = 0
"AtCriticalLevel" = Yes
"BatteryType" = "LIon"
"InstantTimeToFull" = 65535
"BatterySerialNumber" = "G75--52- "
"PostDischargeWaitSeconds" = 120
"Serial" = " "
"Temperature" = 0
"InstantAmperage" = 0
"MaxErr" = 0
"FullyCharged" = Yes
"DeviceName" = "G75--52"
"IOGeneralInterest" = "IOCommand is not serializable"
"Amperage" = 0
"IsCharging" = No
"PostChargeWaitSeconds" = 120
"AvgTimeToEmpty" = 65535
}
One thing that pops out is the "Voltage" value! Look at that thing! And here is my current DSDT. If you have time to look at it, great! If not, I guess I'll keep looking it over.
Thanks!