For the sheer experiment I have installed your dst_battery_hack.zip from post #154 and it works!
Power source is battery now and I see remaining time.
View attachment 36695
So that's the diff between original and yours dsdt:
6672c6672,6675
< And (0xFFFFFFFFFFFFFFFE, Local0, Local0)
---
> If (And (Local0, One))
> {
> Store (Or (Local0, 0x0100), Local0)
> }
6676c6679,6682
< And (0xFFFFFFFFFFFFFFFD, Local0, Local0)
---
> If (And (Local0, 0x02))
> {
> Store (Or (Local0, 0x0200), Local0)
> }
6686c6692
< Store (Local0, Index (DerefOf (Index (NBST, Arg0)), Zero))
---
> Store (Or (Local0, 0x10), Local0)
6695a6702
> Store (Or (Local0, 0x20), Local0)
6699a6707
> Store (Or (Local0, 0x40), Local0)
6707c6715
< Store (Zero, Local3)
---
> Store (Or (Local0, 0x80), Local0)
6710a6719
> Store (Local0, Index (DerefOf (Index (NBST, Arg0)), Zero))
If (LEqual (GACS (), One))
{
And (0xFFFFFFFFFFFFFFFE, Local0, Local0) // THIS ONE
}
Else
{
And (0xFFFFFFFFFFFFFFFD, Local0, Local0) // AND, THIS ONE
}
Yes, you're right.
The same effect. What do these lines do, by the way?
if (ac-adapter-is-connected)
clear-discharging-bit // can't be discharging if running on AC
else
clear-charging-bit // can't be charging if AC unplugged