0xFF-Backfire Vienna

Aus FunkFeuer Wiki
Wechseln zu: Navigation, Suche



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

http://h-wrt.com/de/doc/gps

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