Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Every time I use some external device (pen-drive or external hdd) on my desktop, after some idle time my Windows 7 put it into sleep state, turning it off. Sometimes it sleeps and dont come back. There is a way to configure Windows to avoid the sleeping of my external device?

share|improve this question
    
I think that the advanced power option is working. –  Diogo Jul 7 '11 at 13:10
    
@KCotreau: Can you post it as an answear??? It solved my problem. Thanks –  Diogo Jul 7 '11 at 14:11

3 Answers 3

up vote 6 down vote accepted

Go into the Power Options in Control Panel, then click on "Change Plan Settings" for your plan, then there should be an option "Change advanced power settings", then look under the "Hard Disk" and "USB Settings" areas.

This one may not be the actual answer, but set your "Turn off Hard Disk after" to never (set 0), but I think the real one is to set "USB selective suspend settings" to "disabled" at least when plugged in...but maybe also when on battery if you are using it that way when it happens.

share|improve this answer

Windows USB are set to be disabled if idle to save power, you can disable this function by going to

  • Control Panel
  • Device Manager
  • Universal Serial Bus controllers (expend this)

You should see a list of Generic USB Hub

Right click on each one of them and select Properties | Power Management and uncheck the Allow the computer to turn off this device to save power

share|improve this answer
1  
It was already unchecked –  Diogo Jul 7 '11 at 13:14

I'm encountering the same issue (Windows 8.1) and none of the "power setting" solutions worked for me.

I ended up playing a movie file, an audio file... anything that cause regular accesses to the disk.

For less overhead, it should be feasible to write some script that just regularly access the disk, before it goes to sleep.


edit: here is a quick script that does the job. Just edit the file path according to your needs:

@ECHO OFF
SET FILE=F:\mzt7dbs5ffxamzsj.txt
SET TIMEOUT=30

ECHO.
ECHO File: %FILE%
ECHO Timeout: %TIMEOUT% seconds
ECHO.
ECHO Script is running...

:LOOP
ECHO whatever > %FILE%
TIMEOUT /T %TIMEOUT% /NOBREAK > NUL
GOTO LOOP

side notes:

  • I tried DIR but it didn't work as the results are cached. There should be some way that doesn't require to use a file.
  • Debugging was easy as my drive spins down every 40 seconds >_<
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.