External monitor not waking up while the laptop wakes up from sleep. (Laptop -> USB-C -> DP -> Monitor)

Solution 1:

Disclaimer: This solution is for the monitors that are connected through the laptop's USB-C port.

When a computer (Windows-10) goes into sleep or hibernate or any power-save mode, it will often shut down power to the USB ports (except for the ports that are connected to the input devices such as keyboard or mouse). When the computer wakes up, those devices that are connected to the USB ports are not re-detected by the computer and thus you will not be able to communicate with it. To establish the link again, you would have to unplug and reconect manually, to reactivate the port.

The solution to this is simple. Just don't allow windows to shut down power to the USB ports.

Device Manager -> Universal Serial Bus Controllers -> USB Root Hub (Right click) -> Properties -> Power management tab -> Uncheck 'Allow the computer to turn off this device to save power'.

Most monitors nowadays, will automatically go into sleep mode when they don't detect the input signal, windows doesn't have to force it anymore.

Solution 2:

I'm using a Huawei Matebook 4 > Orico USB-C hub > HDMI+VGA monitors + USB mouse. The mouse works fine on wake, but screens are still dead and I have to unplug/replug my USB-C.

Vishnu's solution didn't work for me; I did it for all my USB Root Hubs but my screen still refused to wake.

This didn't work either, but adding here for reference in case it helps someone else: https://www.startech.com/en-us/faq/usb-video-adapters-windows-usb-sleep-mode

What DID work, is this: https://www.eightforums.com/threads/power-options-add-console-lock-display-off-timeout.8267/. It's rather complicated so I recommend going there for details, but in summary:

  1. Download a registry file that enables you to edit the "Console lock display off timeout", and add that to your registry.
    Alternatively you can do it manually - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\7516b95f-f776-4464-8c53-06167f40cc99\8EC4B3A5-6868-48c2-BE75-4F3044BE88A7] "Attributes"=dword:00000002
  2. Go to Advanced Power Options (Win+R > "control.exe powercfg.cpl,,3") > Display > Console lock timeout and change the timer accordingly, from 1 min to 9999 if you so please.
    (Advanced Power Options can also be accessed from Windows > Power & Sleep > Additional Power Settings > Change plan settings > Change advanced power settings)

Basically this extends the screen timeout when you lock Windows 10, so the monitor never sleeps.

Hope this helps anyone who is still having this problem.