locked
Return to sleep - Idle Timeout RRS feed

  • Question

  • Dear Vista gurus,

    I'm suffering a very odd problem with waking up a PC from hibernation.

    I have an older PC that I've dropped in some drives to use as a backup server. It has Vista Ultimate 32 bit installed.

    I want to wake up the PC at defined intervals so that back-up scripts can copy my changed files over the network for this back-up function.

    I've set up two scheduled tasks that run 3 times a day, (Morning, Afternoon, and late Evening). These two tasks switch on the PC, then shut it down at an arbitary point when I expect the backup to have completed.

    PC wakes up and nods off fine on the scheduled tasks, however when the PC wakes up it goes back to sleep within 2 minutes every time.

    The same happens if I wake the PC by a single touch of the mouse button or keyboard.

    If I power up the PC by hand, or touching the keyboard and then doing something, even just moving the mouse once I get to the log on screen the PC keeps running. Because of this, I've put all my attention into the "Return to sleep - Idle Timeout" values.

    I checked the registry as below:

    Balanced Power Scheme
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0\DefaultPowerSchemeValues\381b4222-f694-41f0-9685-ff5bb260df2e\

    High Performance Scheme
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0\DefaultPowerSchemeValues\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c\

    Power Saver Scheme
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0\DefaultPowerSchemeValues\a1841308-3541-4fab-bc81-f71556f20b4a\

    Values Tried without effect:
    ACSettingIndex = 0 (Unlimited),21600 (six hours),86400 (Twenty Four Hours)
    DCSettingIndex = 0 (Unlimited),21600 (six hours),86400 (Twenty Four Hours)

    For each of these I have also tried restoring the power schemes to their default settings first before trying the new values, nothing appears to be working as expected, and the PC continues to return to hibernation after 2 minutes.

    I know that the ACSettingIndex and DCSettingIndex keys exist in many other devices, however withut understanding the effect, I'm loath to interfere with these other timeout values.

    Can anybody shed light on what is happening and how to get the PC to remain awake once I ask it to wake up.

    Many thanks for any advice or ideas as to where I might look next.
    • Moved by Carey FrischMVP, Moderator Saturday, March 10, 2012 4:16 AM Moved to more appropriate forum category (From:Windows Vista Setup)
    Friday, March 9, 2012 11:20 AM

All replies

  • Why wouldn't you use the control panel to change power options? Vista and Seven are very similar...

    Hopefully you backed your registry up...and the key "DefaultPowerSchemeValues" should have rung a few (warning) bells.

    You should be able to do everything you need to without touching the registry (after you restore yours btw) through Control Panel ->System and Maintenance -> Power Options -> Change plan settings -> (if need be) Change advanced power settings

    When you use the above to change power options and OBSERVE registry changes you will see that subkeys under
    HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\
    are affected.

    If you need to know the guid of the active power scheme you can just look at
    HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\ActivePowerScheme

    The keys you have been changing are only used afaik if the user (or windows) has not set a value for whatever for that particular power plan.

    Also, again afaik, the sub-guid 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 is not the sleep idle timeout. It's description is as follows :
    "Idle timeout before the system returns to a low power sleep state after waking unattended"

    The sub-guid you should be changing is 29f6c1db-86da-48c5-9fdb-f2b67b1f44da. It's description is as follows :
    "System idle timeout before the system enters a low power standby state"

    Again I would strongly recommend using the control panel to modify power options but if you really really want to do it the hard way you should try modifying these keys for the sleep timeout

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\381b4222-f694-41f0-9685-ff5bb260df2e\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\29f6c1db-86da-48c5-9fdb-f2b67b1f44da\ACSettingIndex

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\29f6c1db-86da-48c5-9fdb-f2b67b1f44da\ACSettingIndex

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\a1841308-3541-4fab-bc81-f71556f20b4a\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\29f6c1db-86da-48c5-9fdb-f2b67b1f44da\ACSettingIndex

    I wrote a simple sidebar gadget script in response to a question here to change sleep, monitor, and hard disk timeouts. Works on Vista and Seven. You just need to combine it with a background image and the example "Hello World" gadget.xml file and package it. You might also need to change the guids. It would be very easy to keep extending this script to cover all power options.


    ACSettingIndex, btw is for when the PC is plugged into AC power while DCSettingIndex is for battery power.
    • Edited by mystifeid Sunday, March 11, 2012 12:44 AM
    Sunday, March 11, 2012 12:26 AM
  • Hi Mystifeid,

    The reason I've not used the control panel is that this timeout is not accesible through the control panel. I'm not looking at the simple hard drive or monitor timeout, the "Return for idle timeout" is hard coded in the registry only.

    Basically if I do not touch a key within 120 seconds the PC thinks the wake up was an error, and returns to hibernation/sleep. As I need to get the PC to wake up remotly, and wait for an external action, the 120 seconds is causing chaos.

    I can return the values to the standard 120 seconds, but I'm then back where I started with a PC that refuses to obey my commands and "Wake up", and implicitly "Stay awake" until I tell it otherwise.

    I will return the default numbers to standard, and tweak the index as suggested, and let you know if that works.

    If the idle timeout was accessible via the control panel I'd be so much happier, as I do not enjoy "Tweaking" the registry just to get what I believe is a logical response.

    Many thanks,

    D.

    Sunday, March 11, 2012 7:24 PM
  • Hi Mystifeid,

    Tried, but cannot edit these values.

    Any further ideas on how to edit?

    I've run regedit under elevated permissions, but no joy. Error message is "Cannot edit **Settingindex: Error writing the value's new contents."

    BTW:I was trying to set to zero.

    Cheers,

    D.

    Sunday, March 11, 2012 7:35 PM
  • Sorry, mate - have got the bird flu or something and have been sick as a dog. Forget about my last post. (and maybe still be a little careful with this one)

    You are right, what you have been trying should work as long as you are not using a custom power plan.

    Can you please open the power options control panel and tell me (just out of curiousity)
    - what is the active power plan (so I can pick a guid)
    - what is the sleep idle timeout for the active power plan
    - what is the hibernate idle timeout for the active power plan

    Assuming you have chosen "balanced" - 381b4222-f694-41f0-9685-ff5bb260df2e

    you could try either changing 

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\B7A27025-E569-46c2-A504-2B96CAD225A1\DefaultPowerSchemeValues\381b4222-f694-41f0-9685-ff5bb260df2e\ACSettingIndex

    to 1, or changing

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\81cd32e0-7833-44f3-8737-7081f38d1f70\DefaultPowerSchemeValues\381b4222-f694-41f0-9685-ff5bb260df2e\ACSettingIndex

    to a higher percentage value.

    Does it make any difference if you disable "Require password on wakeup" ?

    There is a lot of different information on this available simply by searching "7bc4a2f9-d8fc-4469-b07b-33eb785aaca0"

    Most of it is fairly insistent that changing the keys as you have been doing should work.

    • Edited by mystifeid Monday, March 12, 2012 10:05 AM
    Sunday, March 11, 2012 11:57 PM
  • Hi Mystifeid,

    Had a look and these are my current power settings:

    High Performance[Active]

    Additional settings>Require a password on wakeup>setting [Yes]

    Hard disk>Turn off hard disk after>Setting[20 minutes]

    Wireless Adaptor Settings>Power Saving Mode>Setting[Maximum Performance] (Note No WiFi card)

    Sleep>Sleep after>Setting[Never]

    >Hibernate after>Setting[Never]

    USB settings>USB selective suspend settings>Setting[Disabled]

    Power buttons and lid>Power button action>setting[Shut down]

    >Start menu power button>setting[Sleep]

    PCI Express>Link State Power Management>Setting[off]

    Processor power management>Minimum processor state>Setting[100%]

    >Maximum processor state>Setting[100%]

    Search and indexing>Power Savings Mode>Setting[High Performance]

    Display>Turn off display after>Setting[20 Minutes]

    >Adaptive display>Setting[off]

    Multimedia settings>when sharing media>Setting[Allow the computer to enter Away Mode]

    I've restored the default idle timeout values to the original 120 seconds, but the problem persists.

    I'm going to gather the details of the scripts I'm using, possibly you might notice an issue with them causing this odd behaviour.

    Back soo with these data, many thanks,

    D.

    Tuesday, March 13, 2012 7:09 PM
  • Hi Mystifeid,

    This is the wake up export from the scheduler:


    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2011-11-04T14:33:24.1312678</Date>
        <Author>CABIN-SERVER\Admin</Author>
      </RegistrationInfo>
      <Triggers>
        <CalendarTrigger>
          <StartBoundary>2011-11-04T07:00:00</StartBoundary>
          <Enabled>true</Enabled>
          <ScheduleByDay>
            <DaysInterval>1</DaysInterval>
          </ScheduleByDay>
        </CalendarTrigger>
        <CalendarTrigger>
          <StartBoundary>2011-11-04T15:00:00</StartBoundary>
          <Enabled>true</Enabled>
          <ScheduleByDay>
            <DaysInterval>1</DaysInterval>
          </ScheduleByDay>
        </CalendarTrigger>
        <CalendarTrigger>
          <StartBoundary>2011-11-04T21:00:00</StartBoundary>
          <Enabled>true</Enabled>
          <ScheduleByDay>
            <DaysInterval>1</DaysInterval>
          </ScheduleByDay>
        </CalendarTrigger>
      </Triggers>
      <Principals>
        <Principal id="Author">
          <UserId>CABIN-SERVER\Admin</UserId>
          <LogonType>Password</LogonType>
          <RunLevel>HighestAvailable</RunLevel>
        </Principal>
      </Principals>
      <Settings>
        <IdleSettings>
          <Duration>PT10M</Duration>
          <WaitTimeout>PT1H</WaitTimeout>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>true</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <WakeToRun>true</WakeToRun>
        <ExecutionTimeLimit>PT30M</ExecutionTimeLimit>
        <Priority>7</Priority>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>C:\Windows\System32\cmd.exe</Command>
          <Arguments>/c "exit"</Arguments>
        </Exec>
      </Actions>
    </Task>

    Hopefully this makes sense to you, but my xml is not very hot;-)

    Cheers D.

    Tuesday, March 13, 2012 7:21 PM