Firmware per SSH aktualisieren

SSH Key generieren und hinterlegen

Um dich per SSH zu verbinden, musst du zuvor einen SSH-Key hinterlegt haben. Dies kannst du im Config Mode im Bereich "Expert Mode" -> Remotezugriff machen.
Ein SSH-Keypaar lässt sich auf der Kommandozeile mit dem Befehl ssh-keygen erzeugen. Alle abfragen können leer gelassen werden, es ist jedoch empfehlenswert (aber nicht notwendig) ein Passwort zu vergeben. Sofern man keinen anderen Pfad an gibt, wird unter ~/.ssh/ eine id_rsa und eine id_rsa.pub gespeichert (Bei windows unter C:\Users\BENUTZERNAME\.ssh\) Eine der Dateien hat die Endung .pub, diese Datei enthält den öffentlichen key, und kann mit einem Texteditor geöffnet werden, und der vollständige Inhalt in die Textbox der Router-Konfiguration kopiert werden.

Beispiel für einen öffentlichen Key:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4P1TqlL9cLgwiAYfI3CnXDt3zC4EX91K5FR+PQxc12pv8caiEjWabdDyCIImgdeKw7CZoCnu3KmnB7O0N/PUFsC2mP9yIVsi8NJcDDdUAUPRi0OohrsLx8AJEW/nXYP/sq7Zh3mAs+wZRraCBPtkNtnqgbABuAZhbZqIv69QgDPL58jf0JIY40rAjH5237WAd5E3B2Fi75yTwWytx8m4HLTrkHBuAQUM01T6Ri7Q7b/ucd+NXhWh9hKuxeKKOTvW2HjSCXgjhKtFvyokfAQvVedSfAAgKP316yujbP+cH2qYznDoK7n6AIhzNWHC38RjTM0NH7TaYJDoV1M2eV7ff username@hostname

ssh und ssh-keygen sind auf jedem Linux & MacOS verfügbar, sowie auf Windows ab Version 10. Bei alten Windows Versionen kann man sich mit Zusatzprogrammen wie Putty behelfen.

Mit dem Router verbinden

Sobald du einen Key hinterlegt hast, kannst du dich per SSH verbinden. Dafür benötigst du die IP-Adresse deines Freifunk-Routers. Tippe dann in der Kommandozeile folgendes ein:

ssh root@router-ip

Anschließend solltest du mit deinem Router verbunden sein (zu erkennen am OpenWrt-Schriftzug).

Möchtest du dich mit einem Router verbinden, der nicht in deinem LAN ist (z. B. ein Mesh only-Knoten), so kannst du dich entweder mit deinem Computer ins Freifunk-Netz begeben, oder per agentForwarding eine Brücke über einen VPN-Knoten schlagen. In dem Fall kannst du mit der -A Option deinen Privaten Key weiterreichen und vom ersten Router eine neue SSH-Verbindung zum zweiten Router starten.

Update anstoßen

Nun kannst du auf dem Router Befehle ausführen und somit auch Updates installieren.
Der Autoupdater verlangt normalerweise drei gültige Signaturen um sicher zu stellen, das die Firmware vertrauenswürdig ist, möchtest du nur zwei Signaturen voraussetzen, kannst du mit

uci set autoupdater.stable.good_signatures='2'

den Wert vorübergehend herab setzen, oder mit

uci set autoupdater.stable.good_signatures='0'

auch ganz auf die Singnaturprüfung verzichten.
Anschließend kannst du mit

autoupdater -f

den Updateprozess starten. Der Router wird automatisch die neuste Firmware herunterladen, installieren und dann neu starten. Beim Neustart wird deine Verbindung unterbrochen.

Spezifische Firmware manuell installieren

Möchtest du eine Firmware installieren die noch nicht auf unseren Update-Servern liegt oder selbst gebaut hast oder zu einer anderen Community wechseln möchtest, kannst du mit dem wget-Befehl eine Datei auf den Router übertragen und diese dann installieren. Achte unbedingt darauf, das die Firmware-Datei zu deinem Router-Modell passt.

cd /tmp

wget pinneberg.freifunk.net/download/stable/sysupgrade/gluon-ffpi-0.9.1-tp-link-tl-wr841n-nd-v9-sysupgrade.bin


sysupgrade -c gluon-ffpi-0.9.1-tp-link-tl-wr841n-nd-v9-sysupgrade.bin