Contribute
Register

Acer 4830T Battery Status issues after upgrade to El Capitan

Status
Not open for further replies.
Joined
Oct 23, 2010
Messages
924
Motherboard
Gigabyte Z77X-UP5 TH
CPU
i7-3770K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
  3. Mac Pro
Mobile Phone
  1. Android
  2. iOS
Have been running Yosemite for a long time on my old Acer 4830T i5-2410M notebook.
HDD failed so got a new SSD and did a fresh install of 10.11.1.

All OK except Battery Status in menu bar cannot be selected in System Preferences.
As soon as I click "Show battery status in menu bar" (under Energy Saver tab), battery status appears briefly in the menu bar and disappears.

This was working fine in Yosemite.

For El Capitan, I am using the same (battery patched) DSDT and the latest Rehabman's ACPI Battery manager kext as the ones I used for Yosemite.

Clover version is 3320.

System Profiler shows the battery status fine:
Screen Shot 2015-11-02 at 13.00.31.png

Installed Battery Health from App Store and it shows:

Screen Shot 2015-11-02 at 13.16.11.png

That App used to work fine with Yosemite.

Anyone seen same issues after upgrading to El capitan ?
Any suggestions how to diagnose the problem ?

IOREG & DSDT attached.
 

Attachments

  • 4830T-IOREG-DSDT.zip
    431.7 KB · Views: 108
Have been running Yosemite for a long time on my old Acer 4830T i5-2410M notebook.
HDD failed so got a new SSD and did a fresh install of 10.11.1.

All OK except Battery Status in menu bar cannot be selected in System Preferences.
As soon as I click "Show battery status in menu bar" (under Energy Saver tab), battery status appears briefly in the menu bar and disappears.

This was working fine in Yosemite.

For El Capitan, I am using the same (battery patched) DSDT and the latest Rehabman's ACPI Battery manager kext as the ones I used for Yosemite.

Clover version is 3320.

System Profiler shows the battery status fine:
View attachment 160217

Installed Battery Health from App Store and it shows:

View attachment 160220

That App used to work fine with Yosemite.

Anyone seen same issues after upgrading to El capitan ?
Any suggestions how to diagnose the problem ?

IOREG & DSDT attached.

The system must not like something about the battery info in ioreg, but I don't see the issue.

BatterySerialNumber is a bit strange...
 
The system must not like something about the battery info in ioreg, but I don't see the issue.

BatterySerialNumber is a bit strange...

In the BAT0 device in the DSDT, there's this:
Code:
Name (PBIF, Package (0x0D)
{
       One, 
       0x0FA0, 
       0x0FA0, 
       One, 
       0x39D0, 
       0x0190, 
       0x78, 
       0x0108, 
       0x0EC4, 
       "Li_Ion_4000mA ", 
       "1234", 
       "Lion", 
       "Acer "
})
Then, later on in the Method _BIF, there's this :
Code:
If (LGreaterEqual (OSYS, 0x07D6))
{
       ToHexString (B1B2 (^^EC0.SN00, ^^EC0.SN01), Local2)
       Sleep (0x32)
       Mid (Local2, 0x02, 0x04, Local3)
       Store (Local3, Index (PBIF, 0x0A))
}

Looks like there's a check on the OS type and it seems to be reading the serial number from the EC and storing it into PBIF at 0x0A.

Since the OS has changed (from 10.10 to 10.11), could this bit of DSDT be wrong ?
 
In the BAT0 device in the DSDT, there's this:
Code:
Name (PBIF, Package (0x0D)
{
       One, 
       0x0FA0, 
       0x0FA0, 
       One, 
       0x39D0, 
       0x0190, 
       0x78, 
       0x0108, 
       0x0EC4, 
       "Li_Ion_4000mA ", 
       "1234", 
       "Lion", 
       "Acer "
})
Then, later on in the Method _BIF, there's this :
Code:
If (LGreaterEqual (OSYS, 0x07D6))
{
       ToHexString (B1B2 (^^EC0.SN00, ^^EC0.SN01), Local2)
       Sleep (0x32)
       Mid (Local2, 0x02, 0x04, Local3)
       Store (Local3, Index (PBIF, 0x0A))
}

Looks like there's a check on the OS type and it seems to be reading the serial number from the EC and storing it into PBIF at 0x0A.

Since the OS has changed (from 10.10 to 10.11), could this bit of DSDT be wrong ?

I'm not sure why OS X doesn't like your data. You could experiment with different hardcoded values for serial# to see if makes any difference.

Did you try a fresh install? Did you try EC reset? From where did you download OS X?
 
I'm not sure why OS X doesn't like your data. You could experiment with different hardcoded values for serial# to see if makes any difference.

Did you try a fresh install? Did you try EC reset? From where did you download OS X?
I am just about to use your excellent ACPIDebug text to print out what info is being stored and see if it is corrupt.

I did a fresh install of 10.11 downloaded from App Store.

How does one reset the EC ?
 
I am just about to use your excellent ACPIDebug text to print out what info is being stored and see if it is corrupt.

Seems like a good idea.

I did a fresh install of 10.11 downloaded from App Store.

Try 10.11.1?

How does one reset the EC ?

Covered in FAQ.
 
I used the App store update to 10.11.1 after installing 10.11.
I just done the EC Reset procedure - no change.

ACPI Debug prints out :
Code:
02/11/2015 15:34:03.000 kernel[0]: ACPIDebug: { "OSYS is", 0x7d9, }
02/11/2015 15:34:03.000 kernel[0]: ACPIDebug: { "PBIF is", { 0x1, 0x1130, 0xfd9, 0x1, 0x2a30, 0xdc, 0x84, 0x108, 0xec4, "Li_Ion_4000mA ", "0060", "Lion", "PANASONIC ", }, }

The serial is "0060" but for some reason El Capitan is picking up "Li_Ion_4000mA".
 
I used the App store update to 10.11.1 after installing 10.11.
I just done the EC Reset procedure - no change.

ACPI Debug prints out :
Code:
02/11/2015 15:34:03.000 kernel[0]: ACPIDebug: { "OSYS is", 0x7d9, }
02/11/2015 15:34:03.000 kernel[0]: ACPIDebug: { "PBIF is", { 0x1, 0x1130, 0xfd9, 0x1, 0x2a30, 0xdc, 0x84, 0x108, 0xec4, "Li_Ion_4000mA ", "0060", "Lion", "PANASONIC ", }, }

The serial is "0060" but for some reason El Capitan is picking up "Li_Ion_4000mA".

Serial# is combined with the device name in strange ways inside the kext (code not written by me)...
 
I am downloading 10.11.1 again and will try a rebuild.

UPDATE:
While I waiting for the El Capitan to download from the App Store, I applied the 10.11.1 Update again (which I had already downloaded earlier).
Now the battery status is visible in the menu bar. :thumbup:
The status changes as expected (as battery charges/discharges, etc).

The serial number in System Profiler is still shown as "Serial Number: Li_Ion_4000mA -Unknown".
May it does not like the serial number format return by the DSDT.
Not a big deal.
 
Spoke too soon.

The battery status is only shown on the first boot after installation of El Capitan completes.
Any subsequent restart kills the battery status from the menu bar.

I wiped the SSD from the Installer USB and did a fresh install.
On first boot, all is fine. I go through the usual set-up (country, wifi setup, user account, etc) and the battery status is working fine. If I now restart, the battery status is gone.

I rebuilt and verified this behaviour several times - spent nearly four hours now :cry:.
IOREG shows that the battery manager kext is loaded.
System Information shows that battery is connected and charging/or not.
BUT, System Preferences will not allow me to tick "Show battery status in menu bar".

I used the latest Unibeast method. I updated the Unibeast USB with the latest Clover r3320 (since the El Capitan install app is version 10.11.1). Installs fine (..at least there's no obvious errors, crashes, warnings, etc).

At a loss as how to fix this (apart from skipping El Capitan and go back to Yosemite).

Any suggestions welcome.
 
Status
Not open for further replies.
Back
Top