0xFF-Backfire Vienna
!!!!DRAFT-Version!!!!! Durch 0xFF-Wizard und neuen Funktionalitäten grobe Überarbeitungen ausständig (JoeSemler)
< Hier gehts zur neuen Startseite für Einsteiger ( zwar noch etwas Baustelle, aber weniger ist manchmal mehr! )>
Inhaltsverzeichnis
Allgemeines
openWRT Backfire ist eine Linux-Distribution für handelsübliche Wireless-Router und die 2. Generation des Nachfolgers von openWRT Whiterussian, auf dem die Freifunk Firmware basiert.
OpenWRT Whiterussian basierte zu einem großen Teil auf den originalen Quelltexten des Routers Linksys WRT54G, womit die Firmware für diese Routerhardware und den darin verwendeten Chip des Herstellers Broadcom zugeschnitten war. In Geräten der neueren Generation werden jedoch auch Chips anderer Hersteller, wie z.B. Atheros verwendet, die durch diese Firmware nicht mehr unterstützt werden.
Die primäre Motivation zur Weiterentwicklung besteht darin, eine hardwareunabhängig Plattform zu schaffen, bei der egal ist, welches der unterstützten Geräte verwendet wird.
Unterschiede zur Freifunk Firmware
Der gravierendste Unterschied zur Vorgängerversion ist, dass die Einstellungen nicht mehr in der NVRAM-Partition, sondern in einzelne Konfigurationsdateien gehalten werden.
Installation
Die aktuelle Firmware kann direkt aus dem 0xFF-Buildroot gezogen werden. Die Snapshots sind derzeit für die Plattformen brcm2.4 (Linksys WRT54gl, Buffalo WHR HP54g), Atheros (Bullet2, Bullet5) sowie AR71xx (Bullet M2+M5, Airgrid-M2+M5, Nanostation M2+M5) getestet und laufen einwandfrei. Weiters existieren derzeit auch Images für Routerboards (411, 433) und TP-Link Geräte z.B. TP-Link WR1043ND. Nähere Infos dazu findet ihr im unter Hardware. Selbstverständlich tragen die Images alle Funkfer-spezifischen Grundeinstellungen. Wer jedoch lieber mit den Originalpaketen von openWRT arbeiten möchte oder im Buildroot seine Hardware nicht finden kann, findet unter openWRT Snapsots die passenden Snapshots aller derzeit unterstützten Devices. Bei Firmware aus dieser Quelle ist jedoch zu bedenken, dass es sich um die openWRT Basisinstallation handelt und die nötigen/gewünschten Funkfeuer-Pakete erst nach der Installation zugefügt werden müssen.
Webinterface
Konfiguration
Wie bereits erwähnt verwendet OpenWRT-Backfire Konfigurationsdateien, in die alle allgemein gültigen Grundeinstellungen bereits bei der Installation vorgenommen werden. Für die individuelle Anpassung der Devices können diese Dateien händisch editiert oder sehr einfach über ein Webinterface mit der Bezeichnung LuCI angepasst werden.
Da 0xFF-Backfire Vienna auch das automatische Konfigurieren von Nodes für bestimmte Anwendungsfälle erlaubt, werde ich hier später auch die entsprechenden Files samt Anleitung hinterlegen. Bitte jedoch noch um ein wenig Geduld, erst müssen die Images mit allen erforderlichen Funktionen vollinhaltlich getestet werden. (JoeSemler)
Konfiguration über das Webinterface
Allgemeines
Login
Nach der Installation von 0xFF-Backfire Vienna ist der Router unter http://192.168.1.1 erreichbar und vergibt über DHCP interne Adressen.
Da zu diesem Zeitpunkt noch kein Passwort gesetzt ist, ist egal, was im Passwortfenster steht. Bitte jetzt aber SOFORT ein sicheres Passwort setzen, damit der Router aus dem Internet nicht übernommen werden kann.
Sichere Passwörter bestehen aus mindestens 8 Zeichen und beinhalten mindestens einen Groß- und einen Kleinbuchstaben, eine Ziffer sowie auch Sonderzeichen.
Bei Firmware von downloads.openwrt.org ist darauf zu achten, dass zusätzlich zum Administrationsinterface (Administration) ein minimales Webinterface (Essential) vorhanden ist, welches nicht die vollen Fähigkeiten bietet, die wir zur Konfiguration benötigen.
Hinzufügen von Optionen
LuCI ist so aufgebaut, dass es nicht verwendete Konfigurationsoptionen automatisch ausblendet und links unten eine Auswahl bietet, diese hinzuzufügen.
Speichern/Übernehmen von Änderungen
Bei LuCI ist es nicht mehr notwendig nach den Änderungen den Router neu zu starten, es wird erkannt welche Dienste neu gestartet werden müssen. Jedoch besagt eine alte IT-Regel: "EIn Reboot tut immer gut" :-)
Einstellungen können entweder
- gespeichert und sofort übernommen werden (Speichern & Anwenden), falls man nur Änderungen auf dieser Seite macht
- oder nur gespeichert und später angewendet werden (Speichern), rechts oben können dann alle Änderungen auf einmal fest gespeichert und übernommen werden.
1. Passwort und System
Unter System->System ist folgendes zu ändern:
- Hostname: Name des Geräts im Format devicename.knotenname, zum Beispiel v1.ab01
2. Kontaktinfos
Unter Freifunk->Kontakt sollte zumindest folgendes eingetragen werden:
- Pseudonym
- Eine Kontaktinformation
- Standort (Knotenname)
- Notiz (z.B. Antennentyp, Ausrichtung, etc.)
3. WLAN-Einstellungen
Die Konfiguration von WLAN-Schnittstellen bei OpenWRT Kamikaze ist so aufgebaut, dass jedes physikalische WLAN-Gerät mehrere WLAN-Schnittstellen haben kann. Da diese Funktion allerdings vom Treiber des WLAN-Geräts abhängig ist und diese nur ein ADHOC-Signal ausstrahlen können wird bei uns meist nur eine erstellt werden.
Netzwerk->Drahtlos->WIFI0:
Folgende Einstellung in der Sektion Gerät:
- Funkkanal: laut Liste (Wenn der Kanal noch nicht anwählbar ist, manuell eintragen. Dies passiert, wenn der Ländercode noch nicht übernommen ist)
- Modus : Auto
- Diversität : deaktiviert
- Sendeantenne: 1
- Empfangsantenne: 1
- Distanzoptimierung: 10000 bis 18000
- Ländercode: AT bei Bullet2/5 40
Folgende Einstellung in der Sektion Schnittstellen:
- ESSID: laut Liste, z.B. v1.freiesnetz.www.funkfeuer.at
- Netzwerk: z.B. olsrwifi0 (Verbindet Netzwerkeinstellungen mit WLAN-Einstellungen.)
- Modus: Ad-Hoc
- BSSID: laut Liste
- Verschlüsselung: No Encryption
4. Netzwerk
Netzwerk->Schnittstellen->olsrwifi0 (olsrwifi0 Gegebenfalls durch den Namen, der in den WLAN-Einstellungen gewählt wurde, ersetzen.)
- Protokoll: statisch
- Netzwerkbrücke: deaktiviert
- Schnittstelle: Normal ath0, bei mehreren Geräten/Schnittstellen ath1, ath2, etc., bei Broadcom-Geräten wl0
- Zone: wan
- IPv4-Adresse: die IP-Adresse dieses Devices, abzulesen in der Redeemer Device Übersicht
- IPv4-Netzmaske:
- bei einer IP-Adresse zwischen 193.238.156.0 und 193.238.159.254: 255.255.252.0 <- Achtung
- bei einer IP-Adresse zwischen 78.41.112.0 und 78.41.113.254: 255.255.255.0 <- Achtung
- IPv4-Gateway: LEER lassen!
- DNS-Server: 193.238.157.16 193.238.157.5 208.67.220.220
5. Firewall
ist vom jeweiligen Anwendungsfall abhängig:
Wenn Router ausschließlich im Funkfeuer-Netz routen und keine Endgeräte (Laptop, PC, WLAN-Handy, ...) zu bedienen haben, hat sich das "Zulassen" aller Basissettings und das Löschen aller Zonen als beste Variante erwiesen. Damit kann auch Performance-Problemen entgegengewirkt werden, die auftreten, wenn viele Verbindungen aufrecht erhalten werden müssen. Bei stark frequentierten Knoten mit mehreren Funkstrecken ist daher zu überlegen, ob ein separater NAT-Router für die Nutzung durch Surfer nicht die bessere Lösung wäre.
In dem Fall, dass Endgeräte vorhanden sind, die Internetzugang benötigen, ist die Adressübersetzung (NAT von privatem LAN in (öffentliches) Funkfeuer WLAN-Netz) erforderlich. Dazu ist im öffentlichen Bereich das "Masq"-Flag zu setzen.
6. OLSR
Plugins anpassen
Unter Dienste->OLSR->Plugins muss nichts angepasst werden. Als Plugins verwenden wir bei 0xFF-Funkfeuer Vienna arprefresh, textinfo nameservice und den watchdog.
OLSR Daemon
Unter Dienste->OLSR sind folgende Schritte anzupassen:
Schnittstellen
Es muss für jede Schnittstelle, auf der OLSR lauschen soll (normal nur WLAN und eventuell WAN), eine Sektion mit folgenden Einstellungen erstellt werden: (VORSICHT!!! Zahlen müssen mit einer Nachkommastelle angegeben werden.)
- Enable: aktiviert
- Netzwerk: olsrwifi0, bzw. an den jeweiligen OLSR Schnittstellennamen anpassen
Alle anderen Settings wurden bereits in der Konfiguration entsprechend angepasst. (Dies gilt nicht für Images, die direkt aus dem OpenWRT-Trunk gezogen werden!)
Weitere Möglichkeiten
USB
z.b. am TP-Link TL WR-1043ND
http://wiki.openwrt.org/tag/usbrelated?do=showtag&tag=tag%3Ausbrelated
http://wiki.openwrt.org/doc/howto/usb.essentials
Pakete installieren
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2 usbutils
GPS (+NTP)
http://gpsd.berlios.de/gpsd.html
Pakete installieren
opkg install kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-pl2303 gpsd
Zusätzliche usb-serial Treiber nach Bedarf... kmod-usb-serial-*
Parameter -n entfernen in /etc/init.d/gpsd
$PROG -P $PIDF -S $port $device
Tools zum Testen:
cgps <IP>:<PORT> xgps <IP>:<PORT> telnet <IP>:<PORT>
Bei telnet z.b. ?DEVICE; als Befehl eingeben.
Um von einer externen IP zugreifen zu können, muss der gpsd mit -G gestartet werden:
gpsd -G /dev/ttyUSB
NTP
Zeitsync mit NTPD
Folgendes funktioniert nur, wenn der gpsd von einer anderen Applikation gepollt wird. Die Option -n des gpsd macht Probleme.
http://gpsd.berlios.de/gpsd.html
Pakete installieren
opkg install ntpd
Mindestens einen Server + GPS konfigurieren in /etc/ntp.conf
# use a random selection of 8 public stratum 2 servers # see http://twiki.ntp.org/bin/view/Servers/NTPPoolServers #restrict default nomodify notrap noquery #restrict default noquery restrict 127.0.0.1 driftfile /tmp/ntp.drift server 0.openwrt.pool.ntp.org iburst #server 1.openwrt.pool.ntp.org iburst #server 2.openwrt.pool.ntp.org iburst #server 3.openwrt.pool.ntp.org iburst # GPS(NMEA)+PPS #server 127.127.20.0 minpoll 4 prefer #fudge 127.127.20.0 flag3 1 flag2 0 # SMA PPS #server 127.127.28.0 minpoll 4 prefer #fudge 127.127.28.0 refid PPS flag3 1 server 127.127.28.0 minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.035 refid GPS flag3 1 server 127.127.28.1 minpoll 4 maxpoll 4 prefer fudge 127.127.28.1 refid GPS1 flag3 1 #server 192.168.1.253
Tools zum testen:
ntpq -p
Output etwa wie folgt:
remote refid st t when poll reach delay offset jitter ============================================================================== +173-8-103-244-M 18.26.4.105 2 u 24 64 311 165.747 5.503 32.117 *SHM(0) .GPS. 0 l 5 16 377 0.000 16.266 21.334 SHM(1) .GPS1. 0 l - 16 0 0.000 0.000 0.000
STORAGE
http://wiki.openwrt.org/doc/howto/usb.storage
Pakete installieren
opkg install kmod-scsi-core kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
Zusätzliche Filesysteme nach Bedarf... kmod-fs-*
3G/UMTS/Modem
http://wiki.openwrt.org/doc/recipes/3gdongle
Pakete installieren
opkg install kmod-usb-serial kmod-usb-serial-option usb-modeswitch usb-modeswitch-data comgt ppp luci-proto-3g
getestete Modems:
- 4g-systems P14
- ZTE MF680, HSPA+ 42/5,76 Mbit/s (20/3Mbit/s erfolgreich)
ggf. sind für bestimmte Modems weitere Pakete erforderlich.
Für Huawei-Modems E160/E169/E220 oder ähnliche Modelle
opkg install huaweiaktbbo