Contribute
Register

Battery Manager with Fix for Boot without Batteries

Status
Not open for further replies.
Hi i have a dell latitude e7470, but i can't activate the battery icon status on mojave.
i tried more kext like ACPIBatteryManager.kext and SMCBatteryManager.kext but no have success.
any help about this laptop?
thks
 
@raikage

Could you please post your current EFI folder and your native (untouched) DSDT.aml, dumped with either Clover or OC? Then I could try to help you out.

//EDIT

Please post here: https://www.tonymacx86.com/threads/opencore-battery-patch.295289/
I've been active a lot in this thread, but had not that much time the last few weeks. Going to help out more again, so please go there since it's in a centralized place then.
 
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

When you close the lid, the screen turns off, but does not go to sleep
It also does not go to sleep through the menu (only the screen goes out)
When applying the usb 0x0 patch
Kernel panic.
Although before this was not the case and the sleep mode clearly worked, which could affect it is not clear
 

Attachments

  • 9B9331B6-BBEB-479D-B48A-8EA19B5BE010.png
    9B9331B6-BBEB-479D-B48A-8EA19B5BE010.png
    1.2 MB · Views: 81
  • EF7E4797-A5B6-4A66-9F98-B89F2C93092C.jpeg
    EF7E4797-A5B6-4A66-9F98-B89F2C93092C.jpeg
    178.4 KB · Views: 71
  • patched.dsl.zip
    43.5 KB · Views: 71
Status
Not open for further replies.
Back
Top