<-- Projects
Introduction
Hardware
Software
Introduction:
With the electricity costs rising more and more, energy saving becomes (besides the ecological aspects) important from a financial point of view. So i started a campain to remove or replace devices with high energy consumption. After having replaced light bulbs with energy saving ones and eliminating useless standby "features" of consumer electronic devices it was the homeservers turn to contribute to help saving the world.
The old Server (BX Mainboard, Pentium 3 500MHz, 40GB 3.5" Hdd, 300W PSU) didn't have much potential for optimisations. So i looked for new hardware and found a internet tv streaming client called Telekom S100:
Technical data:
- CPU: Mobile Intel(R) Celeron(TM) CPU 733MHz, 256 KB cache
- 128 MB RAM
- Onboard shared memory VGA (no external connector)
- AC97 audio
- 2x USB 2.0
- 2x serial (no external connector, TTL)
- Realtek 8139 fast ethernet
- 1x IDE "Pata" with 32 MB disk on module
As this device was known for a low power consumption i bought a used one at eBay for about 30 Euro. Because the S100 is meant to be connected to the TV (for viewing pay per view movies via DSL, i still can't imagine how anyone would want to pay for this crap) it doesn't come with a ready to use VGA connector or PS/2 keyboard/mouse connector. However theese connectors are present on the mainboard as pin contact stips. So i trimmed some two old IDE cables and soldered VGA and PS/2 connectors to them.
I also removed the 32 MB DOM and replaced it with a 4200 RPM 160 GB 2.5" hard disk. For me this is quite enough for some MP3s and DVB-S captures.
With a monitor and keyboard attached the S100 can be used like a 100% standard PC. It even presents a normal BIOS with the usual options (date/time, devices, boot sequence,...). It also supports booting from USB, so i attached a USB CDROM drive and installed Arch Linux.
To further reduce the power consumption i attached a AT-AR215 USB DSL modem as the standard "Deutsche Telekom PPPoE modem" turned out to have a quite high consumption.
The results of my power saving efforts can be seen in the following table:

So, calculating with 20,13 Cent/kWh, which is the (more expensive) daytime rate, i managed to get from 42,44 Euro a year to 24,35 Euro (Actually it might be a bit less expensive because the nighttime rate is cheaper, but i was to lazy to to split the calculation). That's a saving of 18,09 Euro per year. This way the S100 will have payed off within two years.
Now, after reading this, you probably want your own energy efficient homeserver. Well, here are the hard- and software modifications i made:
Hardware:
VGA Connector:
J22:
----
Pin 1 = Red
Pin 3 = Green
Pin 5 = Blue
Pin 7 = DDC Clock
Pin 8 = V-Sync
Pin 9 = DDC Data
Pin 10 = H-Sync
Pin 2,4,6 = GND
J22 --> 15 pol sub-d:
---------------------
pin 1 --> Pin 1
pin 3 --> Pin 2
pin 5 --> Pin 3
pin 8 --> Pin 14
pin 7 --> Pin 15
pin 9 --> Pin 12
pin 10 --> Pin 13
pin (2),4,6 --> Pin (6,7,8),10,11 (soldered together)
pin 7,9 are DDC Clock and DDC Data for Plug and Play Monitor detection (optional)

From: wiki.zenega-user.de
P/S2 keyboard and mouse:
J20:
----
1 +5V
2 Keyboard DAT
3 NC
4 Keyboard CLK
5 NA
6 Mouse DAT
7 GND
8 Mouse CLK
PS/2 port (front view):
-----------------------
1 DAT
2 NC
3 GND
4 +5V
5 CLK
6 NC
From: wiki.zenega-user.de
S100 prior to any modding, with keyboard/mouse, VGA and "mini-IDE" to normal dektop IDE adapter. The crossed out "Fritz Card DSL SL PCI" was not used in the final box because it is virtually impossible to set up the CAPI environment and whatever else it needs in any other distribution than SuSe 8 and perhaps 9.
The VGA connectors (J22) Pin 1 ist the upper left one. Pin 1 of J20 is on the upper right. The power button was replaced with a electrolytic capacitor which has the same effect as the "restart after power loss" option the S100 bios unfortunately lacks.
The abovementioned 100uF electrolytic capacitor. After power on it acts like connected through. After some milliseconds it is fully charged and stops to let electricity pass. This simulates a short push of the power switch, just enough to start booting. So as a result the S100 is allways on if ist is plugged in.
The back panel before and after mutilation with a multifunction rotary tool (aka Dremel)
The final assembly including VGA and PS/2
I just screwd the laptop HDD to the top cover, there is enough room for a whole 2.5" datacenter.
This converter was needed to convert the TTL level of the internal serial port of the S100 to RS232 level for using it as a standard PC compatible serial port.
Software:
After connecting a USB CDROM the the installation of archlinux went without any complications. Only the AT-AR215 USB DSL modem required a bit of fiddeling:
First the firmware was needed to be put in the apropriate directory:
cd /lib/firmware/ueagle-atm/
tar -xzvf /mnt/usb0/ueagle-data-1.1.tar.gz
mv /lib/firmware/ueagle-atm/ueagle-data-1.1/* /lib/firmware/ueagle-atm/
After installing patch, gcc, flex and make via pacman the modem driver (linux-atm-2.4.1-2-i686.pkg.tar.gz package from AUR) can be built via makepackage. If makepackage complains probably the arch needs to be set to arch('i686') in the PKGBUILD.
The driver can then be invoked via:
br2684ctl -c 0 -b -a 1.32
It then creates a ethernet device called nas0 which can be used with rp-pppoe. I also added CONNECT_TIMEOUT=0 to my pppoe.conf as the dialing can sometimes fail the first time after a reboot. With this parameter pppoe tries to dial indefinitly.
The VPI and VCI parameters (in my case for Deutsche Telekom) can be found at EAGLE-USB 4 LINUX
Finally i installed ddclient to update the dyndns account for this server and added everything to rc.conf:
#!/bin/sh
#
# /etc/rc.d/rc.local: Local system initialization script.
#
br2684ctl -c 0 -b -a 1.32
pppoe-start
iptables -F
iptables -t nat -F
iptables -A FORWARD -i nas0 -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
/usr/sbin/ddclient -daemon 300 -syslog