Contribute
Register

[Guide] How to patch DSDT for working battery status

Hello my Name ist Musti.

I bought a Samsung Rc720.

I managed to Install 10.10.5 Yosemite. Almost everything is working.

Only Battery not.

Here is my DSDT Extracted with MacIASL-

Hope someone can edit my DSDT.

Thank you

Read post #1.

Note that there are a couple of Samsung patches already in the repo you might try.
 
It sounds like you didn't disassemble your files correctly...

Use the "-dl" option so you get "Store(Zero, SMD0)" instead of "SMD0 = Zero".

But yes, a store of Zero to SMD0 would be the same as WECB(offset, size, Zero). Correct specification of the offset and size is critical.



I don't understand the question. Declarations are local to the scope of the declaration.
Oh -dl for legacy... Which looks like assembly code... Should work OK with C-style operators though?


Not sure about the scope lol.

To be specific, this is your helper method under device EC0
Code:
Method (RE1B, 1, NotSerialized)
{
        OperationRegion(ERAM, EmbeddedControl, Arg0, 1)
        Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }
        Return(BYTE)
}

This is a OperationRegion declaration in my DSDT that is under device EC0

Code:
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)            
Field (ERAM, ByteAcc, Lock, Preserve)
            {
                Offset (0x5A), 
                Offset (0x5B), 
                Offset (0x5C), 
                Offset (0x5D), 
                ENIB,   16, 
                ENDD,   8, 
                SMPR,   8, 
                SMST,   8, 
                SMAD,   8, 
                SMCM,   8, 
                SMDX,   256, //SMD0 0x175
                BCNT,   8, 
                SMAA,   24, 
                Offset (0x89)
            }
So do they conflict?
 
It sounds like you didn't disassemble your files correctly...

Use the "-dl" option so you get "Store(Zero, SMD0)" instead of "SMD0 = Zero".

But yes, a store of Zero to SMD0 would be the same as WECB(offset, size, Zero). Correct specification of the offset and size is critical.



I don't understand the question. Declarations are local to the scope of the declaration.

Actually it looks like the Acer E1 patch would work since the field names are the same... I'll -dl and try that patch. Thanks.

Yup it works for battery percentage but battery temperature is still -273.1degC and battery age -92233 something
pic: 087e3e82f7.png

So you can add Acer R7 to the working list of that patch :p
 
Oh -dl for legacy... Which looks like assembly code... Should work OK with C-style operators though?

No. Most, if not all, patches are written for "-dl" style disassembly.

Not sure about the scope lol.

To be specific, this is your helper method under device EC0
Code:
Method (RE1B, 1, NotSerialized)
{
        OperationRegion(ERAM, EmbeddedControl, Arg0, 1)
        Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }
        Return(BYTE)
}

This is a OperationRegion declaration in my DSDT that is under device EC0

Code:
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)            
Field (ERAM, ByteAcc, Lock, Preserve)
            {
                Offset (0x5A), 
                Offset (0x5B), 
                Offset (0x5C), 
                Offset (0x5D), 
                ENIB,   16, 
                ENDD,   8, 
                SMPR,   8, 
                SMST,   8, 
                SMAD,   8, 
                SMCM,   8, 
                SMDX,   256, //SMD0 0x175
                BCNT,   8, 
                SMAA,   24, 
                Offset (0x89)
            }
So do they conflict?

No.
 
This is a OperationRegion declaration in my DSDT that is under device EC0

Code:
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)            
Field (ERAM, ByteAcc, Lock, Preserve)
            {
                Offset (0x5A), 
                Offset (0x5B), 
                Offset (0x5C), 
                Offset (0x5D), 
                ENIB,   16, 
                ENDD,   8, 
                SMPR,   8, 
                SMST,   8, 
                SMAD,   8, 
                SMCM,   8, 
                SMDX,   256, //SMD0 0x175
                BCNT,   8, 
                SMAA,   24, 
                Offset (0x89)
            }
So do they conflict?
You are using incorrect offset for SMDX. It is SMDX, 256 // 0x64
Anyway, EC's field couldn't be over 0xFF.
 
Hi Rehabman!
I have patched my dsdt but my battery status is still not showing. It does not show in any energy saver settings and does not allow me to add battery percentage to the taskbar. Atached is my DSDT and ioreg file.(It's can be work on 10.10.2. now I use 10.10.5). Can you help me?
It's on
Device (EC0) in DSDT.
 

Attachments

  • DSDT&Ioreg.zip
    3.7 MB · Views: 66
[Guide] How to patch DSDT for working battery status [HP 250 G3]

Hello,

I'm trying to patch my DSDT to use Rehabman ACPIBattery.kext. I have a HP 250G3, haswell i3, 4 GB RAM. I am on Yosemite 10.10.5.

As of now, the kext loads, but the battery does not show in the top bar, and the charge level is not shown.

I attach my DSDT. Someone can help? I don't know where to start :)
Thank you very much
 

Attachments

  • DSDT.zip
    68 KB · Views: 72
Last edited:
Hi Rehabman!
I have patched my dsdt but my battery status is still not showing. It does not show in any energy saver settings and does not allow me to add battery percentage to the taskbar. Atached is my DSDT and ioreg file.(It's can be work on 10.10.2. now I use 10.10.5). Can you help me?
It's on
Device (EC0) in DSDT.

The ioreg is corrupt.

Post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
 
Back
Top