Monthly Archives: September 2020

USB eXtensible Host Controller Preventing Computer from Sleeping

Recently I noticed that my desktop computer didn’t go to sleep automatically. I have Windows 10.

As an experiment, I manually put my computer to sleep by opening Start menu, clicking Power button, then Sleep:

My computer went to sleep for about 5 seconds and then woke up without me doing anything.

Common advice to troubleshoot Windows sleep problems is to use powercfg -lastwake command. Here’s the output that I received:

Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Device
    Instance Path: PCI\VEN_8086&DEV_A36D&SUBSYS_50071458&REV_10\3&11583659&0&A0
    Friendly Name: Intel(R) USB 3.1 eXtensible Host Controller - 1.10 (Microsoft)
    Description: USB xHCI Compliant Host Controller
    Manufacturer: Generic USB xHCI Host Controller

Why would Intel(R) USB 3.1 eXtensible Host Controller wake up my computer? I was stuck trying to figure that out. Then I saw a post on Super User website and realized: it’s actually one of USB devices connected to USB host controller that wakes my computer up!

I opened Device Manager and switched view to ‘Devices by connection’:

I had 4 USB devices connected to the host controller:

  • Uninterruptible Power Supply (UPS)
  • Keyboard
  • Mouse
  • Webcam

I bought UPS not long ago so most likely it was the actual culprit. To confirm I disconnected it from my computer and put it to sleep again. This time it stayed asleep as intended. Mystery solved.

In the end I decided to keep UPS disconnected from my computer. Initially I connected it using USB cable so that Windows 10 would automatically hibernate if there is power loss. I’d love to figure out how to configure Windows so that it goes to sleep after 15 minutes of inactivity but wakes up if there is power loss, wait for 1 minute and then hibernates by dumping all memory to disk.