Update: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(→‎Möglichkeit 2: Skript einfügen: update skript geändert)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Entwurf}}
{{Outdated}}
= Firmware  =
= Firmware  =
Aktuelle Firmware Version https://dev.freifunk-franken.de/firmware/current/
Aktuelle Firmware Version https://dev.freifunk-franken.de/firmware/current/

Version vom 28. Juli 2019, 13:51 Uhr

Diese Seite befindet sich noch im Entwurfsstadium.
Hilf mit sie zu verbessern!



Firmware

Aktuelle Firmware Version https://dev.freifunk-franken.de/firmware/current/

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 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.

  1. Router einschalten
  2. Schalter (QSS) jede Sekunde drücken, etwa eine halbe Minute lang, bis die System-Led schnell blinkt
  3. IP des eigenen Rechners einstellen auf 192.168.1.2
  4. Telnet auf den Router 192.168.1.1
  5. Im Telnet-Fenster (auf dem Router) eingeben:
    mount_root
    passwd
    dropbear
  6. 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
  7. Im Telnet-Fenster (auf dem Router):
    sysupgrade -n /tmp/openwrt-ar71xx-generic-tl-wr841nd-v7-squashfs-factory.bin
  8. 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

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.


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