Für die Hardware-Version 1.0 gibt es auf OpenWRT.org eine recht gute Anleitung,
jedoch will die Übertragung der neuen Firmware über die serielle Schnittstelle
auf den Mainboard nicht so richtig funktionieren. Nach etwas Bastelei ist es mir jedoch gelungen.
Ein Blick auf die Rückseite des Routers zeigt die Hardwareversion:
Als Erstes wird das Gerät geöffnet (nur 4 Schrauben auf der Rückseite) und an den markierten PINs werden nun Kabel angelötet.
Ich habe micht für das Anlöten der Kabel auf der Rückseite entschieden. Später werden die Kabel isoloiert und verbleiben im Gerät.
Nun wird der TTL-USB-Adapter angeschlossen, wobei der PIN mit „VCC“ nicht angeschlossen wird.
Die Kabel für „RX“ und „TX“ müssen entsprechend gekreuzt auf den TTL-USB-Adapter aufgelegt werden.
TTL-USB-Adapter an USB-Port des PC's stecken, kurz warten bis das Gerät erkannt wird.
Falls das Gerät nicht erkannt wird, dann fehlt der entsprechende Treiber. In meinen Fall ein „CP2104“ für Windows.
Webseite des Herstellers: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Wenn das Gerät nun erkannt ist, sollten im Gerätemanager unter Windows (Win + R: hdwwiz.cpl ENTER)
der COM-Port auf 115200, 8N1 eingestellt werden.
Wir benötigen ein Terminalprogramm um uns auf die Schnittstelle zu verbinden.
Hierzu kann man
verwenden. Natürlich gibt es noch mehr Programme die dafür geeignet sind.
Jetzt den LAN-Port „LAN4/WAN“ des TP-Link mit einen Switch sowie den PC mit den Switch verbinden.
Man kann auch die beiden Geräte mit einen RJ45-Crossoverkabel verbinden.
Auf den PC stellen wir die Netzwerkverbindung für die LAN-Schnittelle (welche auch mit den Switch verbinden ist)
auf die IP-Adresse 192.168.1.2 mit Subnetzmaske 255.255.255.0. Angaben wie Gateway, DNS-Server geben wir nicht an.
Auf der Webseite: https://downloads.openwrt.org/releases/19.07.8/targets/lantiq/xrx200/ finden wir den
Link „tplink_tdw8970-squashfs-sysupgrade.bin“ und laden die Firmware herrunter.
Download
Ganz wichtig: Die geladene Datei benennen wir in „tplink_tdw8970-squashfs-sysupgrade.bin“ um.
Nun Starten wir das Terminlaprogramm und stellen wie unter Punkt 4 genannten Parameter für die COM-Schnittstelle ein.
Jetzt schalten wir den TP-Link über den Schalter auf der Rückseite ein (natürlich vorher Netzteil anschließen).
Im Terminalprogramm drücken wir ganz schnell die Taste „t“ um den Bootvorgang abzubrechen.
Es könnte nun wie folgt aussehen:
ROM VER: 1.1.4 CFG 05 ROM VER: 1.1.4 CFG 05 DDR autotuning Rev 1.0 DDR size from 0xa0000000 - 0xa3ffffff DDR check ok... start booting... U-Boot 2010.06-LANTIQ-v-2.3.08 (Sep 29 2014 - 14:06:03) CLOCK CPU 500M RAM 250M DRAM: 64 MiB Using default environment In: serial Out: serial Err: serial Net: Internal phy(GE) firmware version: 0x8434 vr9 Switch8192 KiB W25Q64 at 0:3 is now current device MAC: xx-xx-xx-xx-xx-xx run "flash_flash" to bring up the kernel Hit any key to stop autoboot: 0 VR9 #
Der Bootvorgang ist abgebrochen und wir können unsere eigene Befehle nun eingeben.
Um die neue Firmware auf den TP-Link zu bekommen benötigen wir einen TFTP-Server.
Ich verwende den „Tftpd64“ https://pjo2.github.io/tftpd64/ den es auch in der 32-Bit Variante auch gibt.
In einen leeren Verzeichnis speichern wir den zuvor getätigten Firmware-Download „tplink_tdw8970-squashfs-sysupgrade.bin“ ab.
Nun weisen wir den TFTP-Server das Verzeichnis zu und starten ihn.
Nun geben wir folgenden Befehl ein:
setenv ipaddr 192.168.1.1
Nun geben wir die IP-Adresse des TFTP-Servers bekannt:
setenv serverip 192.168.1.2
Jetzt setzen wir den Boardtyp:
setenv bootargs 'board=WD8970'
Jetzt starten wir den Download in den Arbeitsspeicher des TP-Link:
tftpboot 0x81000000 tplink_tdw8970-squashfs-sysupgrade.bin
Nun sollte der Download in der Anzeige des TFTP-Servers sichtbar sein. Jetzt ist es eine gute Idee einen Kaffee oder Tee zu trinken.
Im Terminalprogramm sieht man:
Load address: 0x81000000 Loading: * TFTP error: 'File not found' (1) Starting again 8192 KiB W25Q64 at 0:3 is now current device MAC: xx-xx-xx-xx-xx-xx Using vr9 Switch device TFTP from server 192.168.1.2; our IP address is 192.168.1.1 Filename 'tplink_tdw8970-squashfs-sysupgrade.bin'. Load address: 0x81000000 Loading: ######################################################################################### ################################T ####################################T #################### ########################################################################################T # # ####T ################################################################################## ##############T ################T ######################################################## ###################################################################################T ##### # #####################T #########################T ############################T ############## # done Bytes transferred = 6684985 (660139 hex)
Nun geben wir im Terminal ein:
sf erase 0x20000 0x7a0000
Im Terminalprogramm erscheint:
VR9 # sf erase 0x20000 0x7a0000 Erasing SPI flash... .......................................................................................................................... Successfully erased 7995392 bytes @ 0x20000 Done
Jetzt kann die Firmware in den Flash geschreiben werden:
sf write 0x81000000 0x20000 0x$(filesize)
Im Terminalprogramm erscheint:
VR9 # sf write 0x81000000 0x20000 0x$(filesize) ...................................................................................................... Successfully programmed 6684985 bytes @ 0x20000 VR9 #
Nun können wir den TP-Link neu starten:
reset