Last week after finishing up Chop it was time to get back to GigAlarm as we had enough usage data to know what was working and what wasn't, and looking into the resume issue was the number one priority. However, after putting in loads of test points, it was found that GigAlarm didn't seem to be causing the problem at all. The next step was closing GigAlarm, suspending and then resuming the computer... and it still re-suspended! GigAlarm logs indicated that there was a 2 minute period between the resume and suspend. This pointed to a idle shutdown setting, but since I have Windows (in this case Vista) set to only turn off the screen I was unsure what was causing the problem.
At this point I did a lot of research and found that it was a common problem, but with no good answer. I tried Stims, but to my annoyance it didn't help. Interestingly another user has a similar problem a while back, but I was unable to do anything about it as testing was difficult. Thus I saw this as a chance to try to work out a solution.
Our programming work is done on a Vista system, and Vista is quite paranoid about user input; it needs to or UAC doesn't work. Thus that might have been why Stims didn't help, but it's hard to be sure. I decided to look though GigAlarm logs to see when the problem first occurred, and knowing that I then looked at what changed that day. As it happened, on that day we installed a new NAS... and due to that having a built in media server I turned off Windows Media Sharing. I tried turning that back on... and the problem went away! So what is going on here?
Vista has a new ability called Away Mode. (It's also in an update to XP MCE 2005.) The purpose of this function is to let computers act like a DVR or a server while appearing off and/or using less power. It's all about making computers act more like a other electronic consumer devices, such as a DVD player, without losing any functionality. Having a computer ready to respond to, for example a remote, instantly without being on is hard. More and more computers in the future won't ever turn off, they'll just go to a lower power state. Away mode helps this happen by allowing programs to say that they need the computer to keep running if it's possible. Windows Media Sharing uses this function to disable the idle shutdown.
(As a side note, it's interesting that Vista also changes the way that suspend works; programs used to be able to prevent suspension, but under Vista they get a warning and nothing more. Also, there is no longer an easy way to reset the system idle timers on Vista. Away Mode seems to be a way to implement the previous ability but give the user more authority. It does break compatibility though...)
Thus it would seem that my computer has been set to turn off on idle. For the moment I've given up finding out why it's doing it (it could even be a BIOS driver issue), and while I did consider leaving Windows Media Sharing enabled just to "solve" the problem, it wasn't too hard to have GigAlarm set the system to enter Away Mode, and we have a beta of the new GigAlarm here. At the moment it's stuck on, but in the finished version will be an option. The process goes something like this;
Computer Resumes
GigAlarm checks if user is present, if not Away mode is enabled.
If user detected, Away mode is disabled.
If idle timeout set and exceeded, GigAlarm suspends/shutdowns the computer.
Several new log events have also been added as part of this new feature.
If anyone has had a similar experience feel free to EMail us about it or post it here. I'd like to know what other solutions exist... even if they are non ACAPsoft programs!


