Firmware
Diese Artikel beschreibt die im Freifunk-KBU-Netz von uns verwendete Firmware. Hierbei verwenden wir OpenWRT (http://openwrt.org) "Attitude Adjusment" (12.09).
Die Firmware basiert auf der Lübecker Freifunk Firmware (LFF - http://freifunk.metameute.de/).
Für TP-Link WR1043ND, WR740N-v4 und WR741ND Geräte gibt vorkonfigurierte Downloads (Siehe Installation). Für andere, ebenfalls "Atheros"-basierte Geräte bieten wir ebenfalls Downloads an, die wir - mangels Hardware - jedoch nicht testen können http://jenkins.kbu.freifunk.net/files/release/latest/untested/. Für den TP-Link WRD4300 gibt es bereits "Beta"-Software - im aktuellen Release ist leider noch ein Fehler enthalten.
Falls keine Downloads für Dein Gerät existieren sind Handarbeit und Expertenwissen notwendig. Falls Du Lust und Zeit hast, vorkonfigurierte Firmware-Dateien für Dein Gerät zu bauen und zu testen, stellen wir die Images gerne ebenfalls online.
Einleitung
Grundsätzlich können alle OpenWRT-fähigen Geräte im Freifunk-KBU-Netz genutzt werden. Hierbei gibt es leider eine wesentlich Einschränkung:
- Jedes Gerät muss zwei WLAN-Netze (ad-hoc + Infrastruktur) betreiben. Viele ältere Geräte können dies nicht (z.B. WRT54G).
Dies kann grundsätzlich durch die Nutzung mehrere Geräte umgangen werden. Bitte wende Dich an uns, wenn Du hieran Interesse hast - es wird jedoch kompliziert.
Konfiguration
Alle Nodes, die am Freifunk-Netz betrieben werden, müssen wie folgt konfiguriert sein. Die einzelnen Konfigurationsdatein können unter https://github.com/ff-kbu/fff/tree/v0.3-generic/files heruntergeladen werden. Bitte beachte, dass einige Dateien durch Scripts beim ersten Boot generiert werden.
- Wlan
- Infrastruktur-Netz: SSID: kbu.freifunk.net
- Ad-Hoc-Netz: ESSID / BSSID: 02:d1:11:37:fc:39 - Kanal: 1
- Netzwerk- / IP-Adressen
- batman-adv, Infrastruktur-Netz müssen in einer Bridge zusammen gefasst werden
- Kein DHCP
- Keine IPv4-Adressen konfigurieren - auch keinen DHCP-Client.
- VPN / fastd:
- Peers https://github.com/ff-kbu/fff/tree/v0.3-generic/files/lib/freifunk/mesh-vpn/backbone
- Konfiguration: https://github.com/ff-kbu/fff/blob/v0.3-generic/files/lib/freifunk/mesh-vpn/fastd.conf - Hinweis: Das wget-Applet in Busybox < 1.19 unterstützt keine Post-Request. Es muss das wget(-no-ssl) Paket verwendet werden.
- batman-adv
- Zugewiesene Interfaces: ad-hoc, VPN
Hinweis: fastd ist in OpenWRT nicht enthalten und muss zusätzlich kompiliert werden.
Optionale Erweiterungen
Statistiken
Hinweis: Ist derzeit default installiert bei der aktuellen Firmware. Brauch also nicht nachinstalliert zu werden.
Andernfalls:
Es besteht die Möglichkeit, dass wir statistische Daten deines Nodes zentral von deinem Node geschickt bekommen und dann graphisch darstellen. Damit wir die Daten von deinem Node erhalten können benötigst du ssh Zugriff auf deinen Node, sowie die Pakete collectd, collectd-mod-interface und collectd-mod-network.
- Installation der Pakete:
root@node # opkg update root@node # opkg install collectd collectd-mod-interface collectd-mod-network
- Kopiere folgende Datei nach /tmp/collectd.conf.sh und führe sie mit sh /tmp/collectd.conf.sh aus:
#!/bin/sh #Include lib_node.sh for accessing node_id . /lib/freifunk/lib_node.sh # This script creates collectd.conf after flashing. # collectd uses node_id.nodes.kbu.freifunk.net as hostname # nodes.kbu.freifunk.net does not exists at this time (2012-01-15). # However, if needed, it can be set up using register / mysql- or ldap-based bind9 easily - or - # mdns if avahi is configured to resove nodes.kbu.freifunk.net and not .local local hostname="$(get_node_id).nodes.kbu.freifunk.net" cat > /etc/collectd.conf <<EOF Hostname "${hostname}" BaseDir "/var/lib/collectd" PIDFile "/var/run/collectd.pid" Interval 10 ReadThreads 2 LoadPlugin network LoadPlugin interface <Plugin interface> Interface "br-wan" Interface "wlan0-1" IgnoreSelected false </Plugin> <Plugin network> Server "collectd.kbu.freifunk.net" "25827" </Plugin> EOF
Anschließend starte deinen Node neu.
Sourcecode-Quellen
Falls Du unsere OpenWRT-Quellen verwenden möchtest (inkl. fastd), dann forke bitte https://github.com/ff-kbu/fff. Die Für jedes (beta)-Release gibt es einen Tag.
feeds.conf.default enthält bereits neuere batman-adv und fastd-Pakete. Somit ist es bspw. möglich, auf dem Router ein gewöhnliches OpenWRT zu installieren und die selbstgebauten Pakete (z.B. fastd) nachträglich einzuspielen.
Bitte beachten die Hinweise zum Kompilieren von OpenWRT http://wiki.openwrt.org/doc/howto/build - Es gibt keine Abweichungen bei dem Build unseres Forks - abgesehen vom git-Repository - es ist kein svn update erforderlich ;-).