Jump to content

[solved] Black screen after wake on HP 800 G4


sfritz
 Share

20 posts in this topic

Recommended Posts

Hi there,

Just owned an HP Elitedesk 800 G4 mini with I5-8500 - 16 GB, and I have some sleep/wake issues...

I used @deeveedee's method to install on my computer:

I cannot reply on his thread directly as I'm "Just joined" member.

First, thanks to @deeveedee for doing this...



I used his last EFI (0.8.1-r001) attached on his guide, computer works fine, running on macOS 12.4 - but I cannot wake it after sleep...

 

I tried a few things, without success.

 

What I did before install:

- Changed BIOS settings to same as PDF in original thread (my version is 02.15.00 Rev.A) - There are few more settings on Bios not shown in PDF on which I did not touch (I did set Bios to default value in a second time, and then changed everything as in PDF, but still same issue)

- Changed settings in Config.plist based on Macmini8,1 with SMBios

- Deleted USBPorts-NoHS14.kext and USBPorts-16.kext, hold USBPorts.kext and updated Config.plist with the resting kexts.

- Hold original Graphic DeviceProperties

 

With it, I could launch and install correctly.

 

After install, I did:

- Use pmset to set hibernatemode and proximitywake to 0

- Disable "Wake for Ethernet" and disable "Enable Power Nap"  - Not sure about "Wake for Ethernet", I do not have this as option, but Wake on Lan which I disabled

 

In this configuration, it works fine except wake issues...

 

My Config:

- HP Elitedesk 800 G4 mini 65W

- I5-8500 - UHD630

- 16 GB Ram

- 512 Sata SSD

- No NVMe
- No WIfi/Bluetooth connector

- 2+1 DP connector

- Connected to 2 DELL P2419H screens connected directly in DP



I'm using the native USBPorts.kext from EFI without changes...

I tried by deleting the SSDT-USBX.aml in case of USB conflict, but same issue... no wake.

I also tried different Graphic Device Properties, but still not possible to wake after sleep.

 

All the changes I tried work the same way... Computer works fine except waking.

I did "Reset NVRam" for each change... (it's a trap as I had to change boot order each time after in BIOS)


I do not know if my issue comes from Graphic Device Properties, or rather from USB or something else...

 

What happens:

- I changed settings to turn display off after 5 minutes

- After 5 minutes without moves, both displays go off:

    - If I move mouse or keyboard in the 20 to 30 seconds after screens get off, it works, and I go back to desktop (without password)

    - If I wait longer, both screen stay black - no reaction at all

 

I tried a few things, like disconnect and reconnect DP cables, or mouse/keyboard USB... without effect - only way is to force computer to turn off.

 

It seems rather as if it does not wake up at all, as the green LED next to the power button do not blink at all when trying to wake. (in my conditions, green LED blinks regularly in normal use, but does not when sleeping)

Meanwhile, I disabled sleep mode by checking "Prevent your Mac from automatically sleeping when the display is off", but I would prefer sleep mode.

Do you have any idea how to solve this issue?

Edited by sfritz
Link to comment
Share on other sites

@sfritz The behavior you describe could be caused by a BIOS setting, your config.plist or a graphics adapter.  Please provide the following information:

  1. In your BIOS, make sure that you have enabled Intel ME.  Check the other BIOS settings against the BIOS instructions attached to this post.
  2. In your first post (very well written by the way), you say you're using DP->DP.  Please confirm that you are not using any graphics adapters (e.g., DP -> HDMI adapter).
  3. Please provide copy of your EFI by attaching a compressed copy of it in this thread.  Before uploading your EFI, delete MLB, ROM, SystemSerialNumber and SystemUUID from PlatformInfo > Generic in your config.plist.

 

EDIT: : Please provide the mfg/model of the SSD you are using.  You may also wish to use the attached script to make sure your pmsettings are correct.

pmset-fix.zip

Edited by deeveedee
Link to comment
Share on other sites

@deeveedee Hello, thank you for trying to help.

 

1. About bios, I checked a few times... I even set everything to factory default and set all the settings as shown in PDF again... I confirm "Intel ME" is enabled.

 

2. I also confirm there are no adapters between EliteDesk and screens, it is connected with DP to DP connectors.

 

3. EFI is attached

 

 

I also used your pmset-fix file, here my pmset -g:
 

System-wide power settings:
Currently in use:
 standby              0
 Sleep On Power Button 1
 womp                 0
 autorestart          0
 hibernatefile        /var/vm/sleepimage
 proximitywake        0
 powernap             0
 networkoversleep     0
 disksleep            0
 standbydelayhigh     86400
 sleep                0 (sleep prevented by bluetoothd)
 hibernatemode        0
 ttyskeepawake        1
 displaysleep         5
 tcpkeepalive         0
 highstandbythreshold 50
 standbydelaylow      86400

sleep is set to 0 as I disabled sleep mode by checking "Prevent your Mac from automatically sleeping when the display is off" in "Energy Saver"

 

 

My SSD is a GOODRAM CX400.

 

 

 

By the way, can you check if the green LED is blinking when your EliteDesk is in "Sleep" mode?

 

Thank you,

EFI.zip

Link to comment
Share on other sites

@sfritz I will review your EFI.  There are two LEDs on the front of my EliteDesk 800 G4 and G5 Mini Computers: one LED is on the power button and one LED is to the left of the power button.  The LED to the left of the power button is the Hard Drive activity LED.  The LED on the power button blinks when my hack is sleeping.  I don't have any "green" LEDs on the front of my EliteDesk 800 G4 or G5 Minis.  The LEDs are white.  Are you certain you have an EliteDesk 800 G4 Mini?

 

EDIT: Here are my observations after reviewing your EFI:

  1. Since you do not have an NVMe SSD, disable NVMeFix.kext kext in your config.plist
  2. Temporarily restore the config.plist to my original recommended state as follows:
    1. Temporarily remove AAPL,slot-name from your audio and graphics DeviceProperties to see if that makes a difference
    2. Temporarily disable SMCSuperIO.kext and SMCProcessor.kext to see if that makes a difference
  3. Since you are using a SATA SSD, enable Kernel > Quirk > ThirdPartyDrives in your config.plist (I do not need this because I do not have a SATA SSD)
  4. Add --preserve-boot argument to UEFI > Drivers > Item 3 to preserve boot order when you reset NVRAM (won't fix your sleep issue, but just letting you know)

 

EDIT2: When I installed macOS on a SATA SSD, I needed another kext as noted here.  Did you have any issues with the macOS installer "seeing your SATA SSD?"

Edited by deeveedee
Link to comment
Share on other sites

@deeveedee I did the changes you have listed, and I found some new strangeness...

 

First, I confirm it is an EliteDesk 800 G4 Mini... I have a white LED for the Power Button and a small green LED for hard drive activity.

 

After enabling Kernel > Quirk > ThirdPartyDrives, my computer put finally to sleep mode...
After a few minutes in sleep mode, I touched my keyboard, and it went back to login/password menu as wanted... 😃

I tried a second time without restarting the computer, and here the displays went off, but it did not go to sleep mode and I had to force restart...🥺

 

It is really strange... After a normal startup, I can go to sleep mode once... but after it went to sleep, it is not possible anymore until restarting. I tried it 3 times, and each time it worked correctly the first sleep, and I had to force restart for the second sleep.

 

What I also noticed is the power button LED.

When sleep mode works correctly, Power Button LED is blinking, but when it does not (the second sleep), the Power Button LED remains ON.

In fact, I think my computer cannot get to sleep mode correctly the second time, but I do not understand why.

 

 

By the way, I have not tried the Catalina patched AppleAHCIPort.kext, but I could normally install without.

Link to comment
Share on other sites

@sfritz Please confirm that you made the following changes:

  • disable NVMeFix.kext kext in your config.plist
  • remove AAPL,slot-name from your audio and graphics DeviceProperties
  • disable SMCSuperIO.kext and SMCProcessor.kext

 

With each of your posts, please post your sanitized config.plist so I can review your changes.  By sanitized, I mean that you have removed the private data from PlatformInfo.

 

While we figure this out, please continue testing with the EFI that I posted (changing only the following):

  • enable Kernel > Quirk > ThirdPartyDrives
  • Change graphics DeviceProperties for your DP ports

 

One other thing - please add No-hda-gfx back into your audio DeviceProperties.  Look at my config.plist in the EFI that I posted here.

 

If you're doubtful of your config.plist changes, please copy the config.plist from my posted EFI and make only the changes above.  I would suggest using XCode or a plist editor to make the changes (not a configurator).  It looks to me like there are more changes to your config.plist than necessary.  The multiple changes make it more difficult for me to analyze your changes and compare to my config.plist.

 

If you have confirmed the above and sleep is still not working, do you have another SATA SSD that you can try (to replace your GOODRAM CX400)?

 

EDIT: When you make any config.plist / EFI changes, please remember to Reset NVRAM before booting macOS with your EFI changes.  After you add argument --preserve-boot, you won't lose your configured BIOS boot order.

Edited by deeveedee
Link to comment
Share on other sites

@deeveedee

Hi, I confirm I did yesterday:

  • disable NVMeFix.kext kext in config.plist
  • remove AAPL,slot-name from audio and graphics DeviceProperties
  • disable SMCSuperIO.kext and SMCProcessor.kext
  • enable Kernel > Quirk > ThirdPartyDrive

I did one change at a time, and what changed something was enabling Kernel > Quirk > ThirdPartyDrive that let me go to sleep once, but not twice without restarting my computer.

I Reset NVRAM each time

 

For now, I downloaded your EFI again, and did only these changes:

- Added private data from PlatformInfo (MLB, ROM, SystemSerialNumber and SystemUUID)

- Deleted USBPorts-NoHS14.kext and USBPorts-16.kext, hold USBPorts.kext.

- Deleted NVMeFix.kext file + in config.plist

- Hold original Graphic DeviceProperties as yours

- enable Kernel > Quirk > ThirdPartyDrive

 

All the modifications in config.plist were done with ProperTree.

Same results as yesterday: I can go to sleep once, but not twice.

The second time, displays went off, but I can see on the computer it does not enter in sleep mode as Power button LED remains ON, and I can hear the fan too.

EFI attached.

 

Edit:

What I also noticed is when I force shutdown after it does not enter in sleep mode:

- Computer should enter in sleep mode...

- Displays go black and go to sleep, computer power button LED remains ON, fan remains ON too

- I press the power button a few seconds to force shutdown

- I can hear the fan goes off

- After I remove my finger from power button, I can see the LED blinks as if it was in sleep mode...

- As it looked like sleep mode, I tried moving mouse or keyboard, but no reaction.

- When I press power button again, the computer restarts completely.

 

What I will try:

- Add Catalina's patched AppleAHCIPort.kext

- I have another SATA SSD, no NVMe. I will try fresh install on this other SATA SSD to see if there are changes... (SSD is Samsung 840 (basic)).

EFI.zip

Edited by sfritz
Link to comment
Share on other sites

@sfritz  Here's a link that might interest you.

 

Also, in your config.plist, your original DeviceProperties modifications for DP ports were fine.  Also add --preserve-boot argument to UEFI > Drivers > Item 3 so that your configured BIOS boot order is unaffected when you Reset NVRAM.

Edited by deeveedee
Link to comment
Share on other sites

@deeveedee I did some tests, but I am no further ahead...

I added Catalina's patched AppleAHCIPort.kext, but there is no difference.

I then tried a fresh install with the Samsung 840 SSD, but it failed and SSD died... (was old with many bad sectors)

And finally I did a fresh installation on the Goodram SSD, but there is still the same sleep issue.

 

For the moment, I will continue with this... Installation is functional. Maybe I will buy an NVMe in the future.

 

Edited by sfritz
Link to comment
Share on other sites

@sfritz I have installed Catalina, Big Sur and Monterey on multiple EliteDesk 800 G4 and G5 Minis (35W and 65W) with no problems with both SATA and NVMe SSDs.  If you are certain that you have an HP EliteDesk 800 G4 Mini and that your BIOS config is as specified in my guide, then my only guess is that you have a hardware issue.  If you haven't installed Windows 10 on your rig, try installing Win10 to see if sleep works properly under Windows.

 

I'm sorry that I don't have any further suggestions.  It's strange to me that you didn't need Catalina's patched AppleAHCIPort.kext to install post-Catalina macOS versions on a SATA SSD.

 

I'm stumped.

Edited by deeveedee
Link to comment
Share on other sites

@sfritz I owe you an apology. I have just reproduced your observed sleep issue on my EliteDesk 800 G4 Mini (specs below).  I have not seen this before and am working on it now.  I will post again when I have figured this out.

 

For this test, my system specs are as follows:

  • EliteDesk 800 G4 Mini 65W (i5-8600, 32GB RAM, BIOS Version 02.19.00)
  • SATA SSD (ADATA SU800 128GB)
  • No NVMe SSDs
  • Open Core 0.8.1 (using EFI posted here with customized PlatformInfo, --preserve-boot argument added to UEFI > Drivers > Item 3 and ThirdPartyDrives quirk enabled)
  • Monterey 12.4
Edited by deeveedee
Link to comment
Share on other sites

@deeveedee Hello, thank you for your reply. You don't owe me any apologies, you already made a lot for me and all the community.

On one hand it is reassuring you reproduced my issue, but on the other I didn't want to make you more work.

Just one question, do you have the same issue with the NVMe SSD as principle hard drive? I don't think so.

If the answer is not, I already know what to do...

And what happens if the Sata SSD is used as second drive?

Thank you

 

Edited by sfritz
Link to comment
Share on other sites

@sfritz I have limited my testing to an EliteDesk 800 G4 Mini 65W with only a SATA SSD (no NVMe SSDs).  Here is what I know so far:

  • Sleep works perfectly on an EliteDesk 800 G5 Mini 65W with two NVMe SSDs and a SATA HD.  macOS Monterey 12.4 boots from one of the NVMe SSDs.
  • Sleep does not work on EliteDesk 800 G4 Mini 65W with only a SATA SSD (no NVMe SSDs).

I haven't tested, but I suspect that sleep works on the EliteDesk 800 G4 Mini if booting macOS from an NVMe SSD instead of a SATA SSD.  I have more testing to do to figure this out.

Link to comment
Share on other sites

EDIT: @sfritz  For testing, I reverted to OC 0.7.1 (arbitrary choice) and sleep is working with Catalina (wasn't working with OC 0.8.1).  I'm not ready to blame OC, but clearly something changed in either OC or my EFI between OC 0.7.1 and OC 0.8.1 that broke operation with SATA SSDs.  I'm leaving my comments below, but I think that the need ApfsDriverLoader was a clue to me that I had an OC Driver problem.  I no longer believe that the solution is to use ApfsDriverLoader.

---------------------------------------

 

@sfritz I don't normally like to post a response until I've fully completed my own testing, but I thought it might be good for you to know the direction I'm heading with this.  It appears to me that somewhere along the way with OC releases, we now need the APFS EFI driver for macOS installations on SATA SSDs.  You can get it here.

 

The need for this APFS EFI driver is confusing to me, because I recently installed Catalina and Big Sur on a SATA SSD and didn't need it.  I can't reproduce those previous install steps, and can't figure out how I was able to install on the SATA SSD without the APFS EFI driver.

 

If you still want to experiment with installations on your SATA SSD instead of switching to an NVMe SSD, add the APFS EFI Driver to your OC/Drivers folder and add it to your config.plist.

Edited by deeveedee
Link to comment
Share on other sites

@sfritz I think I have isolated the cause of the sleep problem.  Try removing boot-arg  igfxfw=2 from NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args in your config.plist.  I don't know why, but this appears to be the culprit.

 

-----------------------

 

@sfritz I ended up reverting to Catalina to try to find a fully working baseline where my HackMini8,1 reliably sleeps/wakes repeatedly over multiple cycles when MacOS is installed on a SATA SSD.  With Catalina installed on a SATA SSD (full system specs below), I have found that I need to revert to OC 0.7.5 to be able to reliably sleep/wake Catalina over multiple cycles.  I know you're testing Monterey, but I needed to eliminate the potential issues with Big Sur and Monterey AppleAHCIPort.kext.  With the system as configured below, sleep/wake appears to be perfect.  Attached is my OC 0.7.5 EFI.  Please compare the attached EFI to my OC 0.8.1 EFI to see if you can find any issues that would be causing this.  Thank you.

 

System Configuration

  • HP EliteDesk 800 G4 Mini 65W (i5-8600, UHD630, Q370 Chipset, BIOS 02.19.00, 32GB DDR4 RAM)
  • OC 0.7.5 (EFI attached)
  • MacOS Catalina 10.15.7 (19H15)

Notes about the attached EFI

  • UEFI > APFS > MinDate/MinVersion are set to -1 to allow booting all supported macOS versions
  • Kernel >. Quirks > ThirdPartyDrives = True for SATA SSD
  • DeviceProperties > Add > PciRoot(0x0)/Pci(0x1F,0x3) > No-hda-gfx is defined because I am using DP->DVI Adapters
  • DeviceProperties > Add > PciRoot(0x0)/Pci(0x2,0x0) configured for DVI (framebuffer-con2-type = 0x00000004) for my DP->DVI adapters.  This conX-type is no longer supported for Monterey.

 

 

Note that my OC 0.7.5 EFI posted here and my OC 0.8.1 EFI posted here include change documents for revision history.

 

Below are the changes that I made when upgrading from OC 0.7.5 to OC 0.7.6.  Since it appears that sleep broke with my OC 0.7.6 EFI, this change log might offer some clues.

 

OC 0.7.6 EFI R002

  • EFI/OC/config.plist
    • DeviceProperties > PciRoot(0x0)/Pci(0x2,0x0) > framebuffer-conX-type: change from DVI (<04000000>) to HDMI (<00080000>) to enable DP->DVI adapters in Monterey and Big Sur

 

OC 0.7.6 EFI R001

  • EFI/BOOT: Update BOOTx64.efi
  • EFI/OC: Update OpenCore.efi
  • EFI/OC/Drivers: Update OpenRuntime.efi, AudioDxe.efi
  • EFI/OC/Kexts
    • Update AppleALC.kext 1.6.6 -> 1.6.7
    • Update VirtualSMC.kext 1.2.7 -> 1.2.8
    • Update Lilu.kext 1.5.7 -> 1.5.8
  • EFI/OC/Tools: Update tools
  • EFI/OC/config.plist
    • Add NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args > igfxfw=2 (for Apple's Intel GUC Firmware)
    • Remove NVRAM > Add > 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 > UIScale (moved to UEFI > Quirks)
    • Add UEFI > Output > ReconnectGraphicsOnConnect (Boolean, False)
    • Add Add UEFI > Output > UIScale (Integer, 0)
    • Add UEFI > Quirks > EnableVmx (Boolean, False)

 

Here are the documented Open Core 0.7.6 changes from OC 0.7.5

  • Fixed stack canary support when compiling with GCC
  • Added automatic scaling factor detection
  • Explicitly restricted ResizeAppleGpuBars to 0 and -1
  • Fixed OpenCanopy long labels fade-out over graphics background
  • Fixed ProvideConsoleGop not disabling blit-only modes (e.g. on Z690)
  • Fixed Alder Lake SMBIOS CPU model information
  • Added XCPM CPU power management ACPI table for Intel Alder Lake
  • Updated draw order to avoid graphics tearing in OpenCanopy
  • Fixed handling PCI device paths with logical units in ScanPolicy
  • Added ReconnectGraphicsOnConnect option for enabling alternative UEFI graphics drivers
  • Added BiosVideo.efi driver to use with ReconnectGraphicsOnConnect
  • Changed FadtEnableReset to avoid unreliable keyboard controller reset
  • Added EnableVmx quirk to allow virtualization in other OS on some Macs
  • Upgraded ProtectUefiServices to prevent GRUB shim overwriting service pointers when chainloading with Secure Boot enabled
  • Removed deprecated SSDT-PNLFCFL
  • Fixed handling of zero-sized Memory Attributes Table

 

 

OC0.7.5-EFI-r002.zip

Edited by deeveedee
Link to comment
Share on other sites

@sfritz That's great!  Maybe you can figure out how to mark this as solved.  By the way - you were right about the LED color.  My wife looked at the drive activity LED and told me "It's green!"  It just may be that I have a green/white color blindness ;)

Link to comment
Share on other sites

@sfritz I have proposed a fix for this issue that should allow you to use boot-arg igfxfw=2 boot-arg without the sleep problem.  My proposed fix is posted here.  It would help me if you could test my proposed fix and report your findings.  Thank you for your help.

  • Like 2
Link to comment
Share on other sites

@deeveedee Sorry for my late reply, I did just test OC 0.8.2 EFI R002 from USB, and it works fine for me.
 

Changes I have made:

- Added private data from PlatformInfo (MLB, ROM, SystemSerialNumber and SystemUUID)

- Deleted USBPorts-NoHS14.kext and USBPorts-16.kext, hold USBPorts.kext.

- Deleted NVMeFix.kext file + in config.plist

- enable Kernel > Quirk > ThirdPartyDrive

For the moment, it went to sleep 3 times without issues.
I have not tested much more, I will update SSD EFI to this version. I'll let you know in case of issues.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...