Data Management Blog: Solved! internal_power_error BSOD on hibernate


Data Management Blog
Data management, Cloud, Transformation and anything else...

Solved! internal_power_error BSOD on hibernate

Strange title for the posting I know, but if you are having the same problem you'll recognize it. I've had this intermittent problem with hibernation and done a lot of research around it. It all began when HP replaced my motherboard because of a recall issue. It came back in good working order. However, whenever I tried to hibernate (on vista), it caused a BSOD (blue screen of death) and automatically rebooted. Not 100% of the time but the vast majority of the time.

I want hibernate because the laptop is in my bedroom and sleep mode allows a flashing blue light to continue indefinitely. At night, I don't want this flashing, so hibernate is perfect for my needs.

Did a bunch of research on this problem, which lots of other folks have had. Many said there was a process that somehow caused the machine to come out of hibernate immediately. Others said it was a BIOS issue. Still others said completely deactivate hibernation and then reactivate. The more adventurous of you can read more here, here, here, here, here, and here (even though I have 32 bit).

Here are some of the things I've tried:
Tried powercfg.exe /hibernate off and then back on. No effect. On power settings, completely disabled hibernate on all modes (power button, lid close, etc), then reactivated. No fix. I went into device manager and made sure none of the devices were "allowed to wake computer". No fix. Also checked task scheduler and removed any task that I thought could be responsible for waking the machine at the wrong time. Again no fix.

Someone suggested a corrupt hibernation file. Trashed it and had it create another. Not a fix. My BIOS is completely updated, so I didn't suspect that. And I didn't want to regress to an earlier version. (Also someone said this was fixed in SP1, but I already had that installed.)

So my solution came in this form. First, I disabled automatic restart. This allowed me to see the BSOD message before it rebooted. The error was "internal_power_error", which is of course horribly unclear. Here is how to disable auto restart from a help file:
1. Click on Start and then Control Panel.
2. Click on the System and Maintenance link.
3. Click on the System link.
4. In the task pane on the left, click the Advanced system settings link.
5. Locate the Startup and Recovery area and click on the Settings button.
6. In the Startup and Recovery window, locate and uncheck the check box next to Automatically restart.
7. Click OK in the Startup and Recovery window.
8. Click OK in the System Properties window.
9. You can now close the System window.
10. From now on, when a problem causes a BSOD or another major error that halts the system, the PC will not automatically reboot. Rebooting manually will be necessary.

Second, on my NVIDIA nForce Networking Controller (the culprit), I had previously made sure it was not allowed to wake computer. (Unchecked "Allow this device to wake computer" in power management tab.) The problem was that my system was trying to turn the device off to save power. In device manager, I "unchecked" the "Allow the computer to turn off this device to save power" box (see pic below, which has it checked as I found it originally). This seems to have fixed the problem. Not sure exactly why this was a problem, but I am happy nevertheless. I've been able to hibernate for a few days now with no errors. Hope this helps some of you out there with the same problem.

© Copyright Paul Kiel.