Freitag, März 25, 2016

TP-Link wr841 Router "entbricken"

Du hast es also geschafft. Du hast einen Router von TP-Link mit einer falschen Firmware bespielt oder er hat sich selber "gehimmelt". Es leuchtet nur noch die Power-LED.

Keine Panik. Es besteht eine gute Chance, den Router mittels TFTP (Trivial File Transfer Protocol) zu retten.


Was brauche ich?

  • Den gebrickten Router (Versionsnummer beachten)
  • Einen PC mit Debian / *buntu Linux oder Windows
  • Kabel
  • Die originale Firmware von TP-Link mit der richtigen Versionsnummer
  • Eine TFTP Server Software


Vorgang Linux:

Als erstes installiert man "tftpd-hpa" auf seinem Computer mittels "sudo apt-get install tftpd-hpa".

Als nächstes gibt man seinem PC die IP-Adresse 192.168.0.66. Dies kann auf der Kommandozeile oder per network-manager machen. Als Anfänger sollte man sich die "normalen" IP-Einstellungen aufschreiben. Diese Adresse wird vom Router angesprochen, wenn man den TFTP-Vorgang startet. DNS und GW ist egal.

Dann kopiert man die originale Firmware (mit der passenden Versionsnummer) in das Verzeichnis /var/lib/tftpboot und benennt diese um zu "wr841nv9_tp_recovery.bin".

Wer auf Nummer sicher gehen will, der gibt der Datei noch volle Leserechte.

"sudo chmod ugo+r  wr841nv9_tp_recovery.bin"

Diese Datei kann also NUR genutzt werden, um einen wr841 mit der Hardware-Revision 9.x zu recovern. Der Router fragt auch EXPLIZIT NUR nach dieser Datei.

Nun überprüft man noch, ob der Dienst tftpd-hpa auch wirklich gestartet ist:

"sudo service tftpd-hpa status"

Auf einem Debian/Ubuntu bekommt man dann folgende Ausgabe.

● tftpd-hpa.service - LSB: HPA's tftp server
   Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
   Active: active (running) since Di 2016-03-22 08:45:25 CET; 3 days ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/tftpd-hpa.service
           └─1829 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 -vvv --secure /var/lib/tftpboot

Alles gut.

Dann drückt man die Reset Taste und schaltet den Router ein. Die Taste kann man loslassen, sobald er die Lock-LED anschaltet. In wenigen Sekunden kopiert er dann die Datei auf den Router und flasht ihn mit der originalen Firmware. Er läßt nach dem Flashvorgang kurz alle Lichter aufleuchten. Dann wartet man noch ein paar Sekunden und kann ihn dann wieder einer Bestimmung zuführen.

Nun stellt man wieder die Netzwerkeinstellung auf "normal".

Das war ja einfach!


Vorgang Windows:

Als erstes installiert man "tftp32" auf seinem Computer von hier:
http://tftpd32.jounin.net/tftpd32_download.html

Für die meisten wird wohl heutzutage die 64Bit Standard Edition Installer funktionieren. Als Windows Service sollte man es nicht installieren. Es sei denn, man weiß was man macht. Mit der Zip brauchen wir auch nicht hantieren.

Als nächstes gibt man seinem PC die IP-Adresse 192.168.0.66. Das macht man über die Systemsteuerung. Diese Adresse wird vom Router angesprochen, wenn man den TFTP-Vorgang startet. Als Anfänger sollte man sich die "normalen" IP-Einstellungen aufschreiben. DNS und GW ist egal.

Dann nimmt man die vorher heruntergeladene, originale Firmware (mit der passenden Versionsnummer) und benennt diese um zu "wr841nv9_tp_recovery.bin". Diese liegt wahrscheinlich im Download-Verzeichnis.

Diese Datei kann also NUR genutzt werden, um einen wr841 mit der Hardware-Revision 9.x zu recovern. Der Router fragt auch EXPLIZIT NUR nach dieser Datei.

Nun startet man tftp32.

Auf dem Reiter "TFTP Server" hat man dann zwei Optionen:

Current directory: Hier wählt man das Download Verzeichnis aus - oder das Verzeichnis in dem die Recovery-Datei liegt.

Server Interface: Hier wählt man das Netzwerk-Interface mit der Adresse 192.168.0.66.

Dann drückt man die Reset Taste und schaltet den Router ein. Die Taste kann man loslassen, sobald er die Lock-LED anschaltet. In wenigen Sekunden kopiert er dann die Datei auf den Router und flasht ihn mit der originalen Firmware. Er läßt nach dem Flashvorgang kurz alle Lichter aufleuchten. Dann wartet man noch ein paar Sekunden und kann ihn dann wieder einer Bestimmung zuführen.

Nun stellt man wieder die Netzwerkeinstellung auf "normal".

Das war ja einfach!