Portal:Firmware OUT

>Achtung< Dies ist die Anleitung für Router vor Version 20160213-beta	 !!!
Aktuelle Anleitung >Achtung<
= Firmware =
Aktuell ist die Version 20160310/ https://dev.freifunk-franken.de/firmware/current/
Eine Anleitung wie die aktuellen Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann gibt es hier.
Tipp: Die Inbetriebnahme eines mit FF-Firmware geflashten Router/Registrierung zum Weitergeben/Ausdrucken als .
== Anleitung zur Routerinstallation ==
für WR841N(D) WR1043N(D)
Bitte beachte die Reihenfolge
* 1. Router flashen.
* 2. Router in Netmon übernehmen und Standort setzen.
* 3. Registriere dich im Monitoring mit dem selben nick und Email-Adresse
* 4. Prüfe ob dein Router über 2 Hoods mesht, wenn ja behebe das Bitte 
* (5.) Trage dich für Informationen in die Mailingliste ein. 
=== Auspacken ===
* Router (1) auspacken, Teile auf Vollständigkeit überprüfen
* falls die Antenne (2) noch nicht angeschlossen ist, schraubt man diese jetzt an
* das Netzteil (3) für die Stromversorgung des Routers und das LAN-Kabel (4) braucht man später
** Es sollte immer das original Netzteil verwendet werden um Probleme während dem Flashen zu vermeiden.
=== Firmware (Erst-)Installation ===
* Hier eine Liste, welche Routertypen für die Freifunk-Franken-Firmware geeignet sind
* Herauszufinden, welche Firmware man braucht, ist ganz einfach: der Routertyp (1) und die Hardwareversion (2) stehen auf der Unterseite des Routers.
* Die passende aktuelle Firmware hier herunterladen.
** Die Factory-Version ist zu verwenden, wenn vorher noch keine Freifunk-Firmware installiert war.
** Die Sysupgrade-Version braucht man nur, wenn bereits eine Freifunk-Firmware installiert ist.
* den Computer z.B. mit dem beiliegenden Patchkabel an einen der LAN-Ports (gelb) des Routers anschließen
* den Router an Strom anschließen und einschalten
* warten, bis der eigene Computer eine gültige IP-Adresse bekommen hat (Falls dies nicht klappt, den Rechner neu starten und prüfen, ob die IP-Adresse automatisch vom Router bezogen wurde.)
* im Webinterface des Routers einloggen (Nutzername und Passwort stehen auf der Unterseite des Routers; normalerweise funktioniert http://admin:admin@192.168.0.1)
* unter "System Tools" –> "Firmware Upgrade" die vorher heruntergeladene Firmware zum Gerät schicken
* Geduldig warten, bis der Router neu startet. Während die Installation läuft, ziehe bitte auf keinen Fall den Stecker oder das Netzwerk-Kabel!
* Im Webinterface kann nach dem Neustart gegebenenfalls die Fehlermeldung kommen, dass keine Verbindung möglich ist. Die neue Firmware hat kein Webinterface.
* Das Passwort sollte geändert werden! Siehe hier.
=== Registrierung/Übernahme im Netmon ===
* Router nach dem Firmware Flash nicht manuell booten oder vom Strom trennen
* über den WAN-Port (blau) den Router mit dem Internet verbinden (einfach von gelb auf blau umstecken oder per B.A.T.M.A.N über WLAN mit schon in der Nähe stehenden Freifunkroutern verbinden lassen)
* Router sollte innerhalb der nächsten 5-10 Minuten im Netmon unter Router/Neue Router auftauchen
* auf Routerliste gehen
* auf "Registrieren" klicken (oben rechts)
* Benutzername und Passwort ausdenken und eingeben, E-Mail eingeben, auf Registrieren klicken
* wenn E-Mail da ist, Registrierung abschließen
* neue Router tauchen unter "Router" (Routerliste) –> "Neue Router" auf
* Router übernehmen und Name sowie Position auf Karte eintragen, den Router erkennt man an seiner MAC-Adresse (siehe Aufkleber Unterseite)
* Achtung:
Unter Umständen dauert das ganze manchmal auch etwas länger. Auch die Anzeige das er Online ist dauert oft 30 bis zu 60 Minuten.
Wichtig:
Der Ortseintrag im Netmon ist für die korrekte Funktion des Freifunknetzes von hoher Bedeutung.
Das Freifunk-Franken Netz ist in verschiedene Hoods segmentiert (Vgl. Portal:Netz). Ein in die falsche Hood oder ein nicht eingetragener Router, der mit anderen Routern mesht, umgeht die beabsichtigte Segmentierung und verbindet die jeweiligen Hoods auf Level 2 Ebene miteinander, wo lediglich ein Level 3 Routing stattfinden sollte.
 
Dies ist die momentan häufigste Ursache für Schwierigkeiten und Performance-Defizite im Freifunk Netz.
Wer seinen Standort nicht bekannt geben möchte, möge ihn auf der Netmon Karte in der gleichen Hood, in welche der Router seinen tatsächlichen Standort hat, an einem beliebigen anderen Ort platzieren.
Die Aufteilung der Hoods kann man hier einsehen, indem man im Overlay (rechte obere Ecke) die Checkbox Hoods aktiviert. 
Gut geeignete Fake-Standorte sind die, die sofort als solche erkannt werden können, z.B.:
* für die Fürther Hood: Mitten im Stadtparkweiher, auf der Pegnitz oder auf der Rednitz
* für die Nürnberger Hood: Mitten auf dem Wöhrder See
* für die Erlanger Hood: Im Schlossgarten oder auf dem Rathausplatz
* ganz Allgemein: Flüsse, Seen, Flughafenrollbahnen, auf der Autobahnmitte, mitten auf dem Fußballplatz
Die richtige Angabe des tatsächlichen Standorts erachten wir selbstverständlich für vorteilhafter. Wer keinen Standort angeben möchte, möge sich einen beliebigen innerhalb derselben Hood aussuchen.
== Firmware-Update ==
Welche Firmware Ihr installiert habt könnt ihr auf der FFF Monitoring Seite sehen. Ihr könnt euch auch einfach via SSH auf euren Router anmelden und folgendes Kommando absetzen:
root@<DER NAME EURES ROUTERS>:/# cat /etc/firmware_release
Die Ausgabe des Kommandos sollte so aussehen:
FIRMWARE_VERSION="0.5.2"
FIRMWARE_COMMUNITY="franken"
BUILD_DATE="build date: Mo 7. Dez 14:02:30 CET 2015"
OPENWRT_CORE_REVISION="1cd5709e5d9d6e73eb501f1f2840379aa8d171db"
OPENWRT_FEEDS_PACKAGES_REVISION="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
Wenn bereits eine Freifunk-Franken-Firmware auf dem Router installiert ist, geht man zum Updaten nach einer der folgenden Methoden vor. 
=== Möglichkeit 1: sysupgrade.sh ===
Achtung: Funktioniert erst ab Firmware Version 0.5.1
* Man loggt sich auf dem Router per ssh ein, siehe auch hier.
* Und startet folgendes Skript /etc/sysupgrade.sh
=== Möglichkeit 2: Skript einfügen ===
* Man loggt sich auf dem Router per ssh ein, siehe auch hier.
* Man fügt in das Fenster der Konsole dieses Skript ein und bestätigt gegebenenfalls mit [Enter]:
BOARD=$(cat /var/sysinfo/board_name)
case "$BOARD" in
 tl-wr1043nd)
 BOARD=tl-wr1043nd-v1
 ;;
 tl-wr741nd)
 grep "Atheros AR7240 rev 2" /proc/cpuinfo && BOARD=tl-wr741nd-v2 || BOARD=tl-wr741nd-v4
 ;;
 tl-wr741nd-v4)
 grep 740 /var/sysinfo/model && BOARD=tl-wr740n-v4
 ;;
 tl-wr841n-v7)
 BOARD=tl-wr841nd-v7
 ;;
 tl-wr841n-v9)
 grep "v10" /var/sysinfo/model && BOARD=tl-wr841n-v10
 ;;
 nanostation-m)
 BOARD=ubnt-nano-m
 ;;
 tl-wa860re)
 BOARD=tl-wa860re-v1
 ;;
 tl-wdr3500)
 BOARD=tl-wdr3500-v1
 ;;
 tl-wdr4300)
 grep "3600" /var/sysinfo/model && BOARD=tl-wdr3600-v1
 grep "4300" /var/sysinfo/model && BOARD=tl-wdr4300-v1
 grep "4310" /var/sysinfo/model && BOARD=tl-wdr4310-v1
 ;;
esac
case $BOARD in
 tl-wdr4900-v1 )
 SOC="mpc85xx" ;;
 * )
 SOC="ar71xx" ;;
esac
FILE="fff-20170110-${SOC}-g-${BOARD}-squashfs-sysupgrade.bin"
echo -ne "\nHardware: $BOARD\n"
echo -ne "Downloading $FILE\n\n"
cd /tmp/
wget [fe80::ff:feee:1%br-mesh]:80/dev/firmware/current/${FILE}
wget [fe80::ff:feee:1%br-mesh]:80/dev/firmware/current/${FILE}.md5
echo -ne "\ndone. Comparing md5 sums: "
md5sum -c ${FILE}.md5
ret=$?
echo
if [ $ret -ne 0 ]; then
 echo -ne "md5 sums do not match. Try restarting this script to redownload the firmware.\n\n"
 rm -f ${FILE}*
 exit 1
else
 while true; do
 read -p "md5 sums correct. Should I start upgrading the firmware (y/N)? " yn
 case $yn in
 [Yy] ) echo -ne "\nStarting firmware upgrade. Don't touch me until I reboot.\n\n\n"; sysupgrade ${FILE}; break;;
 [Nn]|* ) echo -ne "\nAborting firmware upgrade.\n\n"; rm -f ${FILE}*; exit 0;;
 esac
 done
fi
Tipp: Unter Windows kann der Inhalt der Zwischenablage durch [Umschalt]+[Einfg] in das PuTTY-Konsolenfenster eingefügt werden.
* Bei Ubiquiti Routern ggf. manuell vorgehen (siehe Möglichkeit 3).
=== Möglichkeit 3: manuelles Vorgehen ===
==== unter Linux ====
* Man loggt sich per ssh auf dem Router ein: ssh root@<ipv6%iface>, siehe auch hier.
* Man wechselt mit cd /tmp in das richtige Verzeichnis. Das aktuelle Verzeichnis kann man sich mit pwd anzeigen lassen.
** Das Image wird auf den lokalen PC heruntergeladen und dann auf den Router hochgeladen, dazu gibst du auf deinem Rechner diesen Befehl in die Linux-Konsole ein: scp <imagename> root@[<ipv6%iface>]:/tmp, das sieht dann z.B. so aus: scp openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin root@[fe80::fad1:11ff:fe90:3e6e%wlan0]:/tmp
** Alternativ erfolgt der Download direkt auf dem Router cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/<version>/<image>, z.B. cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/0.5.1/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
* Zuletzt führt man das Update aus: sysupgrade -n <imagename>. Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, kannst du versuchen, ohne -n zu flashen, dann bleibt das Passwort erhalten.
==== unter Windows ====
* Zuerst muss das Firmware-Image (bin-Datei mit dem Wert "sysupgrade" im Namen z.B. "openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin") auf den Computer heruntergeladen werden.
* Um die Datei auf den Router spielen zu können muss man sich zuerst mit dem Freifunk-Netz verbinden (via WLAN oder LAN).
* Mit WinSCP kann man die Datei auf das Gerät kopieren.
** Dazu startet man WinSCP und wählt als Übertragungsprotokoll "SCP", gibt IPv6-Adresse des Routers, sowie "root" als User und das dazugehörige Passwort ein.
** 
** Dann wechselt man im linken Explorer (eigener Rechner) in das Verzeichnis wo man das Image heruntergeladen hat und im rechten Explorer in das Verzeichnis "/tmp". Dann kann man die Datei mit Drag 'n Drop auf den Router hochladen.
** 
* Statt WinSCP kann auch PSCP verwendet werden: pscp -scp -6 <imagename> root@[<ipv6%iface>]:/tmp
* Danach loggt man sich via ssh (z.B. mittels PuTTY) auf dem Router ein, siehe auch hier.
* Dann wechselt mit cd /tmp in das Verzeichnis wo das Firmware-Image hochgeladen wurde.
* Zuletzt führt man das Update aus: sysupgrade -n <imagename>. Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, kannst du versuchen, ohne -n zu flashen, dann bleibt das Passwort erhalten.
Bitte beachten: Nach dem Flashen sollte der Router-Hash im Netmon gelöscht werden, damit Router und Netmon einen neuen Hash aushandeln können. Dazu einfach im Netmon einloggen: "Router" (Liste der Router) –> "Routerbezeichnung" (Router Bezeichnung) –> "Routeroptionen" -> "Konfig. bearbeiten" –> "Router auto assign Hash zurücksetzen".
Der SSH-Fingerprint ändert sich beim Update.
=== Besonderheiten beim Update ===
==== Besonderheiten beim Update von Ubiquiti Routern von 0.5.0 auf 0.5.1 ====
Es ist nötig, erneut die Funktionsweise der LAN-Schnittstelle zu konfigurieren.
Sofern die Netzwerkschnittstelle des Routers als WAN konfiguriert war, wird dringend empfohlen vor dem Flashen den Router am Heimrouter vom Internet / WAN zu trennen.
==== Besonderheiten beim Update auf 0.4.0 ====
Wenn bereits 0.4.0rc3f oder neuer installiert ist, einfach mit sysupgrade (ohne -n Schalter) updaten. Die vorherigen Versionen benötigen zum Flashen noch das sysupgrade -n (mit -n Schalter). Die alten Images (ab 0.3.999) weisen bei der Verwendung von Sysupgrade bereits auf diesen Umstand hin.
Einfache Regel: Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, versuche, ohne -n zu flashen. Sollte die Firmware dies noch nicht unterstützen, meldet sie sich mit einer Fehlermeldung. Es geht ansonsten auch nichts kaputt, wenn du mit -n flashst.
==== Besonderheiten beim Update auf 0.3.999 ====
Durch den geänderten WLAN-Kanal 1 ist nach dem Flashen die Verbindung zu Routern mit der alten Version über Funk nicht mehr möglich. Sollen also Router aus der Ferne upgedated werden, sollte dies beachtet werden. Nach dem Update bitte im Netmon den Router-Hash zurücksetzen.
==== Besonderheiten beim Update von einer Firmware vor 0.4.0rc4f ====
Gilt nur, wenn auf dem Router eine Firmware vor 0.4.0rc4f installiert ist:
Beim Sysupgrade bitte mit -n flashen, damit die alte Config durch die neue überschrieben wird. Dies ist nötig, damit die Daten nicht falsch vermischt werden und am Ende das Passwort nicht mehr stimmt.
=== Failsafe-Modus ===
Wenn beim Flashen etwas schiefgegangen ist und der Router nicht mehr antwortet, dann gibt es als Notnagel noch den Failsafe-Modus.
# Router einschalten
# Schalter (QSS) jede Sekunde drücken, etwa eine halbe Minute lang, bis die System-Led schnell blinkt
# IP des eigenen Rechners einstellen auf 192.168.1.2
# Telnet auf den Router 192.168.1.1
# Im Telnet-Fenster (auf dem Router) eingeben:
#: mount_root
#: passwd
#: dropbear
# Unter Windows in Cygwin oder unter Linux in der Konsole:
#: rm .ssh/known_hosts (nur falls sich scp beschwert, dass der Fingerprint nicht stimmt)
#: scp '/pfad/zur/datei/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-factory.bin' root@192.168.1.1:/tmp
# Im Telnet-Fenster (auf dem Router):
#: sysupgrade -n /tmp/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-factory.bin
# Abwarten und den Router nicht ausschalten, er rebootet von alleine.
Wenn das nicht geklappt hat, dann schau hier her.
Eine schrittweise Anleitungen zum Wiederbeleben eines defekten Routers, der nicht mehr durchstartet gibt es auch hier: 
https://wiki.freifunk-franken.de/w/Unbricken_eines_TP-Link_1043ND
=== 30/30/30 Reset ===
Bei schwierigen Routern hilft eventuell der 30 - 30 - 30 Reset (Video), Rezept, bevor man an den Router geht um dort an der Hardware (Lödarbeiten) durchzuführen zu müssen.
=== Reflash zur Orginal TP-Link Firmware ===
Eine schöne Anleitung zum Zurück-Flashen eines WR841 gibt es hier im Freifunk Mainz Wiki von Antennen-Wolfgang. Diese Methode funktioniert mit Sicherheit auch mit anderen TP-Link-Modellen. Eine Anleitung für den Router TP 841 mit der Firmware 9.x geht über die Anleitung vom Freifunk Gera-Greiz. Wenn diese Methode angewendet wird und der Router schon im Netmon angelegt war, sollte man ihn vorher dort löschen.
== Reseten und neue Version mit FTP aufspielen ==
gültig für TP Link Router der Versionen 8,9,10,11, Dieses in der Lage das neue Betriebssystem automatisch über die FTP Funktion zu flashen.
1. Setze den Computer auf die statische IP-Adresse 192.168.0.66, der Router wird die IP-Adresse 192.168.0.68 annehmen (DHCP ist nicht notwendig).
2. Benenne das entsprechende zu laden Datei in folgendes Format um wr841nv8_tp_recovery.bin, wr841nv9_tp_recovery.bin, wr841nv10_tp_recovery.bin, wr841nv11_tp_recovery.bin speichere dieses File in dem entsprechenden Ordner Von dem Server ab. Dieses Format wird vom Router automatisch erkannt und entsprechend runtergeladen.
3. Drücke gleichzeitig den Reset- und Powerknopf, und drücke ihn so lang bis das LED unter dem Schloß aufleuchtet. Danach lässt der Router die entsprechende neue Firmware.
Verwendbar ist im Prinzip jeder TFTP Server zum Beispiel TFTP32 (http://tftpd32.jounin.net/).
== Versionierung ==
Beim Techniktreffen vom 06.02.2016 wurde ein neues Versionierungsschema beschlossen. Am 10.02.2016 wurden noch einige Details geklärt.
=== Begründung ===
Wir haben leider nicht die Men-Power um immer sicherzustellen, das die Kompatibilität nach einem Release noch oder eben nicht mehr vorhanden ist.
Dadurch ist der Interpretationsspielraum bei regulären Versionsnummern sehr hoch.
Um diesen Spielraum abzuschaffen, steigen wir auf das Datumsschema um.
=== Schema ===
Die Versionsnummer orientiert sich grundsätzlich am Datum an dem der letzte Commit hochgeladen wurde. Auf diesen Commit wird dann entsprechend das Git-Tag gesetzt.
Daraus folgt folgendes Schema:
Build ohne release Tag: YYYYMMDD-[Anzahl commits seit vorherigem Release]-[Commit-ID]
Alpha: YYYYMMDD-alpha 
Beta: YYYYMMDD-beta 
Release: YYYYMMDD
=== Sonderfall ===
Für den seltenen Fall, das es mehrere Git-Tags an einem Tag geben muss, wird der Präfix entsprechend angepasst. Daraus folgt folgendes Schema:
Build ohne release Tag: YYYYMMDD.[1-n]-[Anzahl commits seit vorherigem Release]-[Commit-ID]
Alpha: YYYYMMDD.[1-n]-alpha 
Beta: YYYYMMDD.[1-n]-beta 
Release: YYYYMMDD.[1-n] 
=== Beispiele ===
Folgendes Beispiel geht davon aus, das es eine Alpha und eine Beta auf dem selben Commit gegeben hat.
In der Beta wurde am selben Tag ein massives Problem festgestellt, deshalb gab es eine neue Beta. Diese basiert auf einem neueren Commit und wird später auch so released.
20160130-alpha
20160130-beta
20160130.1-beta
20160130.1
Das nächste Beispiel geht davon aus, das es auf dem selben Commit eine alpha, beta und stable gibt:
20160130-alpha
20160130-beta
20160130
== Noch eine Bitte ==
Bitte melde dich bei unserer Mailingliste an! Die Infos dazu gibt es unter Kommunikation. Dort gibt es auch Hilfe und Support bei der Installation. Danke!
== Siehe auch ==
Kommandoliste auf den Freifunk-Routern
Kategorie:Technik
Kategorie:Firmware