Contribute
Register

Battery Manager with Fix for Boot without Batteries

Status
Not open for further replies.
it work, but not 100% work
I got fully charged battery at 86%
where I can put information of my battery? (Serial Number, Manufacturer, Device Name)

It could be that your battery is degraded such that it will only charge to 89%. Because it looks like your full charge capacity is 4972 mAh, yet design capacity is 5600 mAh. The battery kext only reports what is actually happening in DSDT. And DSDT appears to be reporting what is happening with your battery. Is the battery a bit old?

And as far as the other information, you will recall that we commented out some sections of the DSDT to see if they were causing the _BIF method to fail (and they were).

I have attached a new version of patched.dsl with the different sections commented out as separate. You can re-enable them by uncommenting. Look for //rehabman in the code.

As an example, serial number section:
Code:
//rehabman: serial number
/*                    
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), Local0)
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), SBSN)
                    Name (SERN, Buffer (0x06)
                    {
                        "     "
                    })
                    Store (0x04, Local2)
                    While (Local0)
                    {
                        Divide (Local0, 0x0A, Local1, Local0)
                        Add (Local1, 0x30, Index (SERN, Local2))
                        Decrement (Local2)
                    }
                    Store (SERN, Index (Arg1, 0x0A))
*/

To re-enable this section, just comment out the comments, like this:
Code:
///*                    
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), Local0)
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), SBSN)
                    Name (SERN, Buffer (0x06)
                    {
                        "     "
                    })
                    Store (0x04, Local2)
                    While (Local0)
                    {
                        Divide (Local0, 0x0A, Local1, Local0)
                        Add (Local1, 0x30, Index (SERN, Local2))
                        Decrement (Local2)
                    }
                    Store (SERN, Index (Arg1, 0x0A))
//*/

Then compile it with "iasl patched.dsl" (in Terminal). Then "cp dsdt.aml /Extra/dsdt.aml" and test. Enable each section one by one to see when one causes _BIF method to fail. I've re-written some of them, so hopefully they will work.

In addition, you will note that for the default table, I have added some "fake data." If you can't get the real DSDT code to work, you can always fill it in with data that you would like to see. It is in this section:

Code:
            Name (BT0I, Package (0x0D)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0x2A30, 
                Zero, 
                Zero, 
                One, 
                One, 
//rehabman: you could fill in with defaults instead of empty strings
                "123456",			//model number
                "54321", 			//serial number
                "LIon", 			//battery type
                "Lenovo"			//oem information
            })

Edit: You will want to make sure you have a recent iasl to compile with. See: http://www.tonymacx86.com/hp-proboo...0-4530-4730-patches-updated-9.html#post442794

Edit 2: You can also get complete information on the data that the battery manager is holding by running this code in terminal:

Code:
# show ioreg battery status properties
ioreg -n AppleSmartBattery -r AppleSmartBattery
 

Attachments

  • patched.dsl.zip
    43.5 KB · Views: 111
It could be that your battery is degraded such that it will only charge to 89%. Because it looks like your full charge capacity is 4972 mAh, yet design capacity is 5600 mAh. The battery kext only reports what is actually happening in DSDT. And DSDT appears to be reporting what is happening with your battery. Is the battery a bit old?

And as far as the other information, you will recall that we commented out some sections of the DSDT to see if they were causing the _BIF method to fail (and they were).

I have attached a new version of patched.dsl with the different sections commented out as separate. You can re-enable them by uncommenting. Look for //rehabman in the code.

As an example, serial number section:
Code:
//rehabman: serial number
/*                    
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), Local0)
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), SBSN)
                    Name (SERN, Buffer (0x06)
                    {
                        "     "
                    })
                    Store (0x04, Local2)
                    While (Local0)
                    {
                        Divide (Local0, 0x0A, Local1, Local0)
                        Add (Local1, 0x30, Index (SERN, Local2))
                        Decrement (Local2)
                    }
                    Store (SERN, Index (Arg1, 0x0A))
*/

To re-enable this section, just comment out the comments, like this:
Code:
///*                    
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), Local0)
                    Store (B1B2 (^PCI0.LPCB.EC.BSN0, ^PCI0.LPCB.EC.BSN1), SBSN)
                    Name (SERN, Buffer (0x06)
                    {
                        "     "
                    })
                    Store (0x04, Local2)
                    While (Local0)
                    {
                        Divide (Local0, 0x0A, Local1, Local0)
                        Add (Local1, 0x30, Index (SERN, Local2))
                        Decrement (Local2)
                    }
                    Store (SERN, Index (Arg1, 0x0A))
//*/

Then compile it with "iasl patched.dsl" (in Terminal). Then "cp dsdt.aml /Extra/dsdt.aml" and test. Enable each section one by one to see when one causes _BIF method to fail. I've re-written some of them, so hopefully they will work.

In addition, you will note that for the default table, I have added some "fake data." If you can't get the real DSDT code to work, you can always fill it in with data that you would like to see. It is in this section:

Code:
            Name (BT0I, Package (0x0D)
            {
                Zero, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                One, 
                0x2A30, 
                Zero, 
                Zero, 
                One, 
                One, 
//rehabman: you could fill in with defaults instead of empty strings
                "123456",			//model number
                "54321", 			//serial number
                "LIon", 			//battery type
                "Lenovo"			//oem information
            })

Edit: You will want to make sure you have a recent iasl to compile with. See: http://www.tonymacx86.com/hp-proboo...0-4530-4730-patches-updated-9.html#post442794

Edit 2: You can also get complete information on the data that the battery manager is holding by running this code in terminal:

Code:
# show ioreg battery status properties
ioreg -n AppleSmartBattery -r AppleSmartBattery

I edit 32-bit & 128-bit EC register with reference from http://www.insanelymac.com/forum/to...terymanagerapplesmartbatterymanager-for-lion/
please see DSDT

and this is the result
+-o AppleSmartBattery <class AppleSmartBattery, id 0x1000001dd, registered, ma$
{
"PostChargeWaitSeconds" = 120
"TimeRemaining" = 136
"InstantTimeToEmpty" = 136
"ExternalChargeCapable" = No
"CellVoltage" = (2853,2853,2853,2853)
"PermanentFailureStatus" = 0
"BatteryInvalidWakeSeconds" = 30
"Voltage" = 11412
"MaxCapacity" = 4972
"Quick Poll" = No
"AtWarnLevel" = No
"Manufacturer" = "000031310043474C"
"CurrentCapacity" = 2738
"LegacyBatteryInfo" = {"Amperage"=18446744073709550413,"Flags"=4,"Capacit$
"FirmwareSerialNumber" = 1056
"BatteryInstalled" = Yes
"CycleCount" = 0
"DesignCapacity" = 5600
"AvgTimeToFull" = 65535
"ManufactureDate" = 0
"AtCriticalLevel" = No
"BatteryType" = "LION"
"InstantTimeToFull" = 65535
"BatterySerialNumber" = "0031353934543234- 420"
"PostDischargeWaitSeconds" = 120
"Serial" = " 420"
"Temperature" = 0
"InstantAmperage" = 18446744073709550413
"MaxErr" = 0
"FullyCharged" = No
"DeviceName" = "0031353934543234"
"IOGeneralInterest" = "IOCommand is not serializable"
"Amperage" = 18446744073709550413
"IsCharging" = No
"ExternalConnected" = No
"AvgTimeToEmpty" = 136
}

Edit : I use DSDTse to edit my DSDT. If I compile using DSDTse I get no error but if I compile using iasl from BigDonkey I get 1 error

-- DSDTse --
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 8824: Method (_CRS, 0, NotSerialized)
Warning 1088 - Not all control paths return a value ^ (_CRS)

/Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 8824: Method (_CRS, 0, NotSerialized)
Warning 1081 - Reserved method must return a value ^ (_CRS)

ASL Input: /Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 14173 lines, 436556 bytes, 5618 keywords
AML Output: /Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 55927 bytes, 1223 named objects, 4395 executable opcodes

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 6 Optimizations

-- iasl --
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120816-64 [Sep 5 2012]
Copyright (c) 2000 - 2012 Intel Corporation

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 2294: 0x00001000,
Error 4050 - Length is not equal to fixed Min/Max window ^

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 8821: Method (_CRS, 0, NotSerialized)
Warning 1114 - Not all control paths return a value ^ (_CRS)

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 8821: Method (_CRS, 0, NotSerialized)
Warning 1106 - Reserved method must return a value ^ (Buffer required for _CRS)

ASL Input: /Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl - 14156 lines, 422666 bytes, 5618 keywords

Compilation complete. 1 Errors, 2 Warnings, 0 Remarks, 6 Optimizations
 

Attachments

  • Screen Shot 2012-10-11 at 3.29.27 PM.jpg
    Screen Shot 2012-10-11 at 3.29.27 PM.jpg
    194 KB · Views: 329
  • dsdt_DTGP_HDEF_16to8-bit_(3).zip
    44.1 KB · Views: 91
The error is caused by a problem in the original DSDT. The old compiler doesn't check. New one does. I didn't include it in the original set of patches as it is difficult to come up with an automated patch for that one, and the error is pretty obvious (although what they really meant is a little unclear).

Code:
// This is line 2109 in my copy...
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xFEAFF000,         // Range Minimum
                    0xFEB00000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00001001,         // Length  (was 0x1000, clearly 0xFEB00000-0xFEAFF000+1 is 0x1001)
                    ,, , AddressRangeMemory, TypeStatic)
// another fix would be (this is probably what they meant... inclusive address ranges should end in Fs usually)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xFEAFF000,         // Range Minimum
                    0xFEAFFFFF,         // Range Maximum (probably what was meant, not +1 this)
                    0x00000000,         // Translation Offset
                    0x00001000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)

I've just started programming in ASL, but I seriously doubt what they did there in the L1L4 will work. For two reasons:

- I doubt ACPI has support for 128-bit scalars
(In fact, from ACPI spec, Integer -> "An n-bit little-endian unsigned integer. In ACPI 1.0 this was 32 bits. In ACPI 2.0
and later, this is 64 bits. The Integer (DWORD) designation indicates that only the lower 32 bits have meaning and the upper 32 bits of 64-bit integers must be zero (masking of upper bits is not required)."
- Conversion from scalar to buffer is Integer to ASCII conversion, thus why you end up with a lot of digits.

I think it is better to copy the data 8-bits at at time, since the data is (in theory) ASCII anyway.

Did you try what I did?



I edit 32-bit & 128-bit EC register with reference from http://www.insanelymac.com/forum/to...terymanagerapplesmartbatterymanager-for-lion/
please see DSDT

and this is the result
+-o AppleSmartBattery <class AppleSmartBattery, id 0x1000001dd, registered, ma$
{
"PostChargeWaitSeconds" = 120
"TimeRemaining" = 136
"InstantTimeToEmpty" = 136
"ExternalChargeCapable" = No
"CellVoltage" = (2853,2853,2853,2853)
"PermanentFailureStatus" = 0
"BatteryInvalidWakeSeconds" = 30
"Voltage" = 11412
"MaxCapacity" = 4972
"Quick Poll" = No
"AtWarnLevel" = No
"Manufacturer" = "000031310043474C"
"CurrentCapacity" = 2738
"LegacyBatteryInfo" = {"Amperage"=18446744073709550413,"Flags"=4,"Capacit$
"FirmwareSerialNumber" = 1056
"BatteryInstalled" = Yes
"CycleCount" = 0
"DesignCapacity" = 5600
"AvgTimeToFull" = 65535
"ManufactureDate" = 0
"AtCriticalLevel" = No
"BatteryType" = "LION"
"InstantTimeToFull" = 65535
"BatterySerialNumber" = "0031353934543234- 420"
"PostDischargeWaitSeconds" = 120
"Serial" = " 420"
"Temperature" = 0
"InstantAmperage" = 18446744073709550413
"MaxErr" = 0
"FullyCharged" = No
"DeviceName" = "0031353934543234"
"IOGeneralInterest" = "IOCommand is not serializable"
"Amperage" = 18446744073709550413
"IsCharging" = No
"ExternalConnected" = No
"AvgTimeToEmpty" = 136
}

Edit : I use DSDTse to edit my DSDT. If I compile using DSDTse I get no error but if I compile using iasl from BigDonkey I get 1 error

-- DSDTse --
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 8824: Method (_CRS, 0, NotSerialized)
Warning 1088 - Not all control paths return a value ^ (_CRS)

/Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 8824: Method (_CRS, 0, NotSerialized)
Warning 1081 - Reserved method must return a value ^ (_CRS)

ASL Input: /Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 14173 lines, 436556 bytes, 5618 keywords
AML Output: /Users/pututmargono/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 55927 bytes, 1223 named objects, 4395 executable opcodes

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 6 Optimizations

-- iasl --
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120816-64 [Sep 5 2012]
Copyright (c) 2000 - 2012 Intel Corporation

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 2294: 0x00001000,
Error 4050 - Length is not equal to fixed Min/Max window ^

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 8821: Method (_CRS, 0, NotSerialized)
Warning 1114 - Not all control paths return a value ^ (_CRS)

/Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl 8821: Method (_CRS, 0, NotSerialized)
Warning 1106 - Reserved method must return a value ^ (Buffer required for _CRS)

ASL Input: /Volumes/AnDien/Hackintosh/DSDTFile/New/dsdt_DTGP_HDEF_16to8-bit_(3).dsl - 14156 lines, 422666 bytes, 5618 keywords

Compilation complete. 1 Errors, 2 Warnings, 0 Remarks, 6 Optimizations
 
Can we set the interval of time for Battery Manager to check for power consumption? Sometimes I use Safari going to a heavy website, and the Battery almost instantly reports battery time decrease, and then for another seconds the time increases. It seems reporting too fast makes the time inaccurate.
 
Can we set the interval of time for Battery Manager to check for power consumption? Sometimes I use Safari going to a heavy website, and the Battery almost instantly reports battery time decrease, and then for another seconds the time increases. It seems reporting too fast makes the time inaccurate.

It is not really an 'interval' issue. The issue is the way it calculates the average consumption... it places a heavy weighting on the data received most recently. The way the code works, it takes the current consumption (at the moment) adds it to the previous consumption average, divides by two, and then calculates time remaining based on that. The value calculated becomes input to the next calculation. This makes the latest data received have more influence on the calculation. Consider a 4 item history: a, b, c, d, where d is the most recently gathered data. The math looks somewhat like this:

(d + ((a+b)/2+c)/2)/2

Simplify a bit and you have:

a/8 + b/8 + c/4 + d/2

So, the weighting of the values is:

a = 12.5%
b = 12.5%
c = 25%
d = 50%

As you can see, most recent value gathered 'd' counts for half. This makes it an average subject to temporary spikes.

I was thinking about eventually smoothing this out a bit by calculating an evenly weighted rolling average, but really who sits and looks at their time remaining while working??
 
Thanks for your answer, I think the problem is stats menu program, which is calculate the time remaining too fast.

BTW I have a question: This morning I start the computer and I found that the computer consumes very less power: only 800~900 mA. But this evening, I use and the computer reports that it use ~ 1100 mA. There are no main differences between two sessions: Only using Safari. I just don't know what's the real problem is.

By the way, are there any effective method for power management? I found that on Windows, I can use very less power and battery life lasts very long.
 
What affects the speed of response of the system to turn off the AC adapter, I have held for 1-2 minutes prior to the reaction of the battery indicator?
 
What affects the speed of response of the system to turn off the AC adapter, I have held for 1-2 minutes prior to the reaction of the battery indicator?

If you are referring to time it takes to calculate time remaining... From AppleSmartBattery.cpp:
Code:
enum 
{
    kSecondsUntilValidOnWake    = 30,
    kPostChargeWaitSeconds      = 120,
    kPostDischargeWaitSeconds   = 120
};
 
I'm using this patch: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/06_Battery.txt. and the lastest version AppleSmartBattery kext. But I can't get full function of Battery. Here is my result and Kernel log. I'm using HP Probook 4540s and the lastest version bios F31.
+-o AppleSmartBattery <class AppleSmartBattery, id 0x1000001e3, registered, matched, active, busy 0 (0 ms), retain 6>
{
"Serial" = "10574 2012/04/20"
"Amperage" = 582
"CurrentCapacity" = 4133
"MaxCapacity" = 4214
"BatteryType" = "LIon"
"DesignCapacity" = 4214
"AvgTimeToFull" = 8
"InstantTimeToFull" = 8
"AvgTimeToEmpty" = 65535
"BatteryInvalidWakeSeconds" = 30
"Manufacturer" = "Hewlett-Packard"
"CellVoltage" = (3147,3147,3147,3150)
"InstantTimeToEmpty" = 65535
"IOGeneralInterest" = "IOCommand is not serializable"
"AdapterInfo" = 0
"ExternalChargeCapable" = Yes
"Location" = 0
"PostChargeWaitSeconds" = 120
"IsCharging" = Yes
"InstantAmperage" = 582
"PostDischargeWaitSeconds" = 120
"BatteryInstalled" = Yes
"Voltage" = 12591
"CycleCount" = 71
"BatterySerialNumber" = "10574 2012/04/20"
"FullyCharged" = No
"Quick Poll" = No
"Temperature" = 0
"LegacyBatteryInfo" = {"Amperage"=582,"Flags"=7,"Capacity"=4214,"Current"=4133,"Voltage"=12591,"Cycle Count"=71}
"ExternalConnected" = Yes
"DeviceName" = "Primary"
"TimeRemaining" = 8
}


Kernel log :
12/13/12 9:47:49.000 PM kernel[0] AppleSmartBattery: Battery is charged.
12/13/12 9:47:49.000 PM kernel[0] AppleSmartBattery::constructAppleSerialNumber called
12/13/12 9:47:49.000 PM kernel[0] AppleSmartBattery::rebuildLegacyIOBatteryInfo called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::pollingTimeOut called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::pollBatteryState: path = 0x1
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBatteryManager::getBatterySTA called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatterySTA: battery_status = 0x1f
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBatteryManager::getBatteryBIF called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBatteryManager::getBatteryBIF: validateObject return 0x0
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBIF: acpibat_bif size = 15
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBIF: fTemperature = 0xb92 (0.1K)
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBatteryManager::getBatteryBST called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: acpibat_bst size = 4
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: fPowerUnit = 0x1
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: currentStatus = 0x0
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: fCurrentRate = 0x0
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: fCurrentCapacity = 0x1076
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: fCurrentVoltage = 0x30cf
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: adjusted fCurrentRate = 0x83b
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::setBatteryBST: fAverageRate = 0x83b
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery: Battery is charged.
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::constructAppleSerialNumber called
12/13/12 9:48:19.000 PM kernel[0] AppleSmartBattery::rebuildLegacyIOBatteryInfo called


Can you help me RehabMan ? Thanks!
 

Attachments

  • Screen Shot 2012-12-13 at 5.29.47 PM.png
    Screen Shot 2012-12-13 at 5.29.47 PM.png
    34.2 KB · Views: 141
  • dsdt.aml.zip
    46.9 KB · Views: 85
I'm using this patch: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/06_Battery.txt. and the lastest version AppleSmartBattery kext. But I can't get full function of Battery. Here is my result and Kernel log. I'm using HP Probook 4540s and the lastest version bios F31.
+-o AppleSmartBattery <class AppleSmartBattery, id 0x1000001e3, registered, matched, active, busy 0 (0 ms), retain 6>
{
"Serial" = "10574 2012/04/20"
"Amperage" = 582
"CurrentCapacity" = 4133
"MaxCapacity" = 4214
"BatteryType" = "LIon"
"DesignCapacity" = 4214
"AvgTimeToFull" = 8
"InstantTimeToFull" = 8
"AvgTimeToEmpty" = 65535
"BatteryInvalidWakeSeconds" = 30
"Manufacturer" = "Hewlett-Packard"
"CellVoltage" = (3147,3147,3147,3150)
"InstantTimeToEmpty" = 65535
"IOGeneralInterest" = "IOCommand is not serializable"
"AdapterInfo" = 0
"ExternalChargeCapable" = Yes
"Location" = 0
"PostChargeWaitSeconds" = 120
"IsCharging" = Yes
"InstantAmperage" = 582
"PostDischargeWaitSeconds" = 120
"BatteryInstalled" = Yes
"Voltage" = 12591
"CycleCount" = 71
"BatterySerialNumber" = "10574 2012/04/20"
"FullyCharged" = No
"Quick Poll" = No
"Temperature" = 0
"LegacyBatteryInfo" = {"Amperage"=582,"Flags"=7,"Capacity"=4214,"Current"=4133,"Voltage"=12591,"Cycle Count"=71}
"ExternalConnected" = Yes
"DeviceName" = "Primary"
"TimeRemaining" = 8
}


Kernel log :

Dec 13 17:28:57 localhost kernel[0]: AppleSmartBattery::rebuildLegacyIOBatteryInfo called
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::pollingTimeOut called
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::pollBatteryState: path = 0x2
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::pollBatteryState: path = 0x1
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBatteryManager::getBatterySTA called
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatterySTA: battery_status = 0x1f
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBIF called
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBIF: validateObject return 0x0
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBIF: acpibat_bif size = 15
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBST called
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: acpibat_bst size = 4
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fPowerUnit = 0x1
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: currentStatus = 0x2
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentRate = 0x246
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentCapacity = 0x1025
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fCurrentVoltage = 0x312f
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::setBatteryBST: fAverageRate = 0x246
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery: Battery is charging.
Dec 13 17:29:27 localhost kernel[0]: AppleSmartBattery::rebuildLegacyIOBatteryInfo called

Can you help me RehabMan ? Thanks!

I don't see an issue there. What, exactly, isn't working?
 
Status
Not open for further replies.
Back
Top