0xFF-Backfire Vienna
openWRT Backfire ist die 2. Generation einer Linux-Distribution für handelsübliche Wireless-Router und der Nachfolger von openWRT Whiterussian, auf dem auch unsere Freifunk Firmware basiert.
Da Whiterussian zu einem großen Teil auf den originalen Quelltexten des Herstellers Linksys und seinem WRT54G basiert, war sie direkt auf den darin verwendeten Broadcom-Wireless Chip zugeschnitten und daher für Geräte der neueren Generation unbrauchbar. Dies war eines der Motive die zur Entwicklung einer neuen, hardwareunabhängigen Plattform geführt hat und an der wir uns mit der Entwicklung von Backfire Vienna angeschlossen haben.
Folgende Anleitung soll zeigen, wie Backfire Vienna auf den Routern installiert und konfiguriert werden kann.
Inhaltsverzeichnis
Installation
Um die aktuelle Firmware für eure Hardware zu installieren (flashen), besucht bitte unsere Hardware-Liste.
Aktuell werden die Gerätetypen Airgrid M2 oder M5 (outdoor), TP-Link 741ND (Indoor Switch), TP-Link 3420 (3g Switch) oder Bullet M2 oder M5 empfohlen, in der Liste finden sich jedoch eine große Anzahl weiterer Geräte auf denen unsere Images getestet wurden und garantiert laufen.
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.
Flashen von AirGrid, Bullet, NanoStation und NanoBridge
Konfiguration
Nach der Installation von 0xFF-Backfire Vienna ist der Router unter http://192.168.1.1 erreichbar und vergibt über DHCP interne Adressen. Gib diese IP in deinem Browser ein, und du solltest unsere Startseite sehen.
Das GUI unserer Software besteht aus zwei Ansichten.
- Eine öffentliche Ansicht (Dort befindest du dich jetzt) in der jeder die wichtigsten Infos zum Router abrufen kann
- Eine Administrationsinterface, das wir uns jetzt näher ansehen wollen.
Rechts Oben findest du die Umschaltmöglichkeit. Bitte jetzt auf "Administration" klicken.
Da direkt nach der Installation noch kein Passwort gesetzt ist, kannst du den Passwort-Dialog ignorieren und sofort auf Login klicken. Schon bist du im Admin-Interface angelangt.
Nun müssen einige wenige Einstellungen vorgenommen werden, die wir hier genauer erklären wollen:
1. System
Als erstes werden die allgemeinen Systemeinstellungen vorgenommen. Dazu bitte auf den Folder "System" klicken.
System
Hier ist es nur nötig, den Hostnamen anzupassen.
- Name des Geräts im Format devicename.knotenname, zum Beispiel v1.ab01
Administration
Anschließend im Bereich Administration ein sicheres Passwort setzen. Sichere Passwörter bestehen aus mindestens 8 Zeichen und beinhalten mindestens einen Groß- und einen Kleinbuchstaben, eine Ziffer sowie auch Sonderzeichen.
Weiters können in diesem Abschnitt ein oder mehrere öffentliche SSH-Schlüssel angegeben werden, das eine SSH-Anmeldung ohne Passwort ermöglicht.
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