TP-Link WR841ND/Flash-Anleitung v13
<== zurück zu TP-Link WR841ND
Die (meisten) (neueren) TP-Link Geräte haben einen Recovery-mode im Bootloader. Diese Anleitung gilt nicht für pharos-devices. (Vorraussetzung ist ein PC oder eine virtuelle Maschine mit einem Linux oder Mac OS).
Hinweis für Benutzer von Mac OS Eure LAN Schnittstelle heißt en0 statt eth0. Der Rest funktioniert auch auf Mac OS wie unten beschrieben. Achtung das tftp Verzeichnis heißt bei Mac OS standardmäßig anders (ggf. Benutzerrechte anpassen).
1. Der Bootloader hat selbst die IP-Adresse 192.168.0.2 (kann variieren).
2. Das LAN Interface des Unix kompatiblen Rechners (Linux, Mac OS) wird vom Bootloader des Routers ZWINGEND auf 192.168.0.66 erwartet.
3. LAN Kabel von deinem Rechner in eine der gelben Buchsen am Router.
4. Wir drücken nun den Reset Taster des Routers, schalten diesen danach ein, halten den Reset Knopf etwa 7 sec gedrückt. Wenn die LED des Ports, an dem dein Rechner angeschlossen ist, leuchtet, dann noch eine Sekunde länger drücken bis die Port LED schnell flackert und dann erst den Taster loslassen.
5. Am PC, mit root Rechten :
ifconfig eth0 192.168.0.66 up
Nachsehen, ob der Bootloader wirklich anwesend und erreichbar ist:
(Siehe auch: https://forum.openwrt.org/t/installing-on-tp-link-tl-wr841n-v13/4930/3 )
interface=eth0 sudo tcpdump -ni $interface arp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 09:22:11.439255 ARP, Request who-has 192.168.0.66 tell 192.168.0.2, length 46 09:22:11.439335 ARP, Reply 192.168.0.66 is-at 08:00:27:34:ae:e3, length 28 09:22:26.447428 ARP, Request who-has 192.168.0.2 tell 192.168.0.66, length 28 09:22:26.448982 ARP, Reply 192.168.0.2 is-at ba:be:fa:ce:08:41, length 46
6: Dann fragen wir den Bootloader, was er denn von uns erwartet:
interface=eth0 sudo tcpdump -npi $interface udp|grep RRQ tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 16:19:18.344558 IP 192.168.0.2.2445 > 192.168.0.66.69: 34 RRQ "tp_recovery.bin" octet timeout 1
7: Er möchte bei diesem Gerät die Datei: tp_recovery.bin (ACHTUNG, bei jedem anderen Gerät wie z.B. einem 4300v1, dieses bitte wie unter Punkt 6: vorher abfragen!!! ) Ist der Router noch im Auslieferungszustand (kein OpenWrt) dann brauchen wir beim ersten mal das File `gluon-*-tp-link-tl-wr-841n-v13-bootloader.bin`, welches ihr im Firmware Ordner "other/" findet:
cp other/gluon-*-wr-841n-v13-bootloader.bin tp_recovery.bin
War schon ein OpenWrt drauf, nehmen wir hier eine sysupgrade Datei (nur nötig, falls man einen Gerät debricken will):
cp sysupgrade/gluon-*-wr841-v13-sysupgrade.bin tp_recovery.bin
8: Wir installieren uns atftpd
apt-get install atftpd
und kopieren das tp_recovery.bin nach /srv/tftp/
(Bei Mac OS ist der TFTP Server vorinstalliert muss aber vor Benutzung gestartet werden)
9: Wir schalten den Router aus, nochmal mit für ca 7 Sekunden gerücktem Reset Taster wieder ein. Der Bootloader wird nun auf unserem tftpd Server die Datei vorfinden, die er erwartet... ich poste hier mal den log davon über die serielle Console beim 4300v1: ( Das seht ihr normal nicht )
U-Boot 1.1.4 (Jun 17 2013 - 12:31:57) U-boot DB120 DRAM: 128 MB id read 0x100000ff flash size 8MB, sector count = 128 Flash: 8 MB Using default environment PCIe Reset OK!!!!!! In: serial Out: serial Err: serial Net: ag934x_enet_initialize... No valid address in Flash. Using fixed address wasp reset mask:c03300 WASP ----> S17 PHY * : cfg1 0x7 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 athrs17_reg_init: complete eth0 up eth0 dup 1 speed 1000 Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: T T T T T T T T T T Retry count exceeded; starting again Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: T T T T T T T T T T Retry count exceeded; starting again Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: len bad 46 < 100 T T T T T T T T T T Retry count exceeded; starting again Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: T T T T T T T T T T Retry count exceeded; starting again Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: T T T T T T T T T T Retry count exceeded; starting again Using eth0 device TFTP from server 192.168.0.66; our IP address is 192.168.0.2 Filename 'wdr4300v1_tp_recovery.bin'. Load address: 0x80060000 Loading: T T T T T T ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############## done Bytes transferred = 4063236 (3e0004 hex) original_product_id = 43000001 original_product_ver = 01 recovery_product_id = 43000001 recovery_product_ver = 01 auto update firmware: product id verify sucess! First 0x2 last 0x7d sector size 0x10000 125 Erased 124 sectors Copy to Flash... write addr: 9f020000 done U-Boot 1.1.4 (Jun 17 2013 - 12:31:57) U-boot DB120 DRAM: 128 MB id read 0x100000ff flash size 8MB, sector count = 128 Flash: 8 MB Using default environment PCIe Reset OK!!!!!! In: serial Out: serial Err: serial Net: ag934x_enet_initialize... No valid address in Flash. Using fixed address wasp reset mask:c03300 WASP ----> S17 PHY * : cfg1 0x7 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 athrs17_reg_init: complete eth0 up eth0 Autobooting in 1 seconds ## Booting image at 9f020000 ... Uncompressing Kernel Image ... *snip *snap BusyBox v1.23.2 (2016-06-02 19:49:57 CEST) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (Chaos Calmer, r49261) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- root@ff14cc20b4ef88: *
10: Der Router wird ca 2 min nach dieser Prozedur neu starten und lebt mit der neu geflashten Firmware.
(Anleitung geht analog auch mit Windows, hier kann man mit Wireshark die entsprechenden Anfragen des Routers heraussuchen. Als TFTP Server geht zum Beispiel ntftp mit node.js. Wichtig: Standardmäßig verhindert die Firewall Anfragen über TFTP, für das Flashen muss man diese unter Umständen kurz deaktivieren, bzw. Port 69 freigeben)