While Windows Vista has a whole host of new features to offer, it has one major problem that just won’t go away: it’s totally FUBAR’d after you resume from sleep or hibernate. Unfortunately, many of these issues weren’t present during the beta stage, and were somehow introduced in the RTM build of Windows Vista. This exclusive NeoSmart Technologies report describes some of the symptoms in detail, and we even provide links to possible fixes by Microsoft. All issues have been duly reported and confirmed by Microsoft, so this isn’t just some figment of our imagination. A number of these patches are scheduled to be included in Windows Vista SP1 (Codename Fiji).
Few computer “enthusiasts” turn off their PCs. Even with Bill Gate’s promised 6-second-boot (we’ve clocked an average of 42.6 seconds here on 8 different PCs), turning on a PC via a cold-boot requires waiting for all the various programs to load, the network to establish, the security policies to propogate; and you don’t get to brag about never turning off your PC – plus your uptime restarts. The alternatives were either hibernation (for laptop owners) or “Deep Sleep” for the rest.1
Throughout the beta, Deep Sleep in Windows Vista went great. It’s the default option (so long as it’s configured in the BIOS) when you click the shutdown button.2 It would put your computer in a low-power mode that recovered in a matter of 2 or 3 seconds, and didn’t crash! But in the final version of Windows Vista, something is very, very majorly wrong. On 6 of the 8 tested systems,3 recovering Windows Vista from a hibernate or Deep Sleep results in one of the following:
- When recovering from a hibernate: “Cannot find uxtheme.dll” appears whenever you attempt to run (almost) any program. No matter what you do, you can’t even run Task Manager. What’s worse, a restart doesn’t fix it, and because Windows Explorer also fails to launch with this error, you need to boot from the DVD and use System Restore – Safe Mode won’t work!4
- Failure to establish a network connection. Everything looks OK, but you can’t connect to the internet. Your LAN signal will be there, but the internet just doesn’t work. You must restart to fix it.
- Poor performance: though Task Manager will show normal CPU load, some of the drivers (they don’t appear in TaskMan) will attempt to use 100% of the CPU, resulting in a very laggy PC. You need to restart to fix it.
- No DWM. For no reason, DWM just won’t re-appear. This happens on ATi and nVidia, with or without the latest official drivers from the companies themselves. Manually running “dwm.exe” doesn’t work, you need to restart to fix it.
- BSOD on recovery. This is usually caused by the video drivers, and may or may not indicate something wrong with the kernel itself.
- No sound. Vista goes mute. Nothing you can do about it, no way to revive it, you just have to restart and let the re-done sound-stack load-up the way it should.
All of the above errors and more occur randomly and make using hibernation down-right impossible (unless you’re willing/eager to run System Recovery from the DVD!) and Deep Sleep a waste of time (seeing as you have to restart to “quick recover”). Most of the errors are indicative of a problem somewhere deep in the kernel, and it’s not going to be easy to fix it. Some people are blaming this on the PC/Hardware/BIOS itself, but it’s not the BIOS’ job to support the OS,5 and the only thing to blame here is a buggy ACPI model.
We’ve notified Microsoft of each of these errors, we’ve been told they’re real bugs and a fix is in the works for some issues, others are just as much of a mystery. Some of these can be solved when ATi and nVidia release their final (hopefully bug-free) drivers for Vista. Others may not be as willing to go away. Either way, an operating system that you have to shutdown in order to save on power isn’t exactly the biggest business model. The only good news is, this bug only recently made its way into Vista, so that may just mean it won’t be too hard to squash. For now, if you really need to keep your PC on all day and all night, check the list below for hotfixes that may work for you.
Patches by Microsoft (Updated 06/12/07)
Here’s a list of patches by Microsoft related to Vista and wake/resume problems. You may have to call MS directly for access to some of these patches. Stop errors are blue screens (BSODs).
- [KB-928135] – Windows Vista hangs on resume/wake
- [KB-928135] – USB-Related crashes on resume/wake
- [KB-929734] – Many problems on resume/wake
- [KB-927341] – “Manage Discs” WMP feature slow to respond after resume/wake
- [KB-933872] – Default Gateway missing after wakeup
- [KB-933778] – Applications with HotStart fail to load after wakeup
- [KB-929685] – No (HD) audio upon resume/wake (possibly permanantly)
- [KB-929577] – No bluetooth on resume/wake
- [KB-929762] – Stop error 0x9F on machines with firewire (IEEE1394) upon resume/wake
- [KB-929909] – Intel 945GM Chipset PCs won’t wake/resume
- [KB-930311] – No network with stop error 0x0000007E after resume/wake
- [KB-930495] – No firewire (IEEE1394) after resume/wake
- [KB-930570] – usbhub.sys stop error 0x00000044 on resume/wake
“Deep Sleep” is configured in the BIOS, and refers to the use of S3 power-saving mode instead of the default S1 setting. In S3, you’re machine actually kills the power to everything but the memory, and uses up about as much power as a single, tiny light (like those powering up your Christmas lights). And you get to instantly turn your PC back on, with all your programs running and in a matter of seconds (for real!). At least, that’s how it’s supposed to work. ↩
As opposed to using the shutdown menu, and selecting an option from there. ↩
All systems are modern, 100% x86 ACPI-compatible systems running Windows Vista Ultimate Edition, RTM. No systems are using non-signed Vista drivers, and no buggy software is installed. ↩
We obviously didn’t mess with uxtheme.dll, didn’t patch it, nor did we try to install any of XP’s theming software… ↩
Assuming, of course, that the BIOS conforms to the basic standards already defined and used by BIOS manufacturers everywhere ↩