The Fix

The Microsoft Knowledge Base article that references the USB power drain problem also provides a solution to the problem, a simple registry edit that prevents the USB devices from keeping the processor from moving to lower power states.  The entire text of the KB article was actually anonymously posted in a Slashdot thread, and thus, is now publicly available.  As with any changes to your Windows Registry, be sure to hang onto a backup copy and make any modifications at your own risk:
A Windows XP SP2-based portable computer uses its battery power more quickly than you expect when a USB 2.0 device is connected

View products that this article applies to.

Partner Only Article Article ID : 899179

Last Review : July 12, 2005

Revision : 1.0

Important: This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 (https://premier.microsoft.com/kb/256986/) Description of the Microsoft Windows registry


SYMPTOMS

Consider the following scenario. You install Microsoft Windows XP Service Pack 2 (SP2) on a portable computer. Then, you connect a USB 2.0 device to the computer. In this scenario, the computer uses its battery power more quickly than you expect.

CAUSE

Windows XP SP2 installs a USB 2.0 driver that initializes any connected USB device. However, the USB 2.0 driver leaves the asynchronous scheduler component continuously running. This problem causes continuous instances of memory access that prevent the computer from entering the deeper Advanced Configuration and Power Interface (ACPI) processor idle sleep states. These processor idle sleep states are also known as C states. For example, these include the C3 and C4 states. These sleep states are designed, in part, to save battery power. If an otherwise idle portable computer cannot enter or maintain the processor idle sleep states, the computer uses its battery power more quickly than you expect.

RESOLUTION

Warning: Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. To resolve this problem, add the EnIdleEndpointSupport entry to the USB registry key. To do this, follow these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate, and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\USB

    Note: If the USB subkey does not exist, create it. To do this, follow these steps:
    a. Select the Services key. On the Edit menu, point to New, and then click Key.
    b. Type USB in the New Key #1 box to name the new key "USB."

  3. Right-click USB, point to New, and then click DWORD Value.
  4. In the New Value #1 box that appears, type EnIdleEndpointSupport, and then press ENTER.
  5. Right-click EnIdleEndpointSupport, and then click Modify.
  6. In the Value data box, type 1, leave the Hexadecimal option selected, and then click OK.
  7. Quit Registry Editor.
STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

APPLIES TO

  Microsoft Windows XP Service Pack 2, when used with:

  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
Unfortunately, the solution isn't completely ready for public deployment, as there are apparently still some scenarios where it doesn't fix the problem.  There may be issues with the problem re-appearing after putting your system to sleep, which are presently being worked on.  However, for the majority of situations, this simple registry modification should, in theory, take care of things.  With the solution in hand, and five notebooks to play with, we went to work.

Starting at the Beginning The Notebooks and the USB Devices
Comments Locked

61 Comments

View All Comments

  • Eris23007 - Monday, February 13, 2006 - link

    P.S. That's why you read more than just the intro and conclusion pages before asking questions.

    "RTFM"
  • DigitalFreak - Monday, February 13, 2006 - link

    Ha!
  • Eris23007 - Monday, February 13, 2006 - link

    The USB hard drive they tested with had its own power supply. The "USB Drive" was a flash device (USB bus powered), while the "External HDD" was:

    quote:

    Vantec NexStar 2 External 3.5" Hard Drive Enclosure (USB 2.0)

    Note that this device is entirely externally powered



  • UNCjigga - Monday, February 13, 2006 - link

    I will have to do some testing on my notebook with the 'workaround' fix installed. I could have sworn that around the time I installed SP2 on my lappy the battery life suffered, but this was about 6-12 months after I got it so I just figured the battery was getting old.
  • Ionizer86 - Monday, February 13, 2006 - link

    Wow, this is getting interesting. I'm surprised that this bug affects 915 based systems too. I wonder if this could be a broader issue that may affect intel 855 systems or AMD-based computers with chipsets from other vendors. I suppose I could do some playing around
  • Ionizer86 - Monday, February 13, 2006 - link

    No edit button... (accidental post before completion).
    I could test this out on my 855 based laptop if only I had Perfmon and the special plugin :)
  • Ionizer86 - Tuesday, February 14, 2006 - link

    Specs: Thinkpad R50e, Pentium M 1.5 on i855GME.

    I booted into Windows normal mode as cleanly as possible and ran Perfmon. The CPU was usually in C2 ~60% of the time and C3 ~35% of the time, for a total of ~95% in C2 or C3. Upon plugging in any of my USB stuff (an external hard disk, a Sandisk Cruzer mini, or even my IBM mouse), I'd get 95% in C2 and 0% in C3. Maybe my mouse is a USB 2.0 mouse; not sure.

    Battery draw goes from about 11.7W to 12.5W when I plug in my mouse.

    By adding the registry key, I no longer have the issue with the Cruzer or my external hard disk, but the problem with the mouse remains.

    Looks like MSFT has quite a problem at hand.
  • Accord99 - Tuesday, February 14, 2006 - link

    0.8W, maybe its the power draw of the mouse itself?
  • johnsonx - Monday, February 13, 2006 - link

    Adding to what Jason said, you only need the 'secret' plugin for Core Duo processors. The C3 state counter that Perfmon already has works fine on older platforms.
  • IntelUser2000 - Tuesday, February 14, 2006 - link

    quote:

    Adding to what Jason said, you only need the 'secret' plugin for Core Duo processors. The C3 state counter that Perfmon already has works fine on older platforms.


    Not just Core Duo, but: "As you can probably guess, Perfmon is inaccurate in this case. While Perfmon does a fine job of monitoring C3 states for older processors, it fails to handle properly the CPUs we're most interested in: the Pentium M and Core Duo."

Log in

Don't have an account? Sign up now