UBNT Bullet2
Die Ubiquiti Bullet2 ist ein wetterfester Router, der direkt oder über Winkelstecker an Antennen mit N-Buchse angeschlossen werden kann. Dadurch werden Antennenkabel überflüssig, was sich positiv auf die Empfangsempfindlichkeit auswirkt. Die Stromversorgung erfolgt über PoE (4,5+; 7,8- am RJ54). Wichtig ist, nicht mehr als 24 Volt in die Bullet zu schicken, da sie es dir wirklich übel nehmen :-). Weiters verfügt der Router über 6 LEDs, die Stromversorgung und LAN-Aktivität anzeigen. Im Originalbetriebssystem AirOS zeigen die restlichen LEDS die Empfangsleistung an, das aber bei OpenWRT leider nicht funktioniert. Da es für AirOS zwar ein olsrd-Paket gibt, der WLAN-Treiber aber nicht Ad-Hoc-Modus-fähig ist, installieren wir OpenWRT-Backfire Vienna.
Inhaltsverzeichnis
0xFF-Backfire Vienna Erstinstallation
Für unsere Community ist es ratsam, 0xFF-Backfire Vienna zu verwenden, da hier alle nötigen Freifunk-Pakete bereits inkludiert sind, und einige Basiskonfigurationen bereits eingebaut wurden. Das aktuelle Paket für Bullet2 findest du auf ftp://oe1xrw.ozw.wien.funkfeuer.at/contrib/atheros/openwrt-atheros-ubnt2-squashfs.bin
Bullet5 verwendet das Image ftp://oe1xrw.ozw.wien.funkfeuer.at/contrib/atheros/openwrt-atheros-ubnt5-squashfs.bin
flashen aus AirOS
Ist am Router noch das originale AirOS installiert, kann das Image bequem mit Webinterface geflasht werden.
flashen mit TFTP
Ist dies nicht der Fall, kann man das Image auch per TFTP hochladen.
Dazu hält man beim "Power-up" die Reset-Taste (kleine Taste neben dem LAN-Port) solange, bis jeweils 2 LEDs abwechselnd zu blinken beginnen und lädt nach ca. weiteren 2 Sekunden mittels TFTP-Client das oben erwähnte Image hoch.
> tftp 192.168.1.20 > bin > put <IMAGE-NAME> > exit
flashen mit tftpd32
Für alle, die mit der Kommandozeile ein wenig auf Kriegsfuß sind, gehts auch über tftpd32
Nach der Installation das Programm starten und folgende Grundkonfigurationen vornehmen:
Folder TFTP-Client anwählen und folgende Einstellungen machen: Host = IP-deines Bullets. Das ist nach dem Reset IMMER 192.168.1.20, egal was vorher installiert war. LOCAL FILE = Pfad/Firmware, wo du das openwrt-atheros-ubnt2-squashfs.bin hinkopiert hast.
Nun beim "Power-up" die Reset-Taste (kleine Taste neben dem LAN-Port) solange halten, bis jeweils 2 LEDs abwechselnd zu blinken beginnen und nach ca. 2 Sekunden am TFTP32 den PUT-Button klicken. Du siehst nun, wie das File hochgeladen wird und bekommst eine "success-Meldung" Dann dauert´s noch ca 3 Minuten bis das Image vollständig geflashed und Bullet sich rebootet hat. Bitte um Geduld und Strom NICHT ausschalten!
Nach dem flashen
Dein Bullet hat nun die IP 192.168.1.1 und ist über http oder telnet erreichbar. Via telnet kannst du mit dem befehl "passwd" ein Passwort für den root-user setzen, um SSH zu aktivieren. Leichter gehts aber über http.
0xFF-Backfire Vienna Upgrade
Aufgrund des kleinen RAM-Speichers ist es bei Bullet2/5 nicht möglich, die Funktion Sysupgrade zu nutzen! Aus diesem Grund muss der Kernel und das Filesystem getrennt über Kommandozeile aktualisisert werden. Da das Device nach dem Upgrade seine ursprüngliche Konfiguration nicht selbstständig lädt, muss das Gerät über 192.168.1.1 ansprechbar sein. (Client im selben Subnet wie der Router)
Aktuelle Konfiguration sichern
Das geht am Einfachsten über das LuCI-WebGUI. Die Funktion findet ihr im Bereich "Administration" unter "System". In Abhängigkeit vom Alter eurer Firmware ist die Funktion in "Sichern/Wiederherstellen" oder "Backup /Firmware Update" zu finden.
Software aktualisiseren
Nun verbindet ihr euch mit einem SSH-Client wie Putty mit eurem Device.
cat /proc/mtd #Mame der Partitionen df -h #Speichernutzung
Über diese beiden Befehle könnt ihr prüfen, ob die Partitionen wirklich "kernel" und "rootfs" genannt wurden. Das ist wichtig, da sonst das weitere Update schief geht. Auch solltet ihr prüfen, ob im /tmp-Verzeichnis genügend freier Speicherplatz für eure Files vorhanden ist.
Kernel updaten
cd /tmp wget ftp://oe1xrw.ozw.wien.funkfeuer.at/contrib/atheros/openwrt-atheros-vmlinux.lzma mtd -e kernel write openwrt-atheros-vmlinux.lzma kernel rm openwrt-atheros-vmlinux.lzma #Kernel löschen um Platz für das rootFS zu schaffen
RootFS updaten
wget ftp://oe1xrw.ozw.wien.funkfeuer.at/contrib/atheros/openwrt-atheros-root.squashfs mtd -r -e rootfs write openwrt-atheros-root.squashfs rootfs
Nun 2-3 Minuten warten und den Router mittels PowerReset neu starten.
Konfiguration rücksichern
Danach sollte der Router nach weiteren 2-3 Minuten über die Adresse 192.168.1.1 via WebBrowser oder Telnet erreichbar sein. (Anm.: Nicht vergessen, dem PC eine Adresse in selben Subnet (z.B. IP 192.168.1.10, Netmask 255.255.255.0) zuweisen.)
Nun die zuvor über LuCI gespeicherte Konfiguration rücksichern und vorsorglich nochmals einen PowerReset durchführen.
Konfiguration für einen 0xFF-Endknoten
Die vorliegende Konfiguration ist für 0xFF-Endknoten vorgesehen und bereits im 0xFF-Backfire Vienna Package "out of the box" vorkonfiguriert. Unter einem 0xFF-Endknoten verstehen wir Geräte, die auf der Lan-Seite einen PC haben, mit dem Wireless-Ende mit unserem Funkfeuer-Netz verbunden sind. Die wenigen nötigen Veränderungen sind entweder über das Luci User Interface oder dem Programm winscp möglich.
Die relevanten Files fuer die Netzwerkkonfiguration sind:
- /etc/config/network
- /etc/config/wirless
- /etc/config/olrsd
- /etc/config/firewall
NETWORK + WIRELESS Konfiguration
/etc/config/network
config 'interface' 'loopback' option 'ifname' 'lo' option 'proto' 'static' option 'ipaddr' '127.0.0.1' option 'netmask' '255.0.0.0' config 'interface' 'lan' option 'ifname' 'eth0' option 'type' 'bridge' option 'proto' 'static' option 'ipaddr' '192.168.1.1' option 'netmask' '255.255.255.0' config 'interface' 'air0' option 'proto' 'static' option 'dns' '193.238.157.5 193.238.156.225 208.67.220.220' option 'ipaddr' 'xxx.xxx.xxx.xxx' #hier wird die IP Adresse eingetragen die man im Reedemer zugewiesen bekommen hat. option 'netmask' '255.255.25X.0' #Netzmaske abhängig vom verwendeten Netz !!! 78.xx.xx.xx -> 255.255.255.0 # 19x.xx.xx.xx -> 255.255.255.252
/etc/config/wireless
config 'wifi-device' 'wifi0' option 'type' 'atheros' option 'disabled' '0' #mit option '1' wird Wireless aktiviert option 'channel' '10' #Hier wird der Kanal eingestellt option 'diversity' '0' option 'txantenna' '1' option 'rxantenna' '1' option 'country' '40' #Damit sagst du, dass das Device in Österreich betrieben wird (Kanal 12+13 aktiviert) option 'outdoor' '1' option 'txpower' '8' #Damit legst du die Sendeleistung in dB fest. Maximalwert: 20 option 'distance' '10000' config 'wifi-iface' option 'device' 'wifi0' option 'encryption' 'none' option 'mode' 'adhoc' #hier wird die entsprechende ssid + bssid eingestellt option 'ssid' 'v10.freiesnetz.www.funkfeuer.at' option 'bssid' '52:51:E5:D5:5A:43' option 'network' 'air0'
Die richtigen Werte fuer ssid/bssid entnimmt man am besten dieser Seite: Kanalwahl
OLSR Konfiguration
Das Konfigurationsfile für olsr heisst in OpenWRT: /etc/config/olsrd und es hat die übliche UCI schreibweise, die sich von einer Standard olsr Konfigurationsdatei zwar syntaktisch unterscheidet aber die selben Konfigurationsparameter aufweisst. Die hier angegebenen Werte für Timer und Intervale sind von Empfehlungen auf der Funkfeuer Mailingliste uebernommen worden. Falls eine Parameter in der folgenden Liste vermisst wird so wurde dieser nicht explizit gesetzt da sein Standardwert bereits ok ist.
/etc/config/olsrd
config 'olsrd' option 'IpVersion' '4' option 'LinkQualityAging' '0.05' config 'Interface' option 'ignore' '0' option 'interface' 'air0' option 'Ip4Broadcast' '255.255.255.255' config 'LoadPlugin' option 'library' 'olsrd_txtinfo.so.0.1' option 'accept' '0.0.0.0' config 'LoadPlugin' option 'library' 'olsrd_arprefresh.so.0.1' config 'LoadPlugin' option 'interval' '30' option 'file' '/var/run/olsrd.watchdog' option 'library' 'olsrd_watchdog.so.0.1' config 'LoadPlugin' option 'library' 'olsrd_nameservice.so.0.3' option 'latlon_file' '/var/run/latlon.js' config 'InterfaceDefaults' option 'Ip4Broadcast' '255.255.255.255' option 'HelloInterval' '5.0' option 'HelloValidityTime' '125.0' option 'TcInterval' '3.0' option 'TcValidityTime' '500.0' option 'MidInterval' '25.0' option 'MidValidityTime' '500.0' option 'HnaInterval' '25.0' option 'HnaValidityTime' '500.0'
Firewall-Settings
Nun darf man nicht auf die Firewall-Settings vergessen. Derzeit ist der Originalzustand, dass sich die OLSR-Partner nicht verbinden weil auf air0 input auf zurückweisen steht.
/etc/config/firewall
config 'defaults' option 'syn_flood' '1' option 'input' 'ACCEPT' option 'output' 'ACCEPT' option 'forward' 'REJECT' config 'forwarding' option 'src' 'lan' option 'dest' 'wan' config 'zone' option 'name' 'lan' option 'input' 'ACCEPT' option 'output' 'ACCEPT' option 'forward' 'ACCEPT' option 'network' 'lan' config 'zone' option 'name' 'wan' option 'input' 'ACCEPT' option 'output' 'ACCEPT' option 'forward' 'REJECT' option 'network' 'air0' option 'masq' '1' option 'mtu_fix' '1'
Sicherung der Konfiguration
Läuft der Router einmal, ist es sehr ratsam eine Sicherungsdatei der Konfiguration anzulegen. Man macht das über das UI unter: Administration -> System -> Sichern/wiederherstellen -> Sicherung erstellen
Bekannte Probleme und Lösungen
Offene DNS recursoren - der Router ist offen
Mehr Informationen dazu unter http://vixie.funkfeuer.at/ Wie kann man testen, ob der Server ein offener rekursiver DNS Server ist? siehe http://vixie.funkfeuer.at/
Dadurch das es keine neue Firmware für die schwachen Atheros AR2315 mehr geben wird, muß man das Problem "händisch" lösen: Ist der Router offen mit winSCP in "/etc/config/dhcp" folgende Zeile in den ersten Absatz "list notinterface 'air0'" hinzufügen. Der erste Absatz muß dann so aussehen:
config 'dnsmasq' option 'domainneeded' '1' option 'boguspriv' '1' option 'localise_queries' '1' option 'rebind_protection' '1' option 'rebind_localhost' '1' option 'local' '/lan/' option 'domain' 'lan' option 'expandhosts' '1' option 'authoritative' '1' option 'readethers' '1' option 'leasefile' '/tmp/dhcp.leases' option 'resolvfile' '/tmp/resolv.conf.auto' list notinterface 'air0' # Hier einfügen list 'server' '193.238.157.5' list 'server' '193.238.157.16'
Der Router hat keine Drahtlos-Schnittstelle mehr - Olsr wird nicht mehr vollständig geladen - klickt man im UI auf Olsr kommt folgende Zeile:
Es konnte keine Verbindung zum OLSR-Daemon hergestellt werden! Stellen Sie sicher das OLSRd läuft und das "txtinfo" Plugin auf Port 2006 geladen und "127.0.0.1" als Accept-Host gesetzt ist''
Das Problem kann man folgendermaßen lösen:
Schritt1: Im UI auf Administration -> System -> Sichern/wiederherstellen -> Grundsicherung wiederherstellen
Schritt2: aus dem Sicherungsarchiv die eigene Sicherungsdatei der Konfiguration laden
Horst
Horst ist ein nützliches Tool zur Analyse des Funksignals. Horst wird auf dem Router installiert und lässt sich daher auch mit Windows-Systemen verwenden - meist via PuTTY. Zuerst müsst ihr euch Horst über ssh holen - ihr müßt also bereits Internet Zugang haben. Installiert euch PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/)
INSTALLATION VON HORST VIA PuTTY
Über PuTTY ruft ihr eure Bullet über die lokale ip Adresse auf: In die Befehlszeile: "opkg update" eingeben...warten dann "opkg install horst" eingeben
ROUTER IN DEN MONITOR MODE SCHALTEN
Dann geht ihr in das Lucie User Interface über euren Browser und schaltet die Bullet in den Monitor-Mode: [Administration-Login] ->Network->Drahtlos-> Dein Device (z.B.wifi0)-> Schnittstellenkonfiguration: Modus: von adhoc auf Monitor stellen -> speichern und anwenden WARTEN
HORST STARTEN
In die Befehlszeile von Putty "horst -i ath0" kopieren/eingeben ->Horst läuft
Wenn ihr fertig seid stellt den Modus von "Monitor" wieder auf "adhoc" -> speichern und anwenden WARTEN
Anmerkung/Tipp
Die Aussparung im Schraubverschluss an der Unterseite ist zwar genau so gross dass ein RJ45 Stecker durchpasst, trotzdem sollte man bei gekauften (bereits gekrimpten) Kabeln darauf achten dass diese keinen Klippschutz haben. Dieser kann beim Durchfuehren des Kabels bzw. beim zuschrauben zu Problemen fuehren und muss dann evt. mit einem Messer vorsichtig entfernt werden.
Hardware Pics
- http://www.flickr.com/photos/mattw/3103755054/sizes/l/
- http://www.flickr.com/photos/mattw/3103756610/sizes/l/
(gruene platine = Bullet2, weisse platine = Bullet5)
(hier siehst Du, das Bullet2 und Picostation2 baugleich sind bis auf den Antennenanschluss)