I have a problem with Windows 7 not sleeping.
PowerCfg -requests
says a "Legacy Kernel Caller" driver prevents the sleep mode.
This is not very helpful or informative.
How do I get more details about that object?
EDIT:
I found that
Powercfg -requestsoverride
is the best way of dealing with such misbehaving drivers and software.
The option -requestsoverride is not very well documented.
MSDN doesn't mention NAME is case sensitive, and to remove a request from overrides list you give the option with blank REQUEST parameter.
Best Answer
Thanks for all the suggestions!
Finally I narrowed down the problem simply by trial and error, disabling devices and rebooting. It was a TV card driver hung and not releasing the power request despite being no longer in use.
EDIT:
Unfortunately, the problem with TV card is intermittently recurring. Googling shows it's also quite common. I found that disallowing the driver from making power requests with
solves it.
"Legacy Kernel Caller" is translated on different Windows language versions. On my Polish system it says "Starszego typu obiekt wywołujący jądro".