Saving energy has many benefits:

  1. Getting green!

  2. Working longer on batteries

  3. Increasing lifetime of the computer, since it gets less hot

  4. Lowering energy bill

There are a lot of sites about power management:




Enable the ACPI (Advanced Configuration & Power Interface) stuff in the kernel, set the useflags and emerge sys-power/acpid start the daemon /etc/init.d/acpid start and add it to the default runlevel rc-update add acpid default.


There are smart batteries used in SBS (Smart Battery Systems) that contain lots of electronics that can be accessed through a dedicated SMBus. However this SMBus might not be directly accessed by the laptop's main CPU. The reason is the the SMBus host is a small microprocessor responsible for the battery management, and interference with the main CPU and it software might cause in the worst case an overcharging of the batteries. In case of LiPo batteries this could cause to produce gas pressure inside the batteries and this cold lead to an explosion.

However you can still do something with the batteries. Check that your kernel has enabled CONFIG_ACPI_SBS and CONFIG_ACPI_BATTERY.

To check your lap top batteries

cat /proc/acpi/battery/BAT1/info

cat /proc/acpi/battery/BAT1/state

Smart batteries can store data in non-volatile memory. It might therefore be necessary when smart batteries are repaired to reseted this non-volatile memory via SMBus. There are at least the following pieces on the SMBus:

  1. SMBus host interface (can be powered down)

  2. Smart battery charger

  3. Smart battery

There are usually 5 signals on the smart battery:

  1. Plus, Minus of the battery

  2. SMBus Clock and Data

  3. Safety Signal that is a temperature sensitive resistor to ground (2850 < Rss < 31.5k is normal temperature).

There are two types of Smart battery chargers:

  1. Level 2 act as slave only (the battery must initiate the communication)

  2. Level 3 can act as master and initiate a communication

Usually the Smart battery initiates a request to the Smart battery charger to deliver voltage and current. The smart battery can send out critical events.

To charge Li-Ion and Li-Polymer the voltage and the current must be controlled. Usually they will be charged with a constant current until the voltage has raised to a certain level. Then this voltage is kept constantly. Special care is necessary since when the batteries get overcharged they can explode. Usually there are battery packs, where the 3.5V batteries are put in series to produce 7V or 10.5V. It can happen that the cells in series are not equally charged and therefore one might become overcharged and the other undercharged, this could lead in the extreme case to explosion. To avoid that the a battery balancer checks and balances the voltage of every cell. Additionally battery backs have temperature sensor as additional check. However connecting Li-Ion and Li-Polymer in parallel is a common method to expand the capacity.

Talking to a smart battery SMBus address 0x0b can best be done using a USB to I2C converter, since the internal SMBus might not be accessible to the main CPU running Linux due to safety issues. So you have to remove the battery and connect it to the external I2C converter. This can be done using adhesive copper tape glued to plastic strips to make the contacts that can be plugged into the battery pack. Wires can be glued onto the copper tape stripes and epoxy resin fixes it mechanically.

i2cget -y 6 0x0b 0x18 w


Converted from hex to decimal gives the 4800mAh capacity of the battery

i2cget -y 6 0x0b 0x19 w


Converted from hex to decimal gives the 11100mV design voltage

i2cget -y 6 0x0b 0x08 w


Converted from hex to decimal gives the temperature in Kelvin at a 0.1K resolution => 26.5°C

i2cget -y 6 0x0b 0x09 w


Converted from hex to decimal gives the current voltage 10995mV

i2cget -y 6 0x0b 0x03 w


Shows the problem that the battery packages has: The bit 7 is the read only condition flag 0 would mean Battery OK, but 1 means Conditioning Cycle Requested (or according the newest smart battery spec Capacity Re-learn Cycle). Usually this is a full charge, full discharge and full charge cycle. To have a program that does this see:http://www.linurs.org/battery.html

Figure 4.3. Smart Batteries

Smart Batteries

Frequency scaling of the cpu

The frequency has direct impact to the power used by the cpu. However it can be just changed by certain steps. First check if you kernel has the support enabled and modprobe the kernel modules when they are not included in the kernel, then emerge cpufrequtils and run cpufreq-info to see what is possible. To test it is good to get manual control over the frequency. To get this the govenor userspace must be made active cpufreq-set -g userspace. The frequency can then be lowered cpufreq-set -f 1000000 or using units cpufreq-set -f 1800MHz or cpufreq-set -f 1GHz. Reducing the frequency from 2GHz to 1GHz using a Amd64 AthlonX2 results in about 20W power saving (using a low cost watt meter). Now cpufreq-set -g ondemand and let the kernel play with the frequencies.

To see live what is going on watch grep \"cpu MHz\" /proc/cpuinfo. An other option is using a program as the ksensors to see frequency and also fan speed read via I2C of the mother board. The kernel does all the stuff remember to set the desired default governor when building it. Other methods that are more complicated to setup are available that make use of daemons to set the frequencies.

Hard disks

Show status hdparm -C /dev/hda

Setting a power management level (if supported) hdparm -B10 /dev/hda

Show info hdparm -i /dev/hda

Look in the info for the AdvancedPM

Got to idle hdparm -y /dev/hda

Different ways how hard disks are powered exist.

Historically they had a 12V plus a 5V power supply.

Smaller Laptop disks use just 5V and are therefore friendly to be connected as external disks. External hard disks can be connected via USB converter or eSATA. eSATA is electrically the same as SATA used between motherboard and hard disk except the connector is more robust.


When connecting an hard disk to a usb adapter take care how it is powered. It might be powered via the 5V od the USB but if the hard disk requires 12V then an additional power supply must be used. Some USB converter do not support using an external power supply (USB to SATA converters having a common conector for both SATA and Power)

Impact of the software

emerge powertop to see how the software installation can help. It analyzes the system and gives tips and saving estimates.

Linurs Servernest startpage