[ltp] Re: what to use to save battery

David Abrahams linux-thinkpad@linux-thinkpad.org
Wed, 06 Sep 2006 10:32:31 -0400


Florian Reitmeir <florian@reitmeir.org> writes:

> On Die, 05 Sep 2006, Martin Aumueller wrote:
>
>> These suggestions all seem very interesting. However, could you please 
>> elaborate on some of them a little bit more?
> sure
>
>> > - a SD Card for the home directory
> this is easy, just buy one, use the newst kernel and put your home on it.

Hope you don't mind me asking questions, too... I have a lot to learn.

Why does that save power?  And why the home directory as opposed to,
say, /var?

My laptop doesn't support SD cards directly; I would have to buy a PCI
card to provide that feature.  Does that nullify the benefit?

>> > - use the busybox syslog daemon instead of syslogd and klogd
> The busybox syslogd is nice, it uses a memory buffer for logs. On my laptop
> there is no need for longterm logfiles. Under debian just install busybox.
> then use some startup script like:
>
> /etc/init.d/sysklogd stop
> /etc/init.d/klogd stop
> busybox klogd
> busybox syslogd -C 16
>
> now you can use the command "busybox logread" to get the last 16kb of logs.

Does that save much over laptop-mode-tools?  My disk seems to spin
down nicely.

>> > - disable the internal USB bus for bluetooth and the fingerprint reader so
>> > 	the laptop always can use C3/C4 even if the uhci_hcd is loaded (this can
>> > be done with unbind in the sysfs)
>
> http://lwn.net/Articles/143397/
>
> in my thinkpad and X60s there is an internal USBV1 bus, and the kernel
> activate that bus, because there is the fingerprint reader on it (and
> bluetooth).
>
> just unbind the usb host controller, and the cpu can use C3/C4. To use
> bluetooth it should fairly simple to script the "bluetooth" button to first
> bind the bus.. 

I'll have to ponder that one; sounds like a big win.

>> > - dim the display
> thats included in the ibm_acpi kernel module
>
>> > - use cpufreq
> there are normaly 2 drivers
> acpi cpufreq
> centrino cpufreq
>
> if you want to use undervolting .. you have to disable the acpi cpufreq in
> your kernel build.

Hmm, I'm confused.  I've built kernels with the linux-phc patches
before; I don't remember having to disable anything related to acpi
cpufreq.  Of course, I was never sure that linux-phc was having an
effect for me (I have a Core Duo and they haven't worked out the
mapping from MSR values to voltages definitively yet).

Since you actually have to patch the kernel to get linux-phc to work,
and you only mentioned disabling acpi cpufreq, I'm tempted to infer
from what you wrote that there's another way to get undervolting
that's built into the stock kernel.  Is that what you're saying?

>> > - don't use postfix/exim use ssmtp instead
> postfix/exim do periodic scans of the mail spool. normally i don't need a
> mailqueue on my notebook. ssmtp is a very simple and direkt MTA which is only
> active if i send a mail.

Unfortunately I think I am somewhat tied to exim.  I roam to a number
of locations where I can only send through one smtp server.  At home,
my ISP blocks smtp to anywhere but smtp.rcn.com.  At my dad's place,
it's smtp.comcast.net or nothing.  But in general, you can't use
either of these servers so I send through my own smtp server that's
outside any domestic cablemodem network.  I have exim set up to try
all of these alternatives.  Do you know of a way to get something like
ssmtp to do the same kind of fallback sequence?

I might need *some* kind of queueing -- or at least asynchronous
sending -- anyway because smtp.rcn.com (not to mention the fallback
sequence) can take annoyingly long to respond sometimes.

>> > - under gnome, disable beagle
>
> if you want to diable your disk when the laptop goes idle, it really is a bad
> idea to enable beagle .. it becomes active when the disk should spin down..

I have beagle enabled, AFAICT, and my disk still spins down.  On the
other hand, beagle seems to have indexed almost nothing on my disk and
I can't tell why.  Both beagled and beagled-helper are running.

>> > - use a 2.6.18-rcX kernel and enable alsa-power management
>
> the new 2.6.18 kernels have the nice feature for alsa and e1000 modules to
> disable power until the sound device is open / a network cable is detected.

Aha.  Maybe I should just skip over 2.6.17, then.  I do see a lot of
people using 2.6.18.rc2.  I'm just having a really hard time figuring
out how to build ieee80211 and ipw3945 support for 2.6.17 (especially
ieee80211, which wants to blow away associated modules for other
kernel versions when built out-of-tree), but I suppose 2.6.18rcX comes
with a recent enough ieee80211 that I don't need to install it
separately.

Whoa, do you really mean to say that the machine can detect a network
cable being attached without having the ethernet adapter powered up?

> for alsa its an compile time option (in the -mm tree)
> for e1000 its an kernel module option
>
>> How do I enable alsa power management? I didn't find a kernel config option.
>> 
>> > - use a 2.6.18-rcX kernel and use the new e1000 module for more powersaving
>> 
>> What does 'new' mean? The one e1000 module that is included with 2.6.18-rc6 or 
>> is there another module with a different name?
>
> the kernel docu isn't updated yet, but there is a module option:
>
> 2.6.18-rc4/drivers/net/e1000/e1000_param.c
>
> /* Enable Smart Power Down of the PHY
>   *
>   * Valid Range: 0, 1
>   *
>   * Default Value: 0 (disabled)
>   */
> E1000_PARAM(SmartPowerDownEnable, "Enable PHY smart power down");

Excellent; I know that powering down the ethernet made a big
difference on other laptops I've used.

>> > - enable wireless powersaving
> there are more the one way of enabling this..
> normally i use "iwpriv" for the intel 2200 or 3495 and just try a bit for the
> right power mode.

I'm using 7 for the 3495 based on a post I saw here, but I wouldn't
know how to tell if it was "right."  How do you know?  Is it just a
matter of how much reception/transmission power you need to reach the
AP?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com