DDWRT zu FreifunkFranken Firmware

Aus Freifunk Franken
Wechseln zu:Navigation, Suche

Auf dem Router läuft DD-WRT

Mitunter bekommt man einen gebrauchten Router, auf dem nicht die Original-Firmware, sondern DD-WRT läuft. Dann ist ein Flashen der Freifunk-Firmware via Webinterface nicht möglich, da DD-WRT nur DD-WRT-Firmware flasht.

Mit folgendem Vorgehen habe ich mehrere TP-Link TL-1043ND mit DD-WRT darauf geflasht (von Linux aus):

Zunächst muss Telnet aktiviert werden. Hierzu per Webinterface anmelden, und unter „Administration“ den Telnet-Zugriff aktivieren.

Dann wird die Firmware auf den Router kopiert. Es wird die „sysupgrade“-Variante benötigt, in meinem Fall „fff-20181202-ar71xx-g-tl-wr1043nd-v1-squashfs-sysupgrade.bin“.

Die einfachste Variante, die Firmware auf den Router zu bekommen, ist, sie von da aus per wget von einem Webserver abzuholen. Entweder verwendet man einen richtigen HTTP-Server, oder behilft sich – wie im folgenden beschrieben – mit dem Mini-Webserver, den Python mitbringt:

Der Einfachheit halber macht man zunächst eine Kopie mit einem griffigeren Namen:

cp fff-20181202-ar71xx-g-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware.bin

Dann startet man im selben Verzeichnis den Mini-Python-Webserver:

python -m http.server

Der Server lauscht auf 0.0.0.0 (also allen verfügbaren Netzwerkinterfaces) auf dem Port 8000. Wenn man in einem Webbrowser die Adresse 127.0.0.1:8000 öffnet, sieht man ein Directory Listing (incl. der Datei „firmware.bin“).

Dann auf dem Router einoggen (der Router hatte hier die IP-Adresse 192.168.11.1):

telnet 192.168.11.1

Dann die Firmware nach /tmp kopieren (der Client hatte hier die IP-Adresse 192.168.11.147):

cd /tmp
wget http://192.168.11.147:8000/firmware.bin

und schließlich die Firmware flashen mit

mtd -r write /tmp/firmware.bin linux

Der Router startet neu und begrüßt einen dann mit der Freifunk-Firmware.