# ALIX Routerboards

# Allgemeines zu den ALIX-Boards

Alix-Board sind im Prinzip kleine Mainboards, geeignet für den Betrieb etwa als Router oder TV-Mediathek, als Steuerserver für irgendwelche Anwendungen und und und.

Als Prozessor ist der AMD Geode verbaut. An Anschlüssen ist je nach Bedarf fast alles verfügbar.

Bei mir kommt ein Alix 2C3 zum Einsatz, das folgende Eckdaten aufweist:

<div id="bkmrk-cpu-500-mhz-amd-geod"><div><div><table class="inline"><tbody><tr class="row0"><td class="col0">CPU</td><td class="col1">500 MHz AMD Geode LX800</td></tr><tr class="row1"><td class="col0">RAM</td><td class="col1">256 MB DDR DRAM</td></tr><tr class="row2"><td class="col0">Storage</td><td class="col1">CompactFlash socket</td></tr><tr class="row3"><td class="col0">Stromversorgung</td><td class="col1">DC-Netzteil oder passives POE, min. 7V bis max. 20V</td></tr><tr class="row4"><td class="col0">Anzeigen/Taster</td><td class="col1">3 LEDs an der Vorderseite, Reset-Button</td></tr><tr class="row5"><td class="col0">Erweiterungen</td><td class="col1">1 miniPCI slot, LPC bus</td></tr><tr class="row6"><td class="col0">Netzwerk</td><td class="col1">3 Ethernet Ports (Via VT6105M 10/100)</td></tr><tr class="row7"><td class="col0">Anschlüsse</td><td class="col1">DB9 serieller Port, 2x USB Port</td></tr><tr class="row8"><td class="col0">Abmessungen</td><td class="col1">6 x 6„ (152.4 x 152.4 mm)</td></tr><tr class="row9"><td class="col0">Firmware</td><td class="col1">tinyBIOS</td></tr></tbody></table>

</div></div></div>Bei mir ist das Port als Route im Einsatz, außerdem noch als WLAN-Accesspoint. Dazu habe ich eine MiniPCI-WLAN Karte eingebaut und alls Ports als Bridge konfiguriert. Als Betriebssystem ist hier momentan Voyage-Linux im Einsatz (ein Derivat von Debian 5 Lenny).

Außerdem wird das Board noch von folgenden Distributionen/BS unterstützt: [Fli4L](http://www.fli4l.de/ "http://www.fli4l.de/"), [OpenWRT](http://openwrt.org/ "http://openwrt.org/"), [Zeroshell](http://www.zeroshell.net/eng/ "http://www.zeroshell.net/eng/"), [NetBSD](http://www.netbsd.org/ "http://www.netbsd.org/"), [FreeBSD](http://www.freebsd.org/ "http://www.freebsd.org/"), [OpenBSD](http://www.openbsd.org/ "http://www.openbsd.org/"), [Styx](http://www.styx.ch/home.html "http://www.styx.ch/home.html"), [pfSense](http://www.pfsense.org/ "http://www.pfsense.org/"), [Monowall](http://m0n0.ch/wall/ "http://m0n0.ch/wall/"). Windows läuft wohl auch irgendwie (nicht getestet).

Beziehen kann man die Boards etwa von [PC-Engines](http://www.alix-board.de/ "http://www.alix-board.de/"). Dort können auch gleich passende Gehäuse, Netzteile, WLAN-Adapter und die CF-Karten bestellt werden.

# LEDs ansteuern unter Debian

Für Debian (hier mit Lenny getestet) gibts ein Source-Paket mit dem Kernel-Modul zum ansteuern der LEDs. Zuerst muss das System vorbereitet werden:

<div id="bkmrk-apt-get-install-buil"><div>```
apt-get install build-essentials
m-a prepare
```

</div></div>Nun kann das Paket gebaut werden:

<div id="bkmrk-m-a-a-i-leds-alix"><div>```
m-a a-i leds-alix
```

</div></div>nach Abschluss des Buildvorgangs liegt ein installierbares .deb in /usr/src:

<div id="bkmrk-dpkg--i-%2Fusr%2Fsrc%2Fled"><div>```
dpkg -i /usr/src/leds-alix-modules-2.6.26-1-486_0.0.1-1+2.6.26-13_i386.deb
modprobe leds-alix
```

</div></div>über /sys lassen sich die LEDs nun ein- und ausschalten:

<div id="bkmrk-%23-schaltet-led1-ein-"><div>```
# Schaltet LED1 ein
sudo echo 1 > /sys/class/leds/alix\:1/brightness

# Schaltet LED1 aus
sudo echo 0 > /sys/class/leds/alix\:1/brightness

# Schaltet LED2 ein
sudo echo 1 > /sys/class/leds/alix\:2/brightness
```

</div></div>folgendes Script erleichtert den Umgang mit den LEDs:

<div id="bkmrk-%23%21%2Fbin%2Fbash-%23-%23-swit">```
<span class="co0">#!/bin/bash</span>
<span class="co0">#</span>
<span class="co0"># switch on/off/toggle leds</span>
 
<span class="kw1">if</span> <span class="br0">[</span> <span class="st0">"x$1"</span> = <span class="st0">"x"</span> <span class="br0">]</span>; <span class="kw1">then</span>
  <span class="kw3">echo</span> <span class="st0">"Usage: $0 <led1|2|3> <on|off|toggle>"</span>
  <span class="kw3">exit</span> <span class="nu0">0</span>
<span class="kw1">fi</span>
 
<span class="kw1">case</span> <span class="st0">"$2"</span> <span class="kw1">in</span>
on<span class="br0">)</span>
  <span class="kw3">echo</span> <span class="nu0">1</span> <span class="sy0">></span> <span class="sy0">/</span>sys<span class="sy0">/</span>class<span class="sy0">/</span>leds<span class="sy0">/</span>alix\:<span class="re4">$1</span><span class="sy0">/</span>brightness
  <span class="sy0">;;</span>
off<span class="br0">)</span>
  <span class="kw3">echo</span> <span class="nu0">0</span> <span class="sy0">></span> <span class="sy0">/</span>sys<span class="sy0">/</span>class<span class="sy0">/</span>leds<span class="sy0">/</span>alix\:<span class="re4">$1</span><span class="sy0">/</span>brightness
  <span class="sy0">;;</span>
toggle<span class="br0">)</span>
  <span class="kw1">if</span> <span class="br0">[</span> <span class="sy0">`</span><span class="kw2">cat</span> <span class="sy0">/</span>sys<span class="sy0">/</span>class<span class="sy0">/</span>leds<span class="sy0">/</span>alix\:<span class="re4">$1</span><span class="sy0">/</span>brightness<span class="sy0">`</span> = <span class="st0">"0"</span> <span class="br0">]</span>; <span class="kw1">then</span>
    <span class="kw3">echo</span> <span class="nu0">1</span> <span class="sy0">></span> <span class="sy0">/</span>sys<span class="sy0">/</span>class<span class="sy0">/</span>leds<span class="sy0">/</span>alix\:<span class="re4">$1</span><span class="sy0">/</span>brightness
  <span class="kw1">else</span>
    <span class="kw3">echo</span> <span class="nu0">0</span> <span class="sy0">></span> <span class="sy0">/</span>sys<span class="sy0">/</span>class<span class="sy0">/</span>leds<span class="sy0">/</span>alix\:<span class="re4">$1</span><span class="sy0">/</span>brightness
  <span class="kw1">fi</span>
  <span class="sy0">;;</span>
<span class="kw1">esac</span>
```

</div>