FreeWRT als Firmware für eingebettete Systeme
VoIP mit dem Mikrotik-Routerboard
Das Mikrotik-Routerboard ermöglicht durch seine Leistungsdaten die Implementierung einer kompletten Asterisk-Telefonanlage auf einem eingebetteten System. Durch die zwei Mini-PCI-Slots des Routerboards stellt die Integration von bis zu 8 ISDN-S0-Bussen kein Problem dar. In der FreeWRT 1.1-Distribution werden Asterisk 1.2, Asterisk 1.4, Zaptel und mISDN integriert sein, was einen Großteil der ISDN-Hardware abdeckt. Mit bis zu 12 gleichzeitigen Gesprächen und der ISDN-Unterstützung eignet sich das Routerboard als Telefonanlage für kleine bis mittlere Büros. Wer erst einmal schnuppern möchte, kann sich ein Asterisk auf den Netgear WGT634U installieren. Die 8 MB Flash des Netgear sind mit einem kompletten Asterisk und den dazugehörigen Sounddateien zwar weitestgehend belegt, einen Eindruck, wie eine VoIP-Telefonanlage auf einem eingebetteten System arbeitet, kann man sich dennoch verschaffen. Mit bis zu 4 gleichzeitigen Verbindungen, die über den Netgear abgewickelt werden können, lässt sich diese Lösung z.B. im Heimbereich einsetzen. Wer jetzt neugierig geworden ist, kann sich auf www.freewrt.com oder vorerst auf www.lochraster.org ein Routerboard oder einen Netgear WGT634U mit vorinstalliertem FreeWRT bestellen.
Wie kommt die Firmware auf den Router?
Die FreeWRT-Entwickler haben sich einige Mühe gegeben, es dem Endanwender so einfach wie möglich zu machen. Mit dem Web Image Builder (WIB) kann man sich im Internet seine gewünschte Konfiguration einfach per Mausklick zusammenstellen. Der Web Image Builder befindet sich unter wib.freewrt.org. Dort wird man durch die einzelnen Schritte der Image-Erstellung geführt. Ist das Image fertig erstellt und heruntergeladen, kann die Installation beginnen. Bei Routern, die noch mit der Originalfirmware ausgestattet sind, genügt ein einfaches Firmware-Update über die Web-Oberfläche. Der Netgear nimmt hier eine Sonderstellung ein. Bei diesem Router wird eine serielle Konsole benötigt, um eine alternative Firmware zu installieren. Eine genaue Beschreibung findet sich im Wiki. Nach Installation der FreeWRT-Firmware kann man das MTD-Utility benutzen, um ein neues Firmware-Image in den Flashspeicher zu schreiben. Zunächst wird das neue Firmware-Image per scp
auf den Router kopiert und dann mit dem Kommando mtd
in den Flashspeicher geschrieben. Folgende zwei Zeilen zeigen dies exemplarisch:
scp firmwareimage.bin admin@192.168.1.1: mtd -e linux -r write firmwareimage.bin linux
Der Router startet nach dem Flashen neu.
Wenn man an den WGT634U eine serielle Konsole angeschlossen hat, kann man kurz nach dem Starten des Routers durch Drücken von Ctrl-C in den CFE-Bootloader gelangen.
Im Bootloader kann man dann mit folgenden Kommandos das Firmware-Image von einem TFTP-Server holen und in den Router flashen. Das Netzwerkkabel muss dabei am WAN-Port des Routers angeschlossen sein.
Wenn man einen DHCP-Server laufen hat, kann man die WAN-Schnittstelle des WGT634U automatisch konfigurieren.
ifconfig eth0 -auto
Manuelle Konfiguration:
ifconfig eth0 -addr=192.168.1.250 -mask=255.255.255.0
Jetzt kann die Firmware, die von einem TFTP-Server wie z.B. atftpd bereitgestellt wird, geflasht werden. Dazu benutzt man folgendes Kommando:
flash -noheader 192.168.1.10:freewrt-wgt634u-2.4-squashfs.bin flash0.os
Jetzt kann mit dem Kommando reboot
neu gebootet werden. Nach dem Neustart muss das Netzwerkkabel vom WAN-Port auf den ersten LAN-Port umgesteckt werden. Auf den Router kann dann mit folgendem Kommando per SSH zugegriffen werden:
ssh admin@192.168.1.1
Das Passwort lautet FreeWRT, bitte auf Groß- und Kleinschreibung achten!
Paketverwaltung
Das Tool zum Verwalten der Pakete heißt ipkg. Folgende Optionen sollte man kennen:
Anzeigen aller installierten Pakete
Entfernen eines Paketes
Installieren eines Paketes ohne Internetzugang
- Mittels
scp
das Paket in den Router laden - Mittels
ipkg install <dateiname>
installieren
Installieren eines Paketes mit Internetzugang
- Mit
ipkg update
wird die Liste alle verfügbaren Pakete geladen - Mit
ipkg list
wird die Liste aller verfügbaren Pakete ausgegeben - Mittels
ipkg install <paketname>
installieren
Weitere Dokumentation
Wer neugierig geworden ist und weitere Informationen benötigt, dem empfehle ich das FreeWRT-Handbuch. Es kann vom Wiki heruntergeladen werden.
Das Handbuch beschreibt nochmals detailliert die Installation und alle weiterführenden Aspekte. So wird unter anderem auch erklärt, wie man FreeWRT aus den Quellen selbst kompiliert.
Autor
Der Autor Michael Schwab ist mit seinem Unternehmen de-SOLUTION im Bereich »Internetbasierte Kommunikationslösungen und Datenbanksysteme« tätig. Im Rahmen verschiedener Projekte hat er eingebettete Hardware eingesetzt. Er gehört zu den Gründungsmitgliedern von FreeWRT und arbeitet sehr eng mit dem Projektleiter Waldemar Brodkorb zusammen. Im FreeWRT-Projekt hat er die Aufgabe »contacts and communications« übernommen.