Contribute
Register

Surface Pro 4: Lid sleep/wake, power button and volume buttons

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,691
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Lid doesn't initiate wake ever, only sleep.

That's not what you wrote previously. Previously you said that if you opened the lid, it would wake, but the display wasn't working. Big difference between lid open doing nothing, and lid open not waking from sleep properly (eg. graphics problem).

Please be specific and clear with your description of the results.

Perhaps you should start over with clear descriptions of results. You can use an external monitor or remote desktop to differentiate between problems with internal display, vs. problems with external, vs. laptop not waking at all...
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,691
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Please see my quote above, I've re read it a few times and it looks right to me? The issue I'm trying to resolve is the behaviour of the lid.
When I enter sleep with the lid there's a problem (as described above).
At no time does opening the lid wake from sleep.

You wrote: "wait a few minutes, open lid. - keyboard lights up, but screen doesn't turn on."

Indicates laptop wakes on lid (eg. no problem with lid triggered wake), but something about graphics/brigthness is not working...

If lid was not triggering wake at all, there would be no result (eg. no change in key backlight).
 
Joined
Jan 30, 2012
Messages
22
Mac
Classic Mac
Mobile Phone
You wrote: "wait a few minutes, open lid. - keyboard lights up, but screen doesn't turn on."

Indicates laptop wakes on lid (eg. no problem with lid triggered wake), but something about graphics/brigthness is not working...

If lid was not triggering wake at all, there would be no result (eg. no change in key backlight).

You are 100% correct, and I am 100% incorrect. I made an assumption that the laptop was still sleeping, I'm going to test with an external display per your suggestion and will write a new post with all scenarios.
 
Joined
Jan 30, 2012
Messages
22
Mac
Classic Mac
Mobile Phone
Ok. I've cleaned up my posts to keep this on track and start fresh. Please see the scenarios below:

No external monitor connected:
Sleep with apple - sleep/wake with keyboard -> display wakes as expected no issue
Sleep with lid - wake with lid -> laptop wakes (keyboard lights up) but display does not. After pressing key on kb display comes on at 30% brightness no brightness adjustments working. Display turns off after a very short period of time and is rewoken by pressing a key on kb.

With external monitor connected:
Apple sleep - wake with kb -> external display wakes and works ok, internal display garbled. System preferences sees the display as being on.

Sleep with lid - internal display turns off and external changes to the primary display (dock moves) -> when the lid is opened the internal display stays off and doesn't come back on.
 
Joined
Jan 30, 2012
Messages
22
Mac
Classic Mac
Mobile Phone
After reading another thread I took a look with acpi debug to see what was happening when the lid was closed and open and it's below;

Close lid:

default 10:55:21.608028 -0800 kernel ACPIDebug: "GPE _L17 enter"
default 10:55:21.608889 -0800 kernel ACPIDebug: "LID0._LID enter"
default 10:55:21.609093 -0800 kernel ACPIDebug: { "LID0._LID returning", 0x0, }
default 10:55:22.715691 -0800 kernel kPEDisableScreen 1
fault 10:55:22.946151 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 0 failed
fault 10:55:22.964918 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 2 failed
fault 10:55:23.053183 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 0 failed
fault 10:55:23.071369 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 2 failed
fault 10:55:23.119845 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 0 failed
fault 10:55:23.138065 -0800 kernel bool IOAccelDisplayPipe2::init_framebuffer_resource(uint32_t, IOAccelResource2 *): getCurrentDisplayMode for framebuffer 2 failed

Open lid
default 10:56:06.379058 -0800 kernel ACPIDebug: "GPE _L17 enter"
default 10:56:07.197838 -0800 kernel 003200.742082 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
 
Joined
Jan 30, 2012
Messages
22
Mac
Classic Mac
Mobile Phone
ACPIDebug is awesome when you actually think about using it lol. I added some debug lines to my dsdt and found that when the lid was opening it was seeing \_SB.SGII (0x02020017, Zero) and not doing anything else.
Not sure if I did it right but I just added the notify as below;
If (LEqual (\_SB.GGIV (0x02020017), Zero))
{
\_SB.SGII (0x02020017, Zero)
Store (One, Local0)
\RMDT.P1 ("_SB.GGIV (0x02020017), Zero")
Notify (\_SB.LID0, 0x80)
}

Not sure if it's the right way to do it, and I haven't fully tested, as of now when I close the lid the internal panel turns off, and when I open the lid the panel turns back on successfully.

I'll have to do some more testing later on how sleep is working.

Any thoughts on the volume/power button?
 
Joined
Jan 30, 2012
Messages
22
Mac
Classic Mac
Mobile Phone
Resolved all issues thanks to rehabmans awesome debug and keyboard tools!

Thanks so much for your patience with me on this.

Cheers.
 
Last edited:

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,691
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Resolved all issues thanks to rehabmans awesome debug and keyboard tools!

Thanks so much for your patience with me on this.

Cheers.

So what was the ACPI problem and fix?
 
Top