Jump to content


Want a little more battery life? CPU, it's time for a 'Deep Sleep' ...


116 replies to this topic

#1 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 25 December 2007 - 03:21 PM

Over the last few days I have been monitoring XP's performance monitor (perfmon.exe) counters on the eeePC, and have noticed that the CPU would never enter a Deep Sleep (C3) low-power state. Its inability to enter this sleep state would indicate that most of the time the CPU ends up consuming about 0.6 Watts more than necessary during typical usage scenarios.

After further investigation, I have discovered that the webcam's USB Composite Device controller is responsible for the CPU's lack of Deep Sleep. Take a look at the below graphs:

Graph Shows-> Non-existant C3/Deep Sleep state when "USB Composite Device" is enabled
Posted Image


Graph Shows-> "Active" Battery Saving C3/Deep Sleep state when "USB Composite Device" is disabled
Posted Image


What you need to do in order to 'unlock' the processor's C3/Deep Sleep state:

1) Install Microsoft's KB918005 "Battery Drain Patch" for XP SP2. Deep Sleep will not be possible without this update.

For the I can neither confirm nor deny eeePC XP users ;) I have provided a direct link to the update:

http://download.micr...-v4-x86-ENU.exe

2) Disable the "USB Composite Device" in device manager.

Posted Image

Whenever you need to use the webcam you'll have to re-enable the "USB Composite Device". If time permits, I (or someone else :D) can make a tray utility that will allow you to toggle the device/webcam off and on.

I have not tested to see how significant the battery life gains are, but I have no doubt that we will get a few more minutes out of our eeePC battery :)

#2 Bremen

    Senior Member

  • Members
  • 543 posts
  • LocationTexas

Posted 25 December 2007 - 03:55 PM

I would be very interested in if this actually has a positive effect on battery life..... I never use the camera anyway, so no great loss to me.
iPad :)
Gateway LT2104u - 2 gig ram
Windows 7 Starter

#3 geoelectric

    Senior Member

  • Members
  • 298 posts

Posted 26 December 2007 - 06:47 AM

The KB article you link to doesn't really cover a situation where you'd have to do the patch -and- disable the device, though. It has one scenario where the patch works against the existing device, and two scenarios where the patch won't help at all. Are you sure you need to do both? If so, there must be two devices contributing to the problem--one that the patch helps, and the webcam.

#4 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 26 December 2007 - 09:25 AM

Without the patch, the issue affects all USB controllers on the eeePC that have (or had) a device connected to it. In regards to the web cam controller, Microsoft may not be aware that the USB Video Class drivers or a driver tied to that class may also need to be patched, guess we should send them an email.

I had a few hours to spare after the Xmas feast , so I decided to make a simple .NET 2.0 tray app that interfaces with Microsoft's DevCon command-line Device Manager application in order to toggle the webcam's USB controller off/on.

You can download the eeePC Webcam Tray App at http://dastudio.net/...eePCCamTray.zip

Extract the 'eeePCCamTray' directory to your drive, double click on 'eeePCCamTray.exe' to launch the application. You should see a miniature version of the application icon in XP's notification tray.

The tray app is straightforward to use:

- Hovering your mouse over the icon in the tray displays a tooltip that lets you know whether or not your eeePC webcam is currently enabled or disabled.

- Right clicking on the icon will present you with either an Enable Webcam, or Disable Webcam option, and also a "Close" option.

You should create a shortcut to the application in "Start-> All Programs-> Startup", doing so will allow the application to be loaded up once Windows has started.

If the application does not load you likely need to download .NET 2.0 framework http://www.microsoft...&displaylang=en

If it still doesn't work (hopefully we all have the same webcam hardware)... well too bad :P

Edited by NoeeePC4MeWellMaybe..., 05 January 2008 - 01:53 PM.


#5 .:Cyb3rGlitch:.

    Senior Member

  • Members
  • 783 posts
  • LocationSydney, Australia

Posted 26 December 2007 - 10:27 AM

Cheers dude, I'll check this out. :D
701 4G 7B | 0910 BIOS | 1GHz OCCT Stable | 1GB 667MHz RAM | nLited XP Pro

Visit my tutorial website! Cyb3rGlitch Tutorials

#6 naitsirk

    New member

  • Members
  • 5 posts

Posted 26 December 2007 - 10:35 AM

awesome :) i'll try this if i have some time later today

#7 .:Cyb3rGlitch:.

    Senior Member

  • Members
  • 783 posts
  • LocationSydney, Australia

Posted 26 December 2007 - 10:49 AM

It seems to work great. One question, why does it take 11MB of RAM?
701 4G 7B | 0910 BIOS | 1GHz OCCT Stable | 1GB 667MHz RAM | nLited XP Pro

Visit my tutorial website! Cyb3rGlitch Tutorials

#8 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 26 December 2007 - 11:42 AM

Taskmanager's algorithm for computing memory consumption does not work correctly with .Net apps. I'll let Tim Anderson explain why this is the case since his article does a pretty good job at doing so :)

http://www.itwriting.com/dotnetmem.php

Since using the tray app to disable the web cam, I definitely see an improvement in my fanless idle temperature. The temperature decreases when the webcam controller is disabled, while it slowly increases when enabled. I'm pretty positive that our battery life will be slightly improved (maybe +10/15 minutes).

#9 vitualis

    Senior Member

  • Members
  • 175 posts
  • LocationSydney, Australia

Posted 26 December 2007 - 12:02 PM

Great work!

Anybody up for doing some benchmarks and posting the results?

Regards.
Michael Tam

#10 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 26 December 2007 - 12:27 PM

Just another update:

WiFi on battery power uptime is 1hr 31 minutes as reported by the Atheros Utility, and XP's battery memter has just switched to 60% remaining. My screen brightness has been at 50%, and I have my WiFi adaptor's Transmit Power Level set at 1 mW as mentioned in http://forum.eeeuser...pic.php?id=6408. I haven't played any mulitimedia during this usage period.

#11 Steep

    Senior Member

  • Members
  • 367 posts
  • LocationScotland

Posted 26 December 2007 - 12:46 PM

If the webcam is causing you a problem and you don't use it at all just disable it in the bios, no USB Composite Device to worry about as the camera doesn't exist as far as windows is concerned.

#12 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 26 December 2007 - 01:41 PM

Steep, if you do not appy the XP SP2 patch, in order for the CPU to reach C3 "Deep Sleep", you'll have to disable the card reader, and the webcam, and also not plug a device into your USB ports.

Another update:

Battery meter switched to 20% remaining capacity after 2hrs 51 minutes w/WiFi On. There was a 5 minute period of heavy/constant WiFi usage when I copied a 900MB file from the network to a SDHC card. Unless the battery meter is acting up, I should get over 3 hrs w/WiFi On.

I can definitely say that my fanless eeePC feels MUCH cooler than it has ever been after being powered on for 5 hrs straight.

Final Update:

The battery completely drained, causing eeePC to shut itself off @ 3 hrs 15 minutes. As mentioned earlier, that's with Wifi on, and the screen brightness set at 50% :). I may have been able to get a minute or two more if I did not transfer that large file over WiFi to the SD card (which was only inserted for the duration of the file transfer).

Edited by NoeeePC4MeWellMaybe..., 26 December 2007 - 02:21 PM.


#13 kkthomas

    Member

  • Members
  • 14 posts
  • LocationHong Kong

Posted 26 December 2007 - 05:15 PM

Very Good Job !! I will try it !

#14 ohyes

    Senior Member

  • Members
  • 306 posts

Posted 26 December 2007 - 06:24 PM

Dear NoEEEPCwellmaybe,

Could you speak more to the reduction in fan use? One of my few complaints about the Eee is the fan coming on and its noise.

If this patch and procedure can reduce fan use, I think it's very important and should go in the wiki with that as a caption (not to discount the other merits).

Thanks for your offering!
John

old: 4g Pearl - 1GB DDR2 - WinXP Pro
new: 1g 1000H

#15 astern

    Member

  • Members
  • 21 posts
  • LocationSan Francisco, CA

Posted 26 December 2007 - 07:58 PM

Been lurking this forum for some time and finally registered... Thanks again for all of the wonderful tips


The C3 state enabler hotpatch is the single best trick to enable longer run-times and less fan usage. It's surprising that Asus didn't include it in the driver CD package.

This post should be sticky'ed for all WinXP users to see.
Andrew Stern
4g Surf - 2GB DDR2 - WinXP Pro

#16 jdmacken

    Member

  • Members
  • 16 posts

Posted 26 December 2007 - 09:01 PM

Thanks NoeeePC4MeWellMaybe... for the work you have done for everyone. I love this forum. I also agree this is sticky material.

Jeff

8g pearl white with xp2 and loving it

#17 Bremen

    Senior Member

  • Members
  • 543 posts
  • LocationTexas

Posted 26 December 2007 - 11:46 PM

Did it, and it works great....... THANKS!
iPad :)
Gateway LT2104u - 2 gig ram
Windows 7 Starter

#18 Neodudeman

    Senior Member

  • Members
  • 190 posts

Posted 27 December 2007 - 12:00 AM

Very interesting. Good work.

Do we know if this problem effects the original OS, Xandros?

Edited by Neodudeman, 27 December 2007 - 12:01 AM.

I love my Asus,
It is with me everywhere,
And does everything.

#19 ziddan

    Senior Member

  • Members
  • 115 posts

Posted 27 December 2007 - 12:44 AM

Installed it, dont know if i will notice any change though as i havnt had my eee for a week yet so i dont know what the battery time is really like.

#20 NoeeePC4MeWellMaybe...

    Senior Member

  • Members
  • 232 posts

Posted 27 December 2007 - 02:31 AM

Quote

Could you speak more to the reduction in fan use? One of my few complaints about the Eee is the fan coming on and its noise.
I actually disabled my eee PC fan by disconnecting the fan connecter under the keyboard tray, as outlined by Daijoubu in 'The Test' topic. I was using the default Xandros OS at that point in time.

I'm unsure if it will reduce how often the CPU fan comes on after it has initially started since the BIOS turns the fan on once the CPU temp reaches 55 degrees, and does not turn it off until it drops to ~46 degrees, which for most of our eeePC's will be an impossible fan halting temperature reach. BUT, the XP patch+tray app should increase the time it takes the fan to come on after a "cold boot".

When I posted the battery life results earlier today, my eeePC was idling around 55 degrees C after 5+hrs of light-average WiFi use. In the past, having the fanless eeePC on for 4-5 hrs straight, never moving it a cooler surface, would result in an idle temp of about 62 degrees C and the case would feel very very warm.

Quote

Do we know if this problem effects the original OS, Xandros?
When I had Xandros installed I did notice that /proc/acpi/processor/CPU0/power would occasionally report that the CPU was in a C3 state, but I wouldn't know if its C3 mode switching is as aggressive as XP's.

One thing to keep in mind, is that even with the XP patch & tray app, whenever you are actively using a USB device C3 Deep Sleep state can never be obtained. So If you make a habit out of constantly playing movies from your SD card, your battery life will likely remain unchanged.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users