Power savings on A7V333

I have three old 320GB hard drives for some time now. They are all IDE and all unused. I decided to make a backup machine which would sit at home and be handling daily backups. Here are my attempts on analyzing the board's power consumption and tuning it.

A7V333 board with Athlon XP (don't remember exact type, probably Palomino with default frequency 1600MHz), 1 DDR400 512MB module. Graphics card is nVidia Vanta 16 in AGP and some realtek network card. I'm running the board with 4 HDD's (WD + Seagete, pretty similar) on both PATA controllers. The goal is to do some power savings on this setup, so it can run 24/7 at home with minimal expenses, especially when not used.

I'll be measuring the power consumption at wall with FKtechnics wattmeter, every measurements are in idle, since that is the state in which the machine will be most of the time. It's not the most precise instrument, but it will do.

Powered off

Powered off machine has 3W. Nothing to be done here.

Idle, plain

The idle system with plain Gentoo Linux and 3.5.7 kernel takes ~121W. The CPU and hard drives heats a lot. Turning off 3 harddrives (hdparm -Y) gains ~101W.

Underclocking

The first thing I tried is underclocking. I lowered the clock from 1.6GHz to 1.2GHz and 100MHz FSB. That gained 20W down. The board did not boot up with lower clocks and I did not want to cripple the machine too much anyway.

ACPI power saving modes

Next I wanted to gain some power savings via software, via cpufreq or the like. It turns out that the board is not supported by cpufreq, possibly not even by APM (did not tried). There is however a tool called LVCool that should do it for these chipsets. Unfortunately, it did not worked, my chipset is too different from the one it's written for. Fortunately, quick search gave me athcool, which is more general tool and is in Gentoo Portage. It works like a charm and underclocked system now takes only 71W. Great!

Undervolting

Voltage Jumpers
1.60 VID2&4 1-2
1.55 VID1 2-3 & VID4 1-2
1.50 VID4 1-2
1.45 VID1&2&3 1-2
1.40 VID1&3 1-2
1.35 Unknown
1.30 VID1&2 1-2
1.25 Unknown
1.20 VID2 1-2
1.15 VID1 1-2

It is only natural that so underclocked system would not need the default 1.75V. After googling a little bit, it seems that these CPUs can run @1.6GHz with 1.5V! Unforunately, the BIOS is made for overclockers and only allows overvolting the cpu (all the way up to the 2.3V!), but not undervolting. On board, there are however jumpers that allow you to set lower voltage. Unfortunately, it goes only to 1.7V, which gained me nothing (it is not that surprising, since the athcool essentialy allows cpu powerdown when idle). It turns out that you can undervolt the CPU down to 1.2V via the jumpers, it's just not documented anywhere in the official manuals. See the table to the right for undocumented jumper settings (keep in mind, that althoug bios offers you software choice when jumpers are set to lower voltages, the choice is always ignored and the hardware takes precendence). Undervolting to 1.5V gained something around 3W, down to a total of 68W. Further undervolting to 1.3V did not decrease power consumption, and at 1.2V the machine was unstable (freezed in bios, could not detect drives on Promise controller). I left it at 1.3V.

It seemed to work fine, but sometime during emerging stuff (relatively few things, lzo & openvpn for example), the gcc would segfault on different places. I decided it is time to volt it up back to 1.5V. Segfaults vanished.

The jumper array is 4 rows, 3 pins each. VID4 is nearest to the board edge, pin 1 is nearest to the cpu. You can also check manual for orientation. For example the 1.55V setting means: Join VID1 pins 2 and 3 and VID4 pins 1 and 2 with jumper. The undervolting info is taken from [yahoo groups](http://finance.groups.yahoo.com/group/Silent-PC/message/7540) and tested. Thanks!

Final touches

With all hdd's powered down, I'm now at 43W. Disabling sound, ms/sd card reader by jumpers and seech controller and serial & parallel in bios does not yield more than 1W total (I actually could not measure the difference). Unplugging the USB keyboard yields 1W, does to 42W.

I the end, I decided to use another, much less powerful board, with an old VIA C3 cpu, which takes around 12W in similar configuration to the lowest power described here.

Conditions Power consumption
powered off 3W
idle, plain 121W
underclocked to 1.2GHz 101W
underclocked + athcool 71W
underclocked + athcool + undervolt 68W
underclocked + athcool + undervolt + 3 hdd powered down, usb keyboard unplugged 47W
underclocked + athcool + undervolt + 4 hdd powered down, usb keyboard unplugged 42W