Freitag, 24. Februar 2012

Improving battery live on Dell Vostro V133 running Fedora 16 x86_64

Improving battery live on Dell Vostro V133 running Fedora 16 x86_64:

Just a few simple steps are required:

First turn off all unneeded processes:

$ sudo systemctl disable iscsi.service
$ sudo systemctl disable iscsid.service
$ sudo systemctl disable lldpad.service
$ sudo systemctl disable fcoe.service
$ sudo systemctl disable livesys-late.service
$ sudo systemctl disable livesys.service
$ sudo systemctl disable lvm2-monitor.service
$ sudo systemctl disable mdmonitor-takeover.service
$ sudo systemctl disable cryptsetup.service

Then instruct the linux kernel to turn on various power saving features:

$ cat /etc/rc.d/rc.local
#!/bin/sh
echo 2 > /sys/devices/system/cpu/sched_smt_power_savings
echo 1 > /sys/module/snd_hda_intel/parameters/power_save
echo 0 > /proc/sys/kernel/nmi_watchdog
echo 5 > /proc/sys/vm/laptop_mode
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy
echo min_power > /sys/class/scsi_host/host2/link_power_management_policy
echo min_power > /sys/class/scsi_host/host3/link_power_management_policy
echo min_power > /sys/class/scsi_host/host4/link_power_management_policy
echo min_power > /sys/class/scsi_host/host5/link_power_management_policy
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done
for i in /sys/bus/usb/devices/*/power/level; do echo auto > $i; done
amixer set Capture mute nocap
hciconfig hci0 down

$ ls -l /etc/rc.d/rc.local
-rwxr-xr-x 1 root root 880 Feb 24 03:09 /etc/rc.d/rc.local

Some powersaving features are configured via linux bootargs, if the corresponding features are compiled into the kernel:

$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Fedora"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX="usbcore.autosuspend=1 pcie_aspm=force i915.i915_enable_rc6=1 rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0  KEYTABLE=de-latin1-nodeadkeys LANG=en_US.UTF-8"

Then recreate grub config to contain those bootargs

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# remove all entries which are not needed:
$ gnome-session-properties 

And restart to let all configurations take affect.

Keine Kommentare:

Kommentar veröffentlichen