Arbeitsgruppe FoneraPlus
Achtung dies ist ein WoW (Maintainer: siehe Changelog)
Auf dieser Seite sollen Informationen rund um die Fonera+ gesammelt werden: best practice Konfigurationen im Funknetz, neue Ideen, Probleme, Testergebnisse, Anleitungen. Dadurch sollen know how für den Einsatz im Funknetz gesammelt und die Weiterentwicklung von Firmwares vorangetrieben werden. Auch wenn diese Seite am Anfang nicht für Enduser gedacht ist, werden die Informationen hier für die Entwicklung einer Enduserfirmware nützlich sein.
Inhaltsverzeichnis
Hardware
Die Fonera+ unterscheidet sich äußerlich von der Fonera fast nur durch einen zweiten Ethernetport und das wesentlich größere Gehäuse. Schraubt man die Fonera+ auf, so sieht man, dass die Platine schon für die Fonera2 (mit USB) vorbereitet sein dürfte. Es sind also keine großen Änderungen zur Fonera2 zu erwarten - ein Grund mehr warum gute Unterstützung für die Fonera+ sinnvoll erscheint.
Die Fonera+ wird seit einiger Zeit von OpenWRT unterstützt, aber nicht vom letzten Release kamikaze 7.09. Allerdings gibt es derzeit noch einige Mängel...
Gleichzeitig ist die Fonera+ auch zur Fonera weitgehend kompatibel geblieben. Auf der OpenWRT Wiki-Seite zur Fonera findet man viele Informationen die auch für die Fonera+ gelten.
Experimentelle Firmware für 0xFF
Um die Arbeit an der Fonera+ zu erleichtern, gibt es eine eigene Firmware für Funkfeuer, die jeder verwenden kann, der mit ssh/putty und einem Texteditor umgehen kann. Die Firmware orientiert sich möglichst nahe an OpenWRT, hat aber ein paar kleinere Änderungen um Experimente leichter zu machen:
- keine Firewall
- kein DHCP - Client (kommt bei der nächsten Version aber wieder falls Platz ist)
- Kein olsrd im read only Dateisystem, damit Tests mit verschienen Versionen leicht gemacht werden können
- webserver startet nicht (Bug in der Konfig, wird in der nächsten Version wieder gehen)
- Das Tool "patch" ist installiert, für einfache Konfigupdates
Herunterladen
Die Firmware besteht momentan aus folgenden Dateien:
- http://texas.funkfeuer.at/~harald/firmware/openwrt-atheros-vmlinux.lzma - das Kernelimage
- http://texas.funkfeuer.at/~harald/firmware/openwrt-atheros-root.squashfs - das read only Dateisystem
- http://texas.funkfeuer.at/~harald/firmware/0xff-atheros-minimal-ipk.tgz - Alle Pakete die notwendig sind, um den olsrd zu starten
- http://texas.funkfeuer.at/~harald/firmware/0xff-config-fonera+_0.1.tgz - tarball mit Konfiguration für Funkfeuer (olsr, Kanal 13 freischalten, etc.)
Installation
Flashen
Zuerst müssen das Kernelimage und das Dateisystem auf die Fonera+ geschrieben werden. Eine recht ausfühliche Anleitung gibt's im OpenWRT-Wiki.
Für Experten: Der RedBoot der Fonera+ wartet auf der Adresse 192.168.1.1 und Port 9000 für 2 Sekunden auf eine Verbindung von 192.168.1.254.
Konfiguration
Nach dem Flashen wird die Fonera neu gestartet und wartet dann auf der Adresse 192.168.1.1 auf eine telnet Verbindung (diesmal standard telnet port). Sobald mit dem Befehl "passwd" ein Passwort gesetzt wird, kann man sich mit "ssh root@192.168.1.1" einloggen, dafür gibt es dann kein telnet mehr ...
Der Konfigtarball enthält ein vollständig lauffähiges Funkfeuersetup, allerdings sollten ein paar Dinge (zumindest die IP Adressen!) angepasst werden. Der Tarball kann einfach auf die Fonera+ kopiert und dann im Wurzelverzeichnis ausgepackt werden:
scp 0xff-config-fonera+_0.1.tgz root@192.168.1.1:/tmp/ cd / tar -xzf /tmp/0xff-config-fonera+_0.1.tgz
Die zu ändernden Einstellungen sind durch spezielle Kommentare markiert, die mit grep leicht gefunden werden können:
grep -r Edit.this /etc ... diese Einstellung MUSS geändert werden grep -r Maybe.edit.this /etc ... weitere Einstellungen wie Kanal grep -ri edit.this /etc ... findet noch mehr
Wer sich mit dem auf der Firmware installierten vi nicht wohlfühlt, kann den Konfigtarball auch zuerst am PC entpacken, dort editieren und dann erst auf die Fonera+ transferieren. Aber Vorsicht beim Entpacken am PC: Der Tarball legt kein eigenes Unterverzeichnis an, weil er für das Entpacken im / des Routers vorbereitet ist.
OLSR
Der Router sollte jetzt eigentlich fertig konfiguriert sein, aber wir brauchen noch zusätzliche Software - insbesonder den olsrd - bevor er einsatzbereit ist. Um die Installation auf Routern ohne Internet zu erleichtern, gibt es die Datei 0xff-atheros-minimal-ipk.tgz, diese wird auf den Router kopiert, entpackt und die Pakete installiert:
am PC:
scp 0xff-atheros-minimal-ipk.tgz root@192.168.1.1:/tmp/
am Router:
cd /tmp tar -xzf 0xff-atheros-minimal-ipk.tgz ipkg install libpthread_XXX_mips.ipk ipkg install olsrd_XXX_mips.ipk /etc/init.d/olsrd enable # Starte olsrd beim booten /etc/init.d/olsrd start # Starte olsrd jetzt!
Bei vorigem Schritt ist zu beachten: Da wir für den olsrd bereits eine Konfiguration aus dem Konfigtarball haben, müssen wir die Frage, ob wir die bestehende Konfiguration durch eine Neue ersetzen wollen mit Nein beantworten!
Spätestens jetzt sollten wir Internet auf unserem Router haben. Das heißt jetzt ist ein guter Zeitpunkt, um noch mehr Software (zum Beispiel das httpinfo plugin oder tcpdump) zu installieren:
ipkg update ipkg install foo ipkg install bar
Jetzt ist auch ein guter Zeitpunkt um den Router einmal neu zu starten und zu sehen, ob wirklich alles automatisch funktioniert wie es soll.
Probleme
Hier werden technische Mängel der Firmware gesammelt. Bei der Lösung ist enge Zusammenarbeit mit OpenWRT notwendig und sinnvoll. Je nach Möglichkeit bitte Verweise auf Tickets, Links, etc. einfügen.
- Der Ethernet Switch empfängt keine Daten, wenn eth0 nicht im promiscuous mode ist - sobald man auf einem Ethernet Interface tcpdump startet geht alles. Als workaround wird derzeit auf einem der virtuellen Interfaces (meist eth0.0 - LAN) eine bridge angelegt.
- Wenn am LAN und am WAN Interface gleiche Subnetze vergeben werden, dann werden arp requests nur auf einem Interface gesendet, das andere hat dadurch defakto keine Konnektivität. Dies ist vermutich ein Problem des OpenWRT Kernels. Um das Problem zu umgehen müssen IPs aus verschiedenen Subnetzen verwendet werden.
- Der Switch ist momentan nicht konfigurierbar.
- Das Atheros Interface empfängt im promiscuous mode auch frames mit einer fremden BSSID solang der Kanal stimmt. Von diesem Problem sind auch die anderen Foneras betroffen. Vermutlich ein madwifi Problem. Workaround ist nicht notwendig, weil das Problem nicht besonders schlimm stört.