Arbeitsgruppe FoneraPlus: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Wechseln zu: Navigation, Suche
(Auch die normale Fonera wird von der Firmware unterstützt)
(Update für 0xff-config 0.3)
Zeile 15: Zeile 15:
  
 
* keine Firewall
 
* keine Firewall
* kein DHCP - Client (kommt bei der nächsten Version aber wieder falls Platz ist)
+
* statische IPs für LAN/WAN
 
* Kein olsrd im read only Dateisystem, damit Tests mit verschienen Versionen leicht gemacht werden können
 
* 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 "ip" ist installiert, wie in der Freifunkfirmware
 
* Das Tool "ip" ist installiert, wie in der Freifunkfirmware
 
* Das Tool "patch" ist installiert, für einfache Konfigupdates
 
* Das Tool "patch" ist installiert, für einfache Konfigupdates
 +
* traffic priorization: OLSR traffic vor allem anderen
  
 
==Herunterladen==
 
==Herunterladen==
Zeile 25: Zeile 25:
 
* http://texas.funkfeuer.at/~harald/firmware/openwrt-atheros-vmlinux.lzma - das Kernelimage
 
* 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/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/olsr-minimal.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.)
+
* http://texas.funkfeuer.at/~harald/firmware/0xff-config-fonera+_0.3.tgz - tarball mit Konfiguration für Funkfeuer (olsr, Kanal 13 freischalten, etc.)
  
 
Die Firmware funktioniert auch mit der "normalen" Fonera. Dafür gibt es einen eigenen leicht veränderten Konfigtarball:
 
Die Firmware funktioniert auch mit der "normalen" Fonera. Dafür gibt es einen eigenen leicht veränderten Konfigtarball:
* http://texas.funkfeuer.at/~harald/firmware/0xff-config-fonera_0.1.tgz
+
* http://texas.funkfeuer.at/~harald/firmware/0xff-config-fonera_0.3.tgz
  
 
==Installation==
 
==Installation==
Zeile 42: Zeile 42:
 
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:
 
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/
+
  scp 0xff-config-fonera+_0.3.tgz root@192.168.1.1:/tmp/
 
  cd /
 
  cd /
 
  tar -xzf /tmp/0xff-config-fonera+_0.1.tgz
 
  tar -xzf /tmp/0xff-config-fonera+_0.1.tgz
Zeile 55: Zeile 55:
  
 
===OLSR===
 
===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:
+
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 olsr-minimal.tgz, diese wird auf den Router kopiert, entpackt und die Pakete installiert:
  
 
am PC:  
 
am PC:  
  scp 0xff-atheros-minimal-ipk.tgz root@192.168.1.1:/tmp/
+
  scp olsr-minimal.tgz root@192.168.1.1:/tmp/
 
am Router:
 
am Router:
 
  cd /tmp
 
  cd /tmp
  tar -xzf 0xff-atheros-minimal-ipk.tgz
+
  tar -xzf olsr-minimal.tgz
  ipkg install libpthread_XXX_mips.ipk
+
  opkg install libpthread_XXX_mips.ipk
  ipkg install olsrd_XXX_mips.ipk
+
  opkg install olsrd_XXX_mips.ipk
  /etc/init.d/olsrd enable        # Starte olsrd beim booten
+
opkg install olsrd-mod-httpinfo_XXX_mips.ipk
  /etc/init.d/olsrd start        # Starte olsrd jetzt!
+
opkg install olsrd-mod-txtinfo_XXX_mips.ipk
 +
  /etc/init.d/olsr-ff enable        # Starte olsrd beim booten
 +
  /etc/init.d/olsr-ff 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 tcpdump) zu installieren:
  
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:
+
  opkg update
 
+
  opkg install foo
  ipkg update
+
  opkg install bar
  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.
 
Jetzt ist auch ein guter Zeitpunkt um den Router einmal neu zu starten und zu sehen, ob wirklich alles automatisch funktioniert wie es soll.
Zeile 81: Zeile 81:
  
 
* 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.
 
* 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. (Siehe Bemerkungen auf der [[Diskussion:Arbeitsgruppe_FoneraPlus|Diskussionsseite]])
 
 
* Der Switch ist momentan nicht konfigurierbar.
 
* 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.
 
* 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.
Zeile 87: Zeile 86:
 
==Was noch fehlt==
 
==Was noch fehlt==
 
Die folgenden Dinge müssen noch in einer Firmware implementiert werden, bevor die Fonera+ als unterstütze Hardware gelten kann:
 
Die folgenden Dinge müssen noch in einer Firmware implementiert werden, bevor die Fonera+ als unterstütze Hardware gelten kann:
* traffic priorization: OLSR traffic vor allem anderen
+
* testen
* Größere Auswahl an Paketen kompiliern oder ausprobieren ob ein Pool von OpenWRT verwendet werden kann.
+
* Noch mehr testen
 
* ?
 
* ?

Version vom 23. Oktober 2008, 19:08 Uhr

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 primär für unerfahrene Benutzer gedacht ist, werden die Informationen hier für die Entwicklung einer Enduserfirmware nützlich sein.

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
  • statische IPs für LAN/WAN
  • Kein olsrd im read only Dateisystem, damit Tests mit verschienen Versionen leicht gemacht werden können
  • Das Tool "ip" ist installiert, wie in der Freifunkfirmware
  • Das Tool "patch" ist installiert, für einfache Konfigupdates
  • traffic priorization: OLSR traffic vor allem anderen

Herunterladen

Die Firmware besteht momentan aus folgenden Dateien:

Die Firmware funktioniert auch mit der "normalen" Fonera. Dafür gibt es einen eigenen leicht veränderten Konfigtarball:

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.3.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 olsr-minimal.tgz, diese wird auf den Router kopiert, entpackt und die Pakete installiert:

am PC:

scp olsr-minimal.tgz root@192.168.1.1:/tmp/

am Router:

cd /tmp
tar -xzf olsr-minimal.tgz
opkg install libpthread_XXX_mips.ipk
opkg install olsrd_XXX_mips.ipk
opkg install olsrd-mod-httpinfo_XXX_mips.ipk
opkg install olsrd-mod-txtinfo_XXX_mips.ipk
/etc/init.d/olsr-ff enable        # Starte olsrd beim booten
/etc/init.d/olsr-ff start         # Starte olsrd jetzt!

Spätestens jetzt sollten wir Internet auf unserem Router haben. Das heißt jetzt ist ein guter Zeitpunkt, um noch mehr Software (zum Beispiel tcpdump) zu installieren:

opkg update
opkg install foo
opkg 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.
  • 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.

Was noch fehlt

Die folgenden Dinge müssen noch in einer Firmware implementiert werden, bevor die Fonera+ als unterstütze Hardware gelten kann:

  • testen
  • Noch mehr testen
  •  ?