- Joined
- Jun 13, 2012
- Messages
- 152
- Motherboard
- Lenovo Ideapad Y510P
- CPU
- i7 4700MQ
- Graphics
- HD4600
- Mobile Phone
Try different battery, different AC adapter.
I will try to find someone around with compatible gadgets to try them.
Thanks.
Try different battery, different AC adapter.
That's because I guess everything under EC0 device is just a kind-of pointer to the Embedded Controller.I don't have control over ^^EC0.BAC0 value nor I know where it originated from to see why it takes wrong values. BAC0 exists only once in _BST and once in EC0
If (Local4 > 0x7FFF)
{
Local4 = 0xFFFF - Local4
}
According to acpi spec, "sign" should just be ultimately derived from the charging/discharging status, so yes.EDIT2:
I also have a question: both IOREG and System Information should report signed amperage while ACPIBatteryManager debug and raw ACPI data would report unsigned amperage. Is this statement correct?
I guess like the only proper fix could be:
Code:If (Local4 > 0x7FFF) { Local4 = 0xFFFF - Local4 }
If (Local4 > 0x7FFF)
{
Local4 = 0xFFFF - Local4 + 1
}
Seems like I owe you one.If you find your DSDT is reporting signed twos complement (when it shouldn't)...
0xFFFF is twos complement -1, but (as an example) 0xFFFF-0xFFFF is zero...
Don't worry I wouldn't touch OSX with a pole =)Also, you can configure ACPIBatteryManager.kext to correct for this with setting: Correct16bitSignedCurrentRate
Actually, it is default true.