Contribute
Register

[Guide] Dual boot Windows and Yosemite with Clover EFI Boot Loader on a Acer Aspire V Nitro VN7-591G

Status
Not open for further replies.
DSDT needs patching... note:
Code:
        OperationRegion (RAM, EmbeddedControl, Zero, 0xFF)
..
        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBRC,   16, 
            EBFC,   16, 
            EBPE,   16, 
            EBAC,   16, 
            EBVO,   16, 
                ,   15, 
            EBCM,   1, 
            EBCU,   16, 
            EBTV,   16
        }

        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBDC,   16, 
            EBDV,   16, 
            EBSN,   16
        }

        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBMN,   128
        }

        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBDN,   128
        }

        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBCH,   128
        }

Read post #1 of battery guide: http://www.tonymacx86.com/yosemite-...de-how-patch-dsdt-working-battery-status.html

Rehabman,

I have changed all the 16bit to 8bit but not sure if I did it correctly for 128bit. Could you check if for me ? Here is my using original DSDT and edited. (No acer 3820tg patch)

View attachment DSDT.aml

One more thing, I installed HWMonitor which can check the battery percentage. Still, there is some difference :crazy:

Screen Shot 2015-04-15 at 2.17.14 PM.png
 
Rehabman,

I have changed all the 16bit to 8bit but not sure if I did it correctly for 128bit. Could you check if for me ? Here is my using original DSDT and edited. (No acer 3820tg patch)

View attachment 134103

It looks ok to me (no multibyte fields). You probably "over patched" as many of the fields are not accessed.

One more thing, I installed HWMonitor which can check the battery percentage. Still, there is some difference :crazy:

View attachment 134104

Difference?
 
ylums,

when you have this part figured out, can you post your final DSDT.dsl file OR put your patch code into a text file so I can copy and paste? I read through (and re-read Rehabman's tutorial) but this stuff just doesn't make any sense to me, and it is all over my head. When I was searching through the fields higher than 8-bit, none of them seemed to be accessed, so I didn't know which blocks to patch. For some reason, I simply cannot figure this part out for the life of me.

Thanks
 
ylums,

when you have this part figured out, can you post your final DSDT.dsl file OR put your patch code into a text file so I can copy and paste? I read through (and re-read Rehabman's tutorial) but this stuff just doesn't make any sense to me, and it is all over my head. When I was searching through the fields higher than 8-bit, none of them seemed to be accessed, so I didn't know which blocks to patch. For some reason, I simply cannot figure this part out for the life of me.

Thanks

It is easy to determine whether a field is accessed. First, your only EmbeddedControl OperationRegion is RAM. So search for all 'Field (RAM'. Inside each, look for fields which are declared with a size larger than 8. Those are your list of multi-byte fields. Then search the rest of the DSDT for each field name. If you find no references, no need to patch. If you do find a reference, create patches for it as described in the guide.

If you haven't worked through the example DSDT in the guide, do that prior to working on your own DSDT.
 
It looks ok to me (no multibyte fields). You probably "over patched" as many of the fields are not accessed.



Difference?

HWMonitor shows me 81% while Battery percentage shows me 84%. But never mind, not sure which one is showing the correct reading though. :D

How does over-patched DSDT affects me ? i'm not good at editing the DSDT :crazy:
 
ylums,

when you have this part figured out, can you post your final DSDT.dsl file OR put your patch code into a text file so I can copy and paste? I read through (and re-read Rehabman's tutorial) but this stuff just doesn't make any sense to me, and it is all over my head. When I was searching through the fields higher than 8-bit, none of them seemed to be accessed, so I didn't know which blocks to patch. For some reason, I simply cannot figure this part out for the life of me.

Thanks

Here is my DSDT.dsl file. (Too large that I have to upload to another file storage website)
http://www.mediafire.com/download/78644qd1ski52p4/DSDT.dsl

PS : Bear in mind that Rehabman told me that my DSDT is "over-patched". Use it with cautious. :thumbup:
 
It is easy to determine whether a field is accessed. First, your only EmbeddedControl OperationRegion is RAM. So search for all 'Field (RAM'. Inside each, look for fields which are declared with a size larger than 8. Those are your list of multi-byte fields. Then search the rest of the DSDT for each field name. If you find no references, no need to patch. If you do find a reference, create patches for it as described in the guide.

If you haven't worked through the example DSDT in the guide, do that prior to working on your own DSDT.

Rehabman,

OK, so this is the thing. I have the exact same code block with values higher than 8-bit with the same field names

Code:
        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBRC,   16, 
            EBFC,   16, 
            EBPE,   16, 
            EBAC,   16, 
            EBVO,   16, 
                ,   15, 
            EBCM,   1, 
            EBCU,   16, 
            EBTV,   16
        }
        
        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBDC,   16, 
            EBDV,   16, 
            EBSN,   16
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBMN,   128
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBDN,   128
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBCH,   128
        }

When I search the file (using Command + F) starting from the very top for each of the field names (EBRC, EBFC, EBPE, etc, etc), none of these seem to be accessed because there is only one hit coming up in the search for each (the declaration itself). This is what I am confused about. You said in your previous reply that "If you find no references, no need to patch". I am not finding any references. So what am I missing here??? These appear to be non-accessed.

Sorry, I've read through some very confusing stuff since my first Hackintosh but this battery stuff has me completely baffled
 
HWMonitor shows me 81% while Battery percentage shows me 84%. But never mind, not sure which one is showing the correct reading though. :D

Calculate value from ioreg values. Most likely OS X is correct, HwMonitor buggy.

How does over-patched DSDT affects me ? i'm not good at editing the DSDT :crazy:

No effect. Fields patched but not accessed won't affect anything.
 
Rehabman,

OK, so this is the thing. I have the exact same code block with values higher than 8-bit with the same field names

Code:
        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBRC,   16, 
            EBFC,   16, 
            EBPE,   16, 
            EBAC,   16, 
            EBVO,   16, 
                ,   15, 
            EBCM,   1, 
            EBCU,   16, 
            EBTV,   16
        }
        
        Field (RAM, ByteAcc, Lock, Preserve)
        {
            Offset (0xE0), 
            EBDC,   16, 
            EBDV,   16, 
            EBSN,   16
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBMN,   128
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBDN,   128
        }


        Field (RAM, ByteAcc, NoLock, Preserve)
        {
            Offset (0xE0), 
            EBCH,   128
        }

When I search the file (using Command + F) starting from the very top for each of the field names (EBRC, EBFC, EBPE, etc, etc), none of these seem to be accessed because there is only one hit coming up in the search for each (the declaration itself). This is what I am confused about. You said in your previous reply that "If you find no references, no need to patch". I am not finding any references. So what am I missing here??? These appear to be non-accessed.

Sorry, I've read through some very confusing stuff since my first Hackintosh but this battery stuff has me completely baffled

If none of the multi-byte fields are accessed, then you do not need to patch them. All you would need in that case is ACPIBatteryManager.kext, provided the DSDT doesn't have other issues.
 
Here is my DSDT.dsl file. (Too large that I have to upload to another file storage website)
http://www.mediafire.com/download/78644qd1ski52p4/DSDT.dsl

PS : Bear in mind that Rehabman told me that my DSDT is "over-patched". Use it with cautious. :thumbup:

ylums,

what happens when you plug your AC adapter into the laptop? Are you seeing the icon change from battery to a lightning bolt? When I am plugged in, it says I am on battery.

Please have a look at post # 49. When I search the DSDT for the field names that are higher than 8-bit, none of them seem to be accessed (so in theory, there is nothing for us to patch). Using my stock DSDT and the ACPIBatteryManager.kext, all I get is the battery icon telling me I am on battery (even when plugged in). Have you got it going?

have you made any other edits to the DSDT or SSDT files other than brightness fix and disable Nvidia?

Thanks
 
Status
Not open for further replies.
Back
Top