Contribute
Register

HP Envy 14-1150ed - El Capitan

Status
Not open for further replies.
Joined
Jun 28, 2013
Messages
57
Motherboard
ASUS Z170-A
CPU
i5-6600K
Graphics
HD 530
Classic Mac
  1. iMac
Mobile Phone
  1. iOS
Hello,

So after I gave up last year I want to install OS X on my laptop again.
It is a HP Envy-1150ed
- Intel Core i7-720qm
- HM55
- ATI Radeon Mobility HD 5650

I have WiFi working using the 2012 MacBook Air SMBIOS. The graphics card is working using clover settings as well. But I have to boot using "cpus=1". And I am trying to patch my DSDT (battery, audio, CPU(?)). That's where i'm stuck. At first i thought that i could use patches from RehabMan's patch github, but then i noticed that the registers are different. So i decided to make them on my own. I think I followed the guide, and I read the first few pages of comments. But when I compile my DSDT I get 201 errors. So my conclusion is that I'm doing something wrong. But I can't figure out what it is. I have included my DSDT, patches and the DSDT that I've tried to patch.

Thanks,
Liam.
View attachment DSDT.zip
 
But I have to boot using "cpus=1".

Use correct config.plist...

http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html

So i decided to make them on my own. I think I followed the guide,

Note error:
Code:
   V040,8[B].[/B]V041,8,

Should be:
Code:
   V040,8[B],[/B]V041,8,

The error comes from the typo:
Code:
into device label H_EC code_regex CV04,\s+16, replace_matched begin V040,8[B].[/B]V041,8, end;

After fixing that, you're a lot closer. Pay attention to detail.

Note that you have all the buffer registers to deal with (BDN0, BMN0, etc).
 

I think the link in this guide only provides config.plist for configurations using Intel HD graphics, but my laptop doesn't have any Intel HD graphics.

Note error:
Code:
   V040,8[B].[/B]V041,8,

Should be:
Code:
   V040,8[B],[/B]V041,8,

The error comes from the typo:
Code:
into device label H_EC code_regex CV04,\s+16, replace_matched begin V040,8[B].[/B]V041,8, end;

After fixing that, you're a lot closer. Pay attention to detail.

Note that you have all the buffer registers to deal with (BDN0, BMN0, etc).

Thank you! I only have 6 errors left now.
screenshot1.png

I thought the first four are fixable by replacing for example "BFC0" with "(B1B2(FC00,FC01)", but that gave me another error (syntax error, unexpected '('). How do I fix that?

Thanks,
Liam
 
I think the link in this guide only provides config.plist for configurations using Intel HD graphics, but my laptop doesn't have any Intel HD graphics.

Do research on requirements for your graphics. But the config.plist files from the guide will solve problems like cpus=1.

I thought the first four are fixable by replacing for example "BFC0" with "(B1B2(FC00,FC01)", but that gave me another error (syntax error, unexpected '('). How do I fix that?

Parenthesis must be balanced.
 
Do research on requirements for your graphics. But the config.plist files from the guide will solve problems like cpus=1.

Thank you very much!
I've now got all 4 cores working.

I continued patching my DSDT, but I'm stuck. I have now idea how to calculate the offset for the fields larger than 32-bit. I read that it's just prior offset + prior size, but how to find the size?

Thanks,
Liam
 
Thank you very much!
I've now got all 4 cores working.

I continued patching my DSDT, but I'm stuck. I have now idea how to calculate the offset for the fields larger than 32-bit. I read that it's just prior offset + prior size, but how to find the size?

Thanks,
Liam

The size is declared for each field.

For example:
Code:
Field(...)
{
   Offset(0x19),
  FOO,8
  FOO1,16,
  BAR,16,
  BAR2,16,
}

Calculated offsets:
Code:
Field(...)
{
   Offset(0x19),
  FOO,8 // 19
  FOO1,16, //1a
  BAR,16,  //1c
  BAR2,16, //1e
}

It is simple counting/adding.
 
The size is declared for each field.

For example:
Code:
Field(...)
{
   Offset(0x19),
  FOO,8
  FOO1,16,
  BAR,16,
  BAR2,16,
}

Calculated offsets:
Code:
Field(...)
{
   Offset(0x19),
  FOO,8 // 19
  FOO1,16, //1a
  BAR,16,  //1c
  BAR2,16, //1e
}

It is simple counting/adding.

So am i correct that in this example:

Code:
OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
                    Field (ECF2, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x10), 
                        BDNX,56,//BDN0,56,
                        Offset (0x18), 
                        BME0,   8, 
                        Offset (0x20), 
                        BMN0,   128, 
                        BCTX,112,//BCT0,112,
                        Offset (0x40), 
                        BDN1,   56, 
                        Offset (0x48), 
                        BME1,   8,
BDN0 has an offset of 0x10, which is declared
Then I think BCT0 has an offset of 1a, but how would I write this in the patch? (0xXX,112)

I have a feeling that I'm thinking all wrong, but I'm not sure.
Thanks for trying to explain,
Liam
 
So am i correct that in this example:

Code:
OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
                    Field (ECF2, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x10), 
                        BDNX,56,//BDN0,56,
                        Offset (0x18), 
                        BME0,   8, 
                        Offset (0x20), 
                        BMN0,   128, 
                        BCTX,112,//BCT0,112,
                        Offset (0x40), 
                        BDN1,   56, 
                        Offset (0x48), 
                        BME1,   8,
BDN0 has an offset of 0x10, which is declared
Then I think BCT0 has an offset of 1a, but how would I write this in the patch? (0xXX,112)

I have a feeling that I'm thinking all wrong, but I'm not sure.
Thanks for trying to explain,
Liam

BCT0 is at offset 0x30 (0x20+128/8).
 
BCT0 is at offset 0x30 (0x20+128/8).

Thanks, I thought I had finished patching my DSDT after I didn't get anymore errors, but i'm still having issues with my battery. After a while it says "No battery available" (screenshot 1), after switching power source it returns to normal for 20sec-1min (didn't time it), showing the percentage (screenshot 2). I'll also include my ioreg as I think you can see what I'm doing wrong then.

Screenshot 1:
1.png
Screenshot 2:
2.png

Thanks,
Liam

IOReg:
View attachment Liam’s MacBook.ioreg
 
Thanks, I thought I had finished patching my DSDT after I didn't get anymore errors, but i'm still having issues with my battery. After a while it says "No battery available" (screenshot 1), after switching power source it returns to normal for 20sec-1min (didn't time it), showing the percentage (screenshot 2). I'll also include my ioreg as I think you can see what I'm doing wrong then.

Screenshot 1:
View attachment 164987
Screenshot 2:
View attachment 164988

Thanks,
Liam

IOReg:
View attachment 164990

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, 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.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc

Also, post EFI/Clover folder (press F4 at main Clover screen before collecting).

Also post output of:
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
 
Status
Not open for further replies.
Back
Top