Nachdem die OpenWRT Seiten irgendwie nicht sehr deutlich sind, was das „debricken“ eines Routers mit OpenWRT angeht, der noch in den Recovery-Modus startet, schreib ich das hier mal auf, damit ich es nicht vergesse….

Das Problem

Nachdem ich eine Firmware für mein kleines Freifunk-Projekt in Talheim gebaut hatte, die ein openvpn mitbringen sollte, musste ich auf die harte Tour erfahren, dass der TL-WR841N wirklich wenig Flash-Speicher hat: Das Firmware-Image war zu groß, der Router ließ sich flashen, startete auch, stürzte nach dem Systemstart jedoch stets ab und  befand sich somit in einem Boot-Loop – weder das Webinterface noch die Konsole via ssh  waren erreichbar.

Auf den OpenWRT Seiten wird schön erklärt, was man mit dem Recovery-Modus alles anfangen kann (Passwort zurücksetzen, Werkseinstellungen…) zum Thema „zu großes Image geflasht“ gibt es leider keine Infos.

Das Lösungsprinzip

Wenn man eine funktionierende OpenWRT-Firmware hat, ist es im Prinzip ganz einfach, den Router zu retten:

  1. In den Recovery-Modus starten, via telnet auf den Router.
  2. Die Firmware mit sysupgrade -n <firmware-sysupgrade>.bin flashen.

Das eigentliche Problem besteht darin, die Firmware-Datei auf den Router zu bekommen – hier bieten sich zwei Varianten an.

  • Man kann die Firmware-Datei auf einen Webserver legen und mit wget von der Routerkonsole auf den Router holen.
  • Wenn man eine Rechner mit ssh zur Hand hat, kann man die Datei direkt per scp von der Routerkonsole aus vom Desktop-Rechner auf den Router kopieren.

Schritt für Schritt in Variante 2

Das Vorgehen für den TP-Link TL-WR841N(D).IMG_20140330_122035

  1. Router mit einem LAN Kabel mit dem Desktop-Rechner verbinden. Eine Besonderheit für den TL-WR841N(D) besteht darin, dass dies an der blauen WAN Buchse geschehen muss.
  2. Desktop Rechner auf die statische IP-Adresse 192.168.1.2/24 konfigurieren.
  3. Router anmachen, warten bis die LED beim Zahnrad aufleuchtet, dann Reset-Knopf an der Rückseite des Routers drücken. Die LED am Zahnrad blinkt jetzt flott, der Router ist im Recovery-Modus.
  4. Nun kann man ohne Passwort vom Desktop-Rechner aus mit dem Befehl telnet 192.168.1.1 auf die Konsole des Routers zugreifen.
  5. Auf dem Router wechselt man nach /tmp, dort ist genug Platz für die Firmware, die geflasht werden soll und kopieren die Firmware Datei vom Desktop-Rechner auf den Router:
    cd /tmp
    scp 192.168.1.2:/tmp/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-sysupgrade.bin .
  6. Nun kann man den Router mit dem Befehl sysupgrade -n <firmware-sysupgrade>.bin flashen, nach dem Vorgang startet das Gerät neu und das Problem sollte behoben sein.

One thought on “OpenWRT – Boot-Loop nach zu großem Image

  • 22. März 2015 um 08:58
    Permalink

    Es geht noch einfacher:
    1. Man installiert sich einen TFTP-Server (z.B. SolarWinds für Windows, gibt es auf heise.de).
    2. Die Netzwerkkarte wird auf die feste IP geändert 192.168.0.66.
    3. In das Verzeichnis des TFTP-Servers wird die Firmware kopiert und in wr841nv9_tp_recovery.bin umbenannt. Danach ist der Server einsatzbereit.
    4. Der Router wird über die blaue Buchse mit dem Rechner verbunden.
    5. Am Router die Reset-Taste drücken und halten und den Router einschalten. Die Reset-Taste darf erst losgelassen werden, wenn im Log-Fenster angezeigt wird „TFTP verbunden von… …Gestartet“.
    6. Der Abschluß der Übertragung wird im Log-Fenster angezeigt.
    7. Router bootet neu und ist einsatzbereit.

    Diese Funktion bezieht sich auf Version 9 der TL-WR841N, funktioniert aber auch bei anderen Modellen, wie dem WDR3500.

Kommentare sind geschlossen.