Contribute
Register

<< Solved >> Black screen when wakeup from sleep

Status
Not open for further replies.
Joined
Nov 3, 2016
Messages
12
Motherboard
Dell XPS 9550
CPU
i7-6700HQ
Mobile Phone
  1. iOS
Code:
Laptop: HUAWEI Matebook D
Bootloader: Clover UEFI r4871
CPU: Intel Core i7-8550U, 3700 MHz
Mainboard chipset: Intel Sunrise Point-LP, Intel Kaby Lake-R (HUAWEI MRC-WX0-PCB)
RAM: Samsung 8 GB DDR4-2400 DDR4 x 2
Graphic: Intel UHD Graphics 620 + GeForce MX150
Sound: Realtek ALC256
Network: Intel Dual Band Wireless-AC 8265 + Externel USB WiFi
Display: 15.6inch, 1920x1080
SSD:
    (1) LITEON CV8-8E256 (238 GB)  NVME Win10 Home NTFS
    (2) Samsung SSD 860 EVO (250GB) SATA  macOS Mojave 10.14.3  APFS

Situation 1:
When I manual set the laptop to sleep by click Apple icon menu, it goes to sleep after about 20secs, the power led start blink, then I close the lid, the power led turn off (observe by a little gap).
When I open the lid, laptop wakeup and the screen is turn on immediately, I am able to enter the password and everything working fine.

Situation 2:
When I set the laptop to sleep by close the lid, it goes to sleep after about 20secs, the power led turn off.
When I open the lid, laptop wakeup(led is on) and the screen is black and no backlight, I am able to enter the password too (blind typing or using TeamViewer).
But after about 1 min, it auto goes to sleep (TeamViewer connection lost), and the power led start blinking.

I can't figure out the Situation 2, can someone help me to find out the problem?

Problem report attached.

The patchmatic extracted ACPI files can be disassembly by command iasl -d -fe refs.txt DSDT.aml SSDT*.aml, then manual delete some error line in DSDT.dsl.
 

Attachments

  • ProblemReport.zip
    3.7 MB · Views: 80
Last edited:
Code:
Laptop: HUAWEI Matebook D
Bootloader: Clover UEFI r4871
CPU: Intel Core i7-8550U, 3700 MHz
Mainboard chipset: Intel Sunrise Point-LP, Intel Kaby Lake-R (HUAWEI MRC-WX0-PCB)
RAM: Samsung 8 GB DDR4-2400 DDR4 x 2
Graphic: Intel UHD Graphics 620 + GeForce MX150
Sound: Realtek ALC256
Network: Intel Dual Band Wireless-AC 8265 + Externel USB WiFi
Display: 15.6inch, 1920x1080
SSD:
    (1) LITEON CV8-8E256 (238 GB)  NVME Win10 Home NTFS
    (2) Samsung SSD 860 EVO (250GB) SATA  macOS Mojave 10.14.3  APFS

Situation 1:
When I manual set the laptop to sleep by click Apple icon menu, it goes to sleep after about 20secs, the power led start blink, then I close the lid, the power led turn off (observe by a little gap).
When I open the lid, laptop wakeup and the screen is turn on immediately, I am able to enter the password and everything working fine.

Situation 2:
When I set the laptop to sleep by close the lid, it goes to sleep after about 20secs, the power led turn off.
When I open the lid, laptop wakeup(led is on) and the screen is black and no backlight, I am able to enter the password too (blind typing or using TeamViewer).
But after about 1 min, it auto goes to sleep (TeamViewer connection lost), and the power led start blinking.

I can't figure out the Situation 2, can someone help me to find out the problem?

Problem report attached.

The patchmatic extracted ACPI files can be disassembly by command iasl -d -fe refs.txt DSDT.aml SSDT*.aml, then manual delete some error line in DSDT.dsl.

Hi,
i can help you on this because you've the same problem i had on the same laptop. I also checked your DSDT and it is the same as mine so i think i can solve your problem.
The problem is in the _LID Method in your DSDT. Right now is :
Code:
Method (_LID, 0, NotSerialized)  // _LID: Lid Status
                {
                    If (ECOK)
                    {
                        UPDL ()
                        Store (Zero, LDRT)
                    }

                    Return (LIDS)
                }

You've to patch your DSDT and change the _LID Method in this :
Code:
 Method (_LID, 0, NotSerialized)  // _LID: Lid Status
        {
            If (ECOK)
            {
                UPDL ()
                Store (Zero, LDRT)
            }
            UPDL ()
            Return (LIDS)
        }

That's all. The second UPDL() will force the screen to reactivate after sleep.

Mattia
 
Finally, I made a patch to rename _PS0 -> XPS0, and write a dsl. (rename EC0 -> EC is also needed)
Code:
#ifndef NO_DEFINITIONBLOCK
DefinitionBlock("", "SSDT", 2, "hack", "_ECPS0", 0)
{
#endif

    External (_SB.PCI0.LPCB.EC, DeviceObj)
    External (_SB_.PCI0.LPCB.EC._Q8A, MethodObj)
    External (_SB_.PCI0.LPCB.EC.XPS0, MethodObj)
  
    Scope(_SB.PCI0.LPCB.EC)
    {
        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
        {
            \_SB_.PCI0.LPCB.EC.XPS0 ()
            \_SB_.PCI0.LPCB.EC._Q8A ()
        }
    }
      
#ifndef NO_DEFINITIONBLOCK
}
#endif
 
Finally, I made a patch to rename _PS0 -> XPS0, and write a dsl. (rename EC0 -> EC is also needed)
Code:
#ifndef NO_DEFINITIONBLOCK
DefinitionBlock("", "SSDT", 2, "hack", "_ECPS0", 0)
{
#endif

    External (_SB.PCI0.LPCB.EC, DeviceObj)
    External (_SB_.PCI0.LPCB.EC._Q8A, MethodObj)
    External (_SB_.PCI0.LPCB.EC.XPS0, MethodObj)
 
    Scope(_SB.PCI0.LPCB.EC)
    {
        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
        {
            \_SB_.PCI0.LPCB.EC.XPS0 ()
            \_SB_.PCI0.LPCB.EC._Q8A ()
        }
    }
     
#ifndef NO_DEFINITIONBLOCK
}
#endif
you could use clover to perform renames
check the hotpatch guide:

the section called Renaming Objects may help
 
you could use clover to perform renames
check the hotpatch guide:

the section called Renaming Objects may help

Yes, and the dsl is use for call original method and _Q8A .
 
Status
Not open for further replies.
Back
Top