How to install DD-WRT on a Fonera box

Aus DL8RDS Wiki
Wechseln zu: Navigation, Suche

Hier gibt es eine kurze Beschreibung, wie man DD-WRT auf einer Fonera-Box installiert, um damit eine HAMNET-kompatible Linkstrecke aufzubauen. Kleine Anmerkung vorweg: Man sollte keine Berührungsängste mit Linux und der Konsole haben. Ich gehe davon aus, daß der geneigte Leser weiß, wie man einen Apache-Webserver oder einen TFTP-Server installiert. Falls nicht, liegt vermutlich Windowsitis im fortgeschrittenen Stadium vor, eine Krankheit, die ist nur selten und mit viel Aufwand heilbar ist. Da ist es besser, man infiziert sich lieber nicht mit dieser schrecklichen Krankheit :-)) Eine bittere, aber gute Medizin sind Geistesübungen im "über den eigenen Schatten springen".

1 Hardware

Benötigt wird:

  • eine Fonera-Box, die gibts bei Ebay für ca 10-15 Euro. Vorzugsweise die Board-Variante 2100A!
  • ein LevelShifter für 3,3V, den gibts bei Watterott für ca 11 Euro: http://www.watterott.com/FTDI-Basic-Breakout-33V
  • ein paar Drähte, vielleicht ein Steckbrett. Das erleichtert das Drahtgefummel.
  • optimalerweise ein Linux-Rechner

2 Software

  • Eine Terminal-Emulation, Minicom ist gut. Unter den neuen Windows-Systemen gibt es ja sowas gar nicht mehr. Früher gab es mal "Hyperterm".
  • Einen Webserver, alternativ einen TFTP-Server.
  • das Image von DD-WRT:
    • http://www.dd-wrt.com/site/support/router-database
    • "fonera" eingeben. Wir gehen davon aus, daß wir ein 2100A haben.
    • Wir wählen den Build 12533. In Zukunft wird man wohl auch jüngere Builds nehmen können, aber die Praxiserfahrung eines professionellen Informatikers sagt, daß man lieber nicht die allerneueste Software verwenden sollte.
    • Jetzt laden wir das File "linux.bin" herunter.
    • Und wir öffnen noch das File mit den Flash-Anweisungen. Das ist nämlich sehr nützlich.

Unter Linux kann man die benötigten Tools normalerweise mit dem System Management Werkzeug nachinstallieren (YaST unter SuSE, YUM unter RedHat oder apt-get unter Debian bzw. Ubuntu).

3 Installation

3.1 Der Serial Port

Zuerst müssen wir an den Serial Port ran. Dazu müssen wir das Gehäuse öffnen. Auf der Unterseite des Fonera-Gehäuses befinden sich kleine gummierte Standfüße. Die zupfen wir mit einer kleinen Zange oder auch mit den Fingernägeln einfach weg. Sie sind nur angeklebt, es sollte recht einfach gehen.

Unter zweien befindet sich je eine kleine Schraube. Die schrauben wir auf.

Es kommt das Board zum Vorschein, und wir sehen auch gleich einen Pinout-Anschluß für den seriellen Port, die Stifftleiste. Das folgende Bildchen zeigt die Belegung, vom Rand des Boards aus gesehen: FoneraSerialPort.jpg

Den Vcc-Anschluß brauchen wir nicht, da der Programmer von Watterott über USB mit Spannung versorgt wird. Falls man einen LevelShifter selber baut, kann man ihn über den Vcc-Anschluß mit Spannung versorgen. Aber die 11 Euro sind wirklich gut investiert, so billig kann man selbst gar nicht arbeiten.

Beim Watterott-Levelshifter achten wir darauf, den RX-Ausgang mit dem RX-Pin, den TX-Ausgang mit dem TX-Pin und GND miteinander zu verbinden. Ich habe ein kleines Steckbrett genommen, aber jeder kann das machen wie er das für praktisch hält. Man braucht nur diese drei Kontakte.

3.2 Die Term-Emu

Nun brauchen wir eine Terminal-Emulation. Mit Minicom stelle man den serial Port ein, je nach Lage: /dev/ttyS0, /dev/ttyS1 oder /dev/ttyUSB0 oder wie auch immer. Die Default-Einstellung ist 9600 Baud/s und 8N1. Dann stecken wir das Netzteil in den Fonera ein und warten.

Daß das Gerätchen bootet, sollten wir mit einem "+..." sehen können. Irgendwann kommt dann die Redboot-Zeile und dann haben wir mit Ctrl-C die Möglichkeit, den Bootvorgang abzubrechen. Achtung: Man hat nur 1 Sekunde dazu Zeit! Aber wenn wir das Sekündlein nicht verpennen, sind wir quasi im "BIOS". Nur eben, daß es hier anders heißt, nämlich "RedBoot".

+PHY ID is 0022:5521
Ethernet eth0: MAC address xx:xx:xx:xx:xx:xx
IP: 0.0.0.0/255.255.255.255, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug  7 2006

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: ap51
RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort

== Executing boot script in 1.000 seconds - enter ^C to abort

== Executing boot script in 1.000 seconds - enter ^C to abort
^C
RedBoot> ^C
RedBoot> ^C
RedBoot>


Mit "help" kann man sich ein bisserl umsehen, aber das braucht man eigentlich nicht. Es geht gleich mit der Installation weiter.

3.3 Flashen

Jetzt kommt der spannendste Teil, der ziemlich viel Zeit verschlingt, aber wo man wenig tun muß:

  • Die bestehende Konfiguration löschen
  • Das RedBoot netzwerkfähig konfigurieren
  • Die neue Firmware auf den Fonera runterladen und installieren (dauert!!!)
  • Die Boot-Reihenfolge setzen

Die aktuelle Config löschen mit:

fis init

Und einfach immer "y" eingeben. Warten!!!!!! Die Shell muß zurückkommen!

Das RedBoot netzwerkfähig machen mit:

ip_address -l 192.168.1.100/24 -h 192.168.1.20

wobei die 192.168.1.100 die IP-Adresse des Routers ist und die 192.168.1.20 nun die IP eures Rechners. Beide Rechner sollten im selben Netzwerksegment stehen. Die Router-IP ist nicht dauerhaft und wird nur für BIOS-Zwecke benötigt. Später ist sie egal!!!!

Das Herunterladen der Firmware geht mit TFTP, aber auch mit einem Webserver. Ich bevorzuge die Variante mit dem Webserver.

3.3.1 TFTP

Auf dem PC starten wir nun den TFTP-Agent:

cd (in das Verzeichnis, in dem die Datei "linux.bin" liegt)
tftp 192.168.1.100 
tftp> binary
tftp> trace
tftp> put linux.bin

und gleichzeitig geben wir auf der Fonera-Box folgenden Befehl ein:

RedBoot> load -r -v -b 0x80041000 linux.bin

Das müßte recht schnell gehen.

Using default protocol (TFTP)
Raw file loaded 0x80041000-0x802e3fff, assumed entry at 0x80041000

Und jetzt befindet sich das Firmware-Image im RAM und muß noch in das Flash geschrieben werden. Flash-Chips sind bei Schreibvorgängen nicht so schnell, daher: Geduld!!

Folgendes eingeben und waaaarten!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

RedBoot> fis create linux

Der Router antwortet mit folgender Ausgabe:

... Erase from 0xa8030000-0xa82f0000: ............................................
... Program from 0x80041000-0x80301000 at 0xa8030000: ............................................
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Das dauert wirklich eine Ewigkeit. Aber nicht verzagen! Solange die Pünktchen kommen, solange paßt alles.

3.3.2 Webserver

Hier starten wir einen Apache und legen die Datei "linux.bin" in das Document Root.

Mit einem Browser können wir noch mal verifizieren, ob sie dort auch wirklich erreichbar ist:

http://192.168.1.20/linux.bin

Wohl gemerkt, 192.168.1.20 ist die IP unseres PCs. Wenn ihr eine andere IP habt, bitte dann jeweils diese verwenden.

Auf dem Router folgendes eingeben:

RedBoot> load -r -b 0x80041000 -m http -h 192.168.1.20 /linux.bin

Jetzt haben wir das Image im RAM und müssen es nur noch ins Flash speichern. Hier kommt dieselbe Prozedur wie zuvor beschrieben:

RedBoot> fis create linux

... das dauert... Und wenn der Prompt wieder da ist, können wir das RedBoot konfigurieren.

3.4 Boot-Reihenfolge setzen

Das machen jwir mit dem Tool "fconfig": Wir lassen alle Einstellungen wie sie sind, außer das Boot Script. Behutsam auf Return tippen, denn sonst verpaßt man die Abfrage, ob man denn auch speichern möchte ("y")...

Hier ist das Boot-Script, das wir eingeben müssen:

fis load -l linux
exec

und mit einer Leerzeile am Ende ist der Edit-Modus beendet. Weiter alle Angeben bestätigen, bis man zum Abspeichern aufgefordert wird ("y").

Wenn das erledigt ist, haben wir einen Fonera-Router mit DD-WRT. Nun müssen wir ihn nur noch resetten, dann paßt es.

RedBoot> reset

4 Konfiguration

Nun bootet der Fonera-Router und man kann den Bootvorgang bis zu einem gewissen Punkt mitverfolgen. Aber halt, plötzlich spinnt das Gerät... Warum? Der Kernel schaltet die serielle Konsole Fonera-seitig in den Turbo-Gang. 115200!!! Also müssen wir auch unsere Terminal-Emulation auf 115200 Bit/s einstellen, und dann haben wir das Board wieder an der Angel.

Wenn wir dann mal auf die Enter-Taste tippen, bekommen wir einen Login-Prompt. Die Standard-Login-Daten sind

UID root
PWD admin

Aber die brauchen wir hier gar nicht unbedingt, denn es gibt eine grafische Web-Config-Konsole, die ist viel schöner. Und dazu brauchen wir einen Webbrowser.

4.1 Web-Konfiguration

An dieser Stelle haben wir in vielen Fällen ein Problem: Wenn wir einen DSL-Router haben, dann hat der Router meistens die IP 192.168.1.1. Das ist insofern dumm, weil die Fonera-Box ebenfalls diese IP verwendet. Wir müssen also entweder einen klassischen Switch besorgen oder mit einem passenden (Crosslink) Kabel die Fonera-Box direkt an den PC anstöpseln. Hier aber aufpassen, daß die IP des PCs nicht verloren geht, sofern sie mit DHCP bezogen wurde.

Wenn man eine neuere FritzBox verwendet, ist die FB aber ohnehin auf der 192.168.178.1. insofern kommen sich die beiden nicht in die Quere. Wenn aber dann unser PC eine IP aus diesem 178er-Segment hat, müssen wir ihm eine zweite IP verpassen. Das geht als root mit:

ifconfig eth0:0 192.168.1.20

Und schon gehts wieder weiter. Jetzt mit dem Browser auf die URL:

http://192.168.1.1

Und jetzt können wir uns einloggen. Zuerst geben wir eine neue Userkennung und ein neues Passwd an. Fürs erste (Konfigurationsphase) können wir es bei UID root PWD admin belassen, sollten es aber dringend irgendwann ändern.

Nach dem Login-Vorgang gibt es im Reiter WLAN den Reiter "Superchannel". Dort bekommen wir einen Activation Code. Dieser Code ist wichtig, wenn wir die Superchannel-Lizenz verwenden.

4.2 Superchannel

Die Superchannel-Lizenz ermöglicht es, im 13cm-Band und im 6cm-Band auf Amateurfrequenzen zu arbeiten. Sie ist hier erhältlich:

http://www.dd-wrt.com/shop/catalog/product_info.php?manufacturers_id=&products_id=717

Also, man kauft diese Lizenzen, am besten gleich zwei Stück, denn optimalerweise installiert man zwei Fonera-Boxen.

Dann geht man auf der DD-WRT-Seite in den Activation-Center und gibt dort den Activation Code ein, den man sich aus der Konfigurations-GUI kopiert hat. Dann erhält man im Activation Center einen Activation Key, den man im Gegenzug in das Textfeld eingibt und abspeichert.

Daraufhin sollte es im Menü kein "Superchannel"-Feld mehr geben, denn die Lizenzist ja bereits eingegeben.

Nun kann man das WLAN aktivieren und konfigurieren.

Vor allem ist wichtig, daß man "enable superchannel" und "extended Range" aklickt. Das Feld "Channel" steht noch auf "Auto". Wenn man ganz unten auf "Apply Settings" klickt, bekommt man dasselbe Menü noch einmal, kann aber dann statt der allgemein zugeteilten Kanäle eine unglaubliche Bandbreite an Frequenzen wählen.

4.3 Vorsicht

Und hier wirds brenzlig:

An alle, die keine Lizenz besitzen: Wer keine Amateurfunklizenz hat, riskiert ein saftiges Ordnungsgeld. Funkamateure sind normalerweise sehr aufmerksam, wenn jemand unerlaubterweise ihre Frequenzen benutzt.

Und um einem Fehlglauben vorzubeugen: Die WLAN-Reichweite ist nicht auf die paar Meter beschränkt, die euch die Werbung immer vorgaukelt. Mit so einem Fonera-Router haben wir locker 5 Kilometer überbrückt!!!!!! Mit der entsprechenden Ausstattung (Antennen) sind auch noch deutlich größere Entfernungen machbar. Wer unerlaubt Amateurfunk-Frequenzen benutzt, ist auch noch aus 30 Kilometern zu orten!

An alle, die eine Lizenz besitzen: Ich würde die ersten Versuche auch wagen, ohne gleich die Bundesnetzagentur zu informieren. Sobald es aber darum geht, einen permanenten Link einzurichten, solltet ihr euch eine Lizenz für eine automatische Station holen. Das kostet 200 Euro, dann seid ihr amtlicher Sysop einer DB0-Station. Und ihr solltet auch das Frequenzschema einhalten, das mit der BNetzA vereinbart wurde:

http://www.df3xz.de/Neue_Dateien/Bandpl%E4ne.pdf

oder kurz:

2355 - 2357      Digital Simplex

2357 - 2359,5    Digital Duplex, Link und Einstiege + 35 MHz Shift
2362 +/- 2,5 MHz bevorzugt WLAN-Nutzer
2364,5 - 2365    Digital Duplex, Link und Einstiege + 35 MHz Shift

2392 - 2394,5    Digital Duplex, Link und Einstiege -35 MHz Shift
2397 +/- 2,5 MHz WLAN-Nutzer (vertikal) oder WLAN Links (horizontal)
2399,5 - 2400    Digital Duplex, Link und Einstiege -35 MHz Shift

5675 +/- 5 MHz   Digital Link + 140 MHz Shift oder WLAN Links (horizontal / vertikal)
5685 +/- 5 MHz   Digital Link + 140 MHz Shift oder WLAN Links (horizontal / vertikal)

5695 +/- 5 MHz   Digital Simplex Einstiege oder WLAN Nutzer (vertikal)

5815 +/- 5 MHz   Digital Link -140 MHz Shift oder WLAN Links (horizontal / vertikal)
5825 +/- 5 MHz   Digital Link -140 MHz Shift oder WLAN Links (horizontal / vertikal)

Die nötigen Formulare zur Beantragung sind hier:

4.4 Hamnet

Und jetzt geht der Spaß erst richtig los. Fürs erste ist es sicher OK, wenn man bei der Linkstrecke mit IPs aus den privaten Segmente 192.168.x.x spielt. Aber wir Funkamateure haben ja unser offiziell zugewiesenes ampr-Netz , das 44er Netz. Laßt euch das auf der Zunge zergehen: Wir müssen uns nicht mit ein paar wenigen "echten" IPs zufrieden geben, sondern wir haben ein ganzes 8er-Netz!!! Die AFU-Community teilt sich 16,7 Millionen "echte" IP-Adressen!

Auch wir in Deutschland können auf diese Ressource zugreifen und jeder interessierte Funkamateur darf sich IPs registrieren. Ein entsprechendes Verfahren wird gerade eingerichtet:

http://www.de.ampr.org

Bevor die IP-Verwaltung in die Hände der Distrikte gelegt wird, gibt es für Nord/Süddeutschland ein paar wenige OMs, die sich darum kümmern. Lest bitte die genannte Seite aufmerksam durch, es wird sich dort auch immer wieder mal was ändern.

Und nun stellt sich nur noch die Frage, ob ihr ein kleines abgekoppeltes Subnetz betreiben wollt, oder ob ihr mit Linkstrecken am deutschen HAMNET mitbauen wollt. Wenn letzteres der Fall ist, dann empfehle ich dringend, auf Distriktebene anzufragen, und falls dort noch keine Aktivitäten zu vermelden sind, dann habt ihr die große Chance, zum IP-Admin eures Distriktes aufzusteigen. Dann braucht euer Distrikt nämlich noch einen zuständigen Fachmann. Dann ist aber ein guter Zeitpunkt, mit den deutschen IP-Range-Administratoren Kontakt aufzunehmen.

http://lists.darc.de/mailman/listinfo/hamnet_c

Hier ist die entsprechende Mailingliste des DARC, auf der sich alle HAMNET-Interessierten tummeln. Dort könnt ihr auch mal eine Anfrage stellen und um Rat und Hilfe bitten...

4.5 Was kann man damit machen

Was man mit IP-Strecken so machen kann? Rechner über größere Strecken per Funk vernetzen. Aber: Hamnet ist kein Internet-Ersatz!

Vor allem kann man lernen, wie das Internet funktioniert. Und dieses Wissen ist beruflich enorm viel wert!!!