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