Router mit TFTP flashen

Aus Freifunk München
Wechseln zu: Navigation, Suche

Dieser Artikel stellt dar, wie ein man einen Router mit TFTP flashen kann. Als Server wurde ein windows-10-Rechner verwendet (64-Bit-Version), als Beispiel-Router wurde ein TP-Link WR841N verwendet. Stand der Beschreibung ist der 8.1.2017.

Bei Problemen, die Firmware für eine EU-Version für den CPE210 zu installieren, siehe Router#TP-Link_CPE210, wo ein alternatives Verfahren ohne TFTP dargestellt ist.

Ubiquity-Router verwenden zwar ebenfalls TFTP fürs Recovery, allerdings spielt da der Router die Rolle des TFTP-Servers, sodass man vom PC aus mit einer TFTP-Client-SW das Recovery-Image aktiv hochladen muss. Für diesen Vorgang könnte diese Anleitung hilfreich sein. TODO: Diesen Vorgang hier ebenso ausführlich beschreiben, wie für die TP-Link Router

Evtl. ergänzt ein Linux-Anwender das Verfahren für Linux, evtl. gibt es Ergänzungen für andere Router.

Einführung[Bearbeiten | Quelltext bearbeiten]

Begrifflichkeit[Bearbeiten | Quelltext bearbeiten]

Flashen ist im Kontext dieses Artikels das Aufspielen einer Firmware auf einen Router, der Normalfall wird auf der Homepage bei https://ffmuc.net/router-flashen/ beschrieben.

In der deutschen Wikipedia findet sich eine Erklärung für TFTP (Trivial File Transfer Protocol), dies ist ein vereinfachtes FTP-Protokoll.

Anwendungsfälle[Bearbeiten | Quelltext bearbeiten]

Diese Verfahren ist sinnvoll, wenn man

  • viele Router automatisiert flashen will
  • einen Router flashen will, bei dem (aus welchen Gründen auch immer) der interaktive Update (sei es mit der Hersteller-Firmware oder der Freifunk-Firmware) nicht funktioniert.

Einführung zum für diesen Artikel verwendeten Beispiel[Bearbeiten | Quelltext bearbeiten]

In diesem Artikel wird (beispielhaft) die Installation einer Firmware für einen Router TP-Link WR841N/ND V11 dargestellt. Das praktische Problem dazu ergab sich, als zur Jahreswende 2016/2017 ein Router mit Hardware-Version V11 laut Etikett auf der Verpackung gekauft wurde, auf dem Router stand jedoch V11/EU. Das Einspielen der Firmware wie auf der ffmuc-Website bei Router flashen beschrieben führte zu einer Fehlermeldung. Möglicherweise(!) war diese "EU-Version" bereits mit Blick auf die Mitte 2017 vorgesehenen gesetzlichen Änderungen für Router-Firmware vom Hersteller installiert worden. Da es sich noch immer um ein "gewöhnliches" Gerät mit der Hardware-Version 11 handelte, wurde per TFTP die dafür verfügbare stable-Version installiert.

Vorbereitung[Bearbeiten | Quelltext bearbeiten]

TFTP-Server für Windows installieren und konfigurieren[Bearbeiten | Quelltext bearbeiten]

Sofern man auf seinem Windows PC noch keinen TFTP-Server hat, muss einer installiert werden.

Für diesen Artikel wurde openTFTP https://sourceforge.net/projects/tftp-server/ verwendet.

Nach Installation findet sich ein Verzeichnis c:\OpenTFTPServer. In diesem Verzeichnis ist eine Datei OpenTFTPServerMT.ini. In dieser Datei muss nun die IP-Adresse eingetragen werden, auf der der Server nachsieht, ob ein Router anfrägt. Für den TP-Link 841 ist dies 192.168.0.66.

In der Datei OpenTFTPServerMT.ini wird daher im Abschnitt LISTEN-ON die Zeile

192.168.0.66

ergänzt.

Die neue FF-Router-Firmware muss in einem Verzeichnis hinterlegt werden, das der TFTP-Server kennt. In der OpenTFTPServerMT.ini-Datei findet sich ein Abschnitt HOME. Dort trägt man ein beliebiges Verzeichnis ein, das der TFTP-Server verwenden soll. Beispielhaft nehmen wir

C:\OpenTFTPServer\tftpworkdir

Dieses Verzeichnis muss auch auf dem Windows-Rechner angelegt werden.

Firmware bereitstellen[Bearbeiten | Quelltext bearbeiten]

Die passende Firmware für die Erstinstallation (Factory-Version, nicht die Upgrade-Version!) wird auf dem üblichen Wege herunter geladen (s. https://ffmuc.net/firmware/ und dort nach der Modellauswahl Erstinstallation klicken) und im vorhin konfigurierten Verzeichnis C:\OpenTFTPServer\tfptworkdir abgelegt. In unserem Beispiel heißt die Datei

gluon-ffmuc-v2016.0-tp-link-tl-wr841n-nd-v11.bin

Die Datei muss umbenannt werden in

wr841nv11_tp_recovery.bin

Andere Modelle bzw. HW-Versionen benötigen einen anderen Namen. Eine Auswahl findet sich im Anhang.

Router anschließen[Bearbeiten | Quelltext bearbeiten]

Den Router von einer gelben Buchse per LAN-Kabel an den PC anschließen. Der Router bleibt noch ausgeschaltet.

Beachte: Nach dem Einschalten wie weiter unten beschrieben versucht der Router nur wenige Sekunden, eine Firmware per TFTP zu installieren. Schafft er dies nicht (z.B. da der TFTP-Server nicht läuft), dann bricht der Router seine Versuche ab und fährt mit der installierten Firmware hoch. Deshalb muss der Router jetzt noch ausgeschaltet bleiben!

Statische IP-Adresse für Windows-PC vergeben[Bearbeiten | Quelltext bearbeiten]

Die hier beschriebenen Schritte führen dazu, dass der PC sich nicht mehr mit dem Internet verbinden kann. Weiter unten wird beschrieben, wie die Einstellungen wieder rückgängig gemacht werden können.

Der Windows-PC braucht die statische IP-Adresse 192.168.0.66. Dies wird eingestellt via

Systemsteuerung
Netzwerk und Internet
Netzwerkverbindungen (bzw. Netzwerk und Freigabecenter: bei windows verschwinden ja immer wieder mal Optionen)
Ethernet

Falls mehrere Ethernet-Einträge vorhanden sind, muss man "common sense" anwenden. Hilfreich ist es, nach einer Hardware-Bezeichnung (z.B. Realtec...) Ausschau zu halten.

Nun geht ein Dialog mit dem Titel "Eigenschaften von Ethernet" auf.

Klicke dort

Eigenschaften
Internetprotokoll, Version 4  (der Haken muss gesetzt bleiben!)
nochmals Eigenschaften

dann Radiobutton "Folgende IP-Adresse verwenden"; trage dann bei IP-Adresse 192.168.0.66 ein, als subnetz-Adresse 255.255.255.0. Man muss keine Gateway-Adresse eintragen.

Klicke dann auf "ok" und bei den folgenden Dialogen jeweils auf "schließen". Damit ist der geöffnete Dialog wieder komplett geschlossen.

Flashen[Bearbeiten | Quelltext bearbeiten]

TFTP-Server starten[Bearbeiten | Quelltext bearbeiten]

Starte per Doppelklick RunStandAloneMT.bat

Wenn man nun alles richtig gemacht hat, öffnet sich eine Dos-Box und in der letzte Zeile steht

Listening On: 192.168.0.66:69

Kommt eine Meldung des Inhalts bind fail, so wurde möglicherweise ein Fehler beim Eintragen der statischen IP-Adresse gemacht.

Router einschalten mit gedrückem Reset[Bearbeiten | Quelltext bearbeiten]

Reset-Knopf festhalten. Bei festgehaltenem Reset-Knopf den Router einschalten. Reset-Knopf so lange festhalten, bis nur noch die Schloss-LED (bzw. bei v8 ggf. die Zahnrad-LED) leuchtet. Reset-Knopf noch einige Sekunden länger festhalten. Reset-Knopf loslassen.

Nach einigen Sekunden geht die Schloss-LED aus, d.h., alle LEDs sind aus. Nach noch ein paar Sekunden blinkt die Schloss-LED (bzw. bei v8 ggf. die Zahnrad-LED) schnell, kurz darauf für eine längere Zeit langsam - das bedeutet, dass der Flash-Vorgang erfolgreich war, und die neu geflashte Firmware bereits gebootet wird. In der Dos-Box mit dem laufenden TFTP-Server findet sich die Meldung

Client 192.168.0.86:3270 C:\OpenTFTPServer\tfptworkdir\wr841nv11_tp_recovery.bin, 7681 Blocks served

Tftp DOS-Box nach Erfolg.png

Anschließend kann der TFTP-Server beendet werden, indem die Dos-Box geschlossen wird.

Rückbau[Bearbeiten | Quelltext bearbeiten]

Rückbau statische IP-Adresse[Bearbeiten | Quelltext bearbeiten]

Ohne diesen Schritt ist der Windows-PC nicht mehr internetfähig! Ohne diesen Schritt kann auch der Router nicht im Konfigurationsmodus bearbeitet werden.

Oben wurde eine statische IP-Adresse für den windows-PC vergeben. Die dort beschriebenen Schritte werden nochmals wiederholt, nur wird der Radio-Button von "Folgende IP-Adresse vergeben" zurück auf "IP-Adresse automatisch beziehen" gestellt.

Deinstallation TFTP-Server[Bearbeiten | Quelltext bearbeiten]

Sofern man den TFTP-Server nicht weiter verwenden will, kann er über die Systemsteuerung - Programme und Features wieder deinstalliert werden. Evtl. müssen die angelegten Verzeichnisse manuell gelöscht werden.

Abschließender Test[Bearbeiten | Quelltext bearbeiten]

Probiere aus, ob

  • der windows-PC auch wieder mit dem Internet reden kann (z.B. Website aufrufen, sicher sein, dass die Site nicht aus dem Cache kommt!)
  • der Router auch im Konfigurations-Mode erreichbar ist.

Anhang[Bearbeiten | Quelltext bearbeiten]

Gerätetabelle mit Filenamen und IP-Adressen
HW-Model Filename Host-Adresse Router-Adresse
TP-WR841N(D) v8.x mr3420v2_tp_recovery.bin 192.168.0.66 192.168.0.86
TP-WR841N(D) v9.x wr841nv9_tp_recovery.bin 192.168.0.66 192.168.0.86
TP-WR841N(D) v10.x wr841nv10_tp_recovery.bin 192.168.0.66 192.168.0.86
TP-WR841N(D) v11.x wr841nv11_tp_recovery.bin 192.168.0.66 192.168.0.86
TL-WDR4300 v1.x wdr4300v1_tp_recovery.bin 192.168.0.66 192.168.0.86

Für andere Router finden sich diese Informationen bei den Router-spezifischen weiterführenden Links bei https://wiki.openwrt.org/toh/start.