Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
a1k0n

i5 2500k with HD3000 wake issue

22 posts in this topic

Recommended Posts

Hi there.

I have a Problem with my Intel HD 3000 after sleep.

Graphic Card wont wake up. Monitor is black. I can turn Volume Up/down and login but Monitor stays black with no signal.

 

System:

- z68x-ud3h-b3 with latest Uefi BIOS U1l

- i5 2500k with HD3000

- Clover v2605 on hidden Fat32 EFi-Partition

- OEM/z68x-ud3h-b3/UEFi Folder with own DSDT.aml

- 10.9.1 with Fusion Drive and Recovery HD (SSD-HDD)

 

All works great but no wake from sleep.

I'm also testing hibernate 29 but clover cant load image so i have boot with cancel hibernate.

Share this post


Link to post
Share on other sites

are you injecting or fixed this in dsdt:

- Graphic ID

- PNLF

- Does your Display have EDID Problems?

 

If this above is all working, try to switch to another Resolution...

 

Cheers :-)

Share this post


Link to post
Share on other sites

Hi and thx for help.

 

For Graphic ID iam using:

<key>Graphics</key>
	<dict>
		<key>InjectEDID</key>
		<string>Yes</string>
		<key>CustomEDID</key>
		<data>
		AP///////wAEcgkAcD9RgQ8SAQNoLx54KscgpFVJmScTUFS/74BxT4GAlQ+V
		AKlAswABAQEBITmQMGIaJ0AYsDZA2SgRAAAcAAAA/wBMQVAwODAwMzQyMTEK
		AAAA/QA4TB5TEQAKICAgICAgAAAA/ABBY2VyIFgyMjNXCiAgABw=
		</data>
		<key>Inject</key>
		<dict>
			<key>Intel</key>
			<true/>
		</dict>
		<key>ig-platform-id</key>
		<string>0x01268086</string>
	</dict>

and

<key>Devices</key>
	<dict>
		<key>FakeID</key>
		  <dict>
		    <key>IntelGFX</key>
		    <string>0x01268086</string>
		</dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>889</string>
		</dict>
	</dict>

Custom EDID i create with Windows and EDID Editor

 

Don't use PNLF because it s a Desktop PC ( is that a problem?)

 

In DSDT.aml i was use:

 Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Store (Package (0x0E)
                    {
                        "AAPL,slot-name", 
                        "Built In", 
                        "name", 
                        "Intel Graphics Controller", 
                        "model", 
                        Buffer (0x17)
                        {
                            "Intel HD Graphics 3000"
                        }, 

                        "device_type", 
                        Buffer (0x14)
                        {
                            "Graphics Controller"
                        }, 

                        "device-id", 
                        Buffer (0x04)
                        {
                             0x26, 0x01, 0x00, 0x00
                        }, 

                        "AAPL,snb-platform-id", 
                        Buffer (0x04)
                        {
                             0x10, 0x00, 0x03, 0x00
                        }, 

                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-1"
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

The second problem is i set power saving for monitor after 5 minutes. In Windows System stay alive an monitor goes sleep. After i move mouse or press any key monitor come back and i can login. Thats okay.

In Mavericks after 5min OSX log me out and Monitor stay alive. No Sleep.

 

 

Share this post


Link to post
Share on other sites

I see a couple of errors there.  

 

1- "0x01268086" is not a valid "ig-platform-id" value. Wiki

 

2-
"device-id",Buffer (0x04)
{
0x26, 0x01, 0x00, 0x00
}, 
and
        <key>FakeID</key>
         <dict>
         <key>IntelGFX</key>
         <string>0x01268086</string>
        </dict>
Are the same thing. Pick one, delete the other.
 
And upload a DarwinDump or at least a ioreg to see the whole picture.
 
EDIT: you may also wanna try enabling these Clover DSDT fixes: NewWay_80000000, FIX_INTELGFX_100000 & AddIMEI_80000. Wiki

Share this post


Link to post
Share on other sites

in your dsdt:

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Store (Package (0x0E)
                    {
                        "AAPL,slot-name", 
                        "Built In", 
                        "name", 
                        "Intel Graphics Controller", 
                        "model", 
                        Buffer (0x17)
                        {
                            "Intel HD Graphics 3000"
                        }, 

                        "device_type", 
                        Buffer (0x14)
                        {
                            "Graphics Controller"
                        }, 

                        "device-id", 
                        Buffer (0x04)
                        {
                             0x26, 0x01, 0x00, 0x00
                        }, 

                        "AAPL,snb-platform-id", 
                        Buffer (0x04)
                        {
                             0x10, 0x00, 0x03, 0x00
                        }, 

                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-1"
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    } 

there are some errors, it should look like this:

Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                           "device-id", 
                            Buffer (0x04)
                            {
                                0x26, 0x01, 0x00, 0x00
                            }, 

                            "AAPL,snb-platform-id", 
                            Buffer (0x04)
                            {
                                0x10, 0x00, 0x03, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

Cheers :-)

Share this post


Link to post
Share on other sites

I would recommend you to use just one method of injection. If you're injecting everything through DSDT then disable Clover's injector, because according to the dumped DSDT the device id is wrong: 0x16, 0x01, 0x00, 0x00. And if you want to use Clover's method then enable the injector and add the proper FakeID and ig-platform-id.

Share this post


Link to post
Share on other sites

The device id is correct, its desktop hd3000 id for snb Platform...

 

I know what you mean, on newer desktops/Laptops with ig-Platform-id it should Look like:

0x0X, 0x00, 0x26, 0x01

 

But to mention device-id is Not ig-Platform-id... Thats why this is device id:

0x26, 0x01, 0x00, 0x00...

 

He needs just the correct snb id...

 

And jes, if you use clover and dsdt and whatever, its Not good! Use only One of them!

 

Cheers:-)

Share this post


Link to post
Share on other sites

What I meant is that it seems the device-id on his DSDT is 126, but Clover is apparently injecting the 116 id and who knows what else on top of his DSDT properties. So the final result is a mix of settings leading to the issues experienced.

Share this post


Link to post
Share on other sites

What I meant is that it seems the device-id on his DSDT is 126, but Clover is apparently injecting the 116 id and who knows what else on top of his DSDT properties. So the final result is a mix of settings leading to the issues experienced.

Aah, got you now :-) Yes, that what i think too :-)

 

But however, he need to learn and find out how to fix it :-)

Share this post


Link to post
Share on other sites

Thx for replys.

Which ID i have to use for i5 2500k?

 

0x16, 0x01, 0x00, 0x00

 

or

 

0x0X, 0x00, 0x26, 0x01

 

or

 

0x26, 0x01, 0x00, 0x00...

 

Windows AIDA64 say s HD2000 (GT2)

Share this post


Link to post
Share on other sites

Try both, you never really know which will give better results but I recall someone testing and concluding 126 performs better, but who knows. But more important, test different snb-platform and ig-platform ids (for hd2000/3000 it's "0x00301000" or "0x00, 0x30, 0x10, 0x00" for DSDT).

 

I would recommend doing all that with Clover, as it can be changed within its interface in case your system refuses to boot.

 

For DSDT the correct format would be:

"device-id", 
Buffer (0x04)
{
   0x26, 0x01, 0x00, 0x00
},

Another thing you could try is changing the Mac model to a MacBookPro8,1-8,3. At least for my system those work much better than the MacMini or MacPro profiles.

 

 

EDIT: also add the MCHC and IMEI devices to your DSDT, I don't really know what they do but there are kexts loaded from them in ioreg so they must do something.

Device (MCHC)
{
     Name (_ADR, Zero)  // _ADR: Address
}
Device (IMEI)
{
    Name (_ADR, 0x00160000)  // _ADR: Address
}

Share this post


Link to post
Share on other sites

MCHC = Memory Controller Hub (Dram controller)

This is necessary for a good working osx.

But if its here, it will mostly be loaded too, see down for description:

 

IMEI = Intel Management Engine Interface

If you add imei device to your dsdt, it's only cosmetic...

because, imei will always be loaded, if you have imei in your Laptop/Pc,

the difference is only:

Without IMEI device, you see in ioreg under PCI0 a device called "pci8086xxxx@1F..."

and with IMEI device in your dsdt you see in ioreg under PCI0 instead of "pci8086xxxx@1F...", "IMEI@1F...."...

so you see... its only cosmetic...

 

Cheers :-)

Share this post


Link to post
Share on other sites

According to the ioreg within the DarwinDumper report, his MCHC device (8086,100) is not loading the "AppleSMCPDRC" kext that I do see loaded in my system.

Share this post


Link to post
Share on other sites

According to the ioreg within the DarwinDumper report, his MCHC device (8086,100) is not loading the "AppleSMCPDRC" kext that I do see loaded in my system.

 

Look in the zip i Attached:

 

MacbookPro 11,2 - Doesn't load AppleSMCPDRC

MacbookPro 10,2 - Loads AppleSMCPDRC

My IOREG + Kext loaded list - Doesn't load AppleSMCPDRC
 
Why? Look at the device-id's, now open AppleSMCPDRC and look into the Info.plist...
AppleSMCPDRC supports only 2 Devices...
 
​Sure, we can add a _DSM Method into MCHC Device, with faked Device-ID, but for what? Maybe the kext even doesn't support our devices, or our Devices are controlled via Firmware...
Even a rea MacBookPro 11,1 and 11,2 doesn't load AppleSMCPDRC...
 
Just to mention :-)
 
Cheers :-)

Kexts_ioreg.zip

Share this post


Link to post
Share on other sites

Perhaps it's for Sandy and Ivy Bridge systems only?

 

Still, his device id and mine (8086,100) are the same as the one on a real iMac12,2 which does loads the kext. That's why I recommended him to add the empty device.

Share this post


Link to post
Share on other sites

Sure, here's my ioreg and my DSM properties:

"subsystem-vendor-id", 
Buffer (0x04)
{
    0x6B, 0x10, 0x00, 0x00
}, 
"subsystem-id", 
Buffer (0x04)
{
    0x00, 0x00, 0x00, 0x00
}, 
"ig-platform-id", 
Buffer (0x04)
{
    0x00, 0x30, 0x10, 0x00
}, 
"device-id", 
Buffer (0x04)
{
    0x26, 0x01, 0x00, 0x00
}, 
"hda-gfx", 
Buffer (0x0A)
{
   "onboard-2"
}

Be aware that I don't use its output, just the graphics acceleration.

Share this post


Link to post
Share on other sites

the graphics part we already got working :-) clover injected just always 116 and not 126 :-)

116 is working too, he can use here vanilla frame buffer for VGA port

on 126 he needs patched frame buffer for VGA :-) but 126 is just better as 116 :-)

 

You ioreg is corrupt, can you use ioreg v 2.1?

 

Cheers :-)

Share this post


Link to post
Share on other sites

IOReg dumps work fine with rev 3.0.2, I can open it here no problem.

 

Anyway, here's a DarwinDumper ioreg report for you.

 

IORegistry.zip

 

EDIT: if what you want is to load the MCHC driver then you don't need to inject any property. An empty device called MCHC with zero address will do, I posted an example before.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×