Update auf gluon per Konsole

Aus Freifunk Kiel
Zur Navigation springen Zur Suche springen

Knoten nicht mehr erreichbar über SSH

1. Im Failsafe Mode Verbinden

Falls der Router mit zu alter Firmware ausgestattet ist, als dass er sich noch mit dem Freifunk-Netz verbindet, kannst du ihn nur noch über den Failsafe Mode erreichen und wenn du dir die IP `192.168.1.2` gibst. Wenn der Router im Failsafe Mode ist (schnelles flackern der LED) dann kannst du dich per Telnet verbinden.

Das geht unter LInux/OSX in der Konsole mit dem Befehl

telnet 192.168.1.1

unter Windows kannst du hierfür das Programm Putty verwenden, welches du später ohnehin erneut benötigen wirst.

2. Firmware überspielen

Die Firmware ist meist auf dem Router über diese URL herrunterladbar:

http://1.updates.services.ffki/firmware/stable/

Falls diese nicht erreichbar ist, muss lokal ein Webserver gestartet werden. Unter LInux/OSX kann ein einfacher Webserver gestartet werden, indem im Verzeichnis mit dem neuen Image, der Python Web-Server gestartet wird:

python -m SimpleHTTPServer

Auf dem Router kann das Image nun per wget heruntergeladen werden (hier für einen wr841n v9):

cd /tmp/
wget http://1.updates.services.ffki/firmware/stable/sysupgrade/gluon-ffki-2016.1.6-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
wget http://192.168.1.2:8000/gluon-ffki-2016.1.6-tp-link-tl-wr841n-nd-v9-sysupgrade.bin


Knoten per SSH erreichbar und Passwort bekannt

Um einen Knoten, den man per SSH erreicht zu updaten muss man folgende Schritte durchführen:


1. die lokale IP6 ermitteln mit

ping6 ff02::1%wlan0|grep [hier einen markanten teil der Mac adresse]

Wobei 'wlan0' deine Netzwerkkarte ist. Am besten eignet sich die vorletzten beiden Zahlen der MAC adresse, also z.b. bei '66:70:02:74:63':

ping6 ff02::1%wlan0|grep 02:74

das Ergebnis liefert wahrscheinlich bald die Link-Local ip6 (zum beenden der Suche, drücke CTRL+C)

2. per ssh als root einloggen

Zuerst die richtige Firmware auf deinen Rechner herunterladen, dann mit `scp` auf den router kopieren:

scp -6 ~/downloads/ffki/2016.1.6/sysupgrade/gluon-ffki-2016.1.6-tp-link-tl-wr841n-nd-v9-sysupgrade.bin root@\[Hier_DIE_IPv6_DEINES_ROUTERS\]:/tmp

(beachte die Backslashes vor den Eckigen Klammern)

Dann einloggen mit

ssh root@[Hier_DIE_IPv6_DEINES_ROUTERS\]

und dem root Passwort. (ev. noch den Fingerprint akzeptieren)

cd /tmp
sysupgrade gluon-[TAB]

3. Der Knoten ist online - aus dem Internet herunterladen

Wir nehmen an, dies ist eine per IPv6 erreichbare firmware download Seite:

http://[fda1:384a:74de:4242::1]/firmware.html

(wichtig, dass man die ip6 Adresse in der URL zur Firmware benutzt, da die Router die URL sonst nicht auflösen.)

Dort die richtige Firmware auf dem Router in den Ordner /tmp herunterladen.


also z.B. beim TL-WR841N:

cd /tmp

#check if it is really the WR841N:
lua -e 'print(require("platform_info").get_image_name())'

# installierte Version anzeigen ab gluon 0.4.x:
cat /lib/gluon/gluon-version
# bei 0.3.x:
cat /etc/freifunk_version


Falls dein Router selbst installierte Pakete enthält, solltest du folgenden Befehl eingeben um genügend RAM für das Firmware Image freizugeben:

sync
echo 3 > /proc/sys/vm/drop_caches

Nun die Firmware herunterladen auf den Router mit:

wget http://[fda1:384a:74de:4242::1]/firmware/stable/sysupgrade/gluon-ffki-2016.1.6-tp-link-tl-wr841n-nd-v9-sysupgrade.bin

bei anderen Modellen als dem WR841N/ND die richtige Firmware hier auswählen:

http://1.updates.services.ffki/firmware/stable/sysupgrade/


Falls der Router nicht online ist sondern nur per LAN an deinem Rechner hängt, kannst du auf deinem Rechner in dem Ordner, wo du die Firmware bereit hältst einen minimalen Webserver starten um einen lokalen Link zu erhalten für den wget-Befehl (siehe erster Abschnitt oben)

Update ausführen

Falls du über den Failsafe Mode eingeloggt bist muss das Dateisystem noch gemountet werden mit

mount_root


Manuelles Update

Wenn du die das Gluon .bin-File erfolgreich in den /tmp Ordner hochgeladen jast kannst du jetzt das Update starten:

sysupgrade gluon-[TAB]

Dann solange warten, bis der router rebootet hat, dies kann mehrere Minuten dauern

Autoupdater reaktivieren

Stable Release

Mit folgendem Befehl setzt du die nötigen Signaturen temporär auf 1 runter und startest den Autoupdater:

echo -n 'Settings bisher:'; uci show autoupdater
uci set autoupdater.stable.good_signatures='1'
autoupdater -f


Release Candidate

Mit folgenden Befehlen kannst du den Autoupdater auf den neuesten Stand bringen, sodass dieser sich automatisch den neuesten Release Candidate der Freifunk Firmware herunterlädt, um uns bei den Tests zu helfen und uns auf der Mailingliste Feedback zu geben:

 # Falls Ihr schon auf dem letzten rc wart, dann müsst ihr noch die Version heruntersetzen, damit der Autoupdater wieder anspringt, mit:
 # echo 2016.2.0 > /lib/gluon/release
 # Autoupdater auf rc=release candidate setzen:
 uci set autoupdater.rc=branch
 uci set autoupdater.rc.name='stable'
 uci add_list autoupdater.rc.mirror='http://1.updates.services.ffki/firmware/release-candidate/sysupgrade/'
 uci add_list autoupdater.rc.pubkey='bbb814470889439c04667748c30aabf25fb800621e67544bee803fd1b342ace3'
 uci add_list autoupdater.rc.pubkey='8d16e1b88bcac28b493d6eadbce97bd223a65b3282a533c1f15f4b616b0d732a'
 uci add_list autoupdater.rc.pubkey='b952fb086ae4987a1807af0ed14683117af663f6c075950d832b761a6963be9d'
 uci add_list autoupdater.rc.pubkey='9885f836464abf3633f92701e4febeefec54f481d8b6cd39085e6ad24162ff82'
 uci add_list autoupdater.rc.pubkey='359ec3619184f1bdfe26515cf5ba2b016ba23489db2a371cbf5c3cee9d061110'
 uci add_list autoupdater.rc.pubkey='1c24d4b41680f16cda0c19ad53de84ef1be3a86870e6fec6454833a6a46f7122'
 uci add_list autoupdater.rc.pubkey='cb0141d79e131854eb05d6c9ce5cc237baa462e288b7fcb0eadbd92da8f34b3f'
 uci set autoupdater.rc.good_signatures='1'
 uci set autoupdater.settings.branch='rc'
 uci commit
 autoupdater -f

Wenn ihr danach euren Knoten nicht weiterhin für den Test von RCs bereit stellen wollt dann solltet ihr mit den folgenden Befehlen wieder auf stable umstellen.

uci set autoupdater.settings.branch='stable'
uci commit
autoupdater -f

Kontakt und Koordinaten akualisieren

Dann erneut einloggen und dort diese Befehle ausführen, damit der Router in der Karte wieder auftaucht und man einen ansprechpartner (contact) hat:

uci set gluon-node-info.@location[0].latitude=54.[XXXXXXXXX]
uci set gluon-node-info.@location[0].longitude=10.[XXXXXXXXXX]
uci set gluon-node-info.@location[0].share_location=1
uci set gluon-node-info.@owner[0].contact=[HIER DEIN NAME, EMAIL ODER SONSTIGES]
uci commit

(Tausche die Werte für 'HIER DEIN NAME, EMAIL ODER SONSTIGES' und 'XXXXXXXXXXX' aus)

Wiki Seite der Node bearbeiten

Falls noch eine Wiki Seite für deinen Router existiert, logge dich hier im Wiki ein und tausche in der Wiki-Seite der Node

{{

durch

<pre>

aus, und tausche das ende }} durch