TL-WA860RE v1 Repeater
after factory resetting the repeater it was not possible to enter the Tp-Link configuration site (loaded the quick setup site, but couldn't click Exit or Start because he got stuck everytime. also no ssh or telnet possible. the only sign of life i could get, was a working ping and the two green LED's for Power & Network)
so i found two half complete instructions on the web and figured the rest out by myself.
use at own risk!
Requirements:
- bricked Repeater
- Ethernet Cable
- Arduino or USB to TTL Converter (i used an Arduino. no detail instructions for TTL Converter here)
- soldering iron + small wires
- time, but with this instruction you maybe can get it done in 2 to 3 hours
First part: Hardware
- open the case of the Repeater (Warning - High Voltage. use ducktape to isolate the ac passthrough socket)
- plug the repeater into a socketboard. one with a main powerswitch is nice because you can't plug it in/out without destroying the temorary soldered connections.
- connect the Repeater and your PC over the Ethernet Cable
- solder one wire to pin TP9 (RX), one to pin TP10 (TX) and one to ground (using the Antenna's shield)
take a look at the pictures here:
https://tplinkforum.pl/t/wa860re-v1-openwrt-gargoyle-pl/6451
and here is how this looks like:
- connect the other side of each of the three wires to Arduino (Rx, Tx and Gnd) or to your TTL Converter
- connect GND to Reset on your Arduino. this lets you directly use the Rx/Tx Pins of your Arduino with a serial monitor like PuTTY
check if your Arduino can be used for this. i had a Mega 2560 laying around
--> https://forum.arduino.cc/t/arduino-as-usb-ttl-converter/350458
--> https://create.arduino.cc/projecthub/PatelDarshil/ways-to-use-arduino-as-usb-to-ttl-converter-475533 - connect the Arduino/TTL Converter to your PC using a USB Cable
Second part: Software
- download latest original firmware
TL-WA860RE v1 file from TP-LINK website
this file includes the bootloader as you can see in the name. we have to cut the bootloader part out of it...
- remove the two brackets () from the filename because the command line can't handle them.
wa860rev1_en_3_15_8_up_boot(150820).bin --> wa860rev1_en_3_15_8_up_boot150820.bin
the command to modify this file using Ubuntu is:
dd if=<original_file> of=tplink.bin skip=257 bs=512
if you are using Windows you could search the web for "How to install Windows Subsystem for Linux (WSL) on Windows 10" to get a linux bash running on Windows. or maybe someone can upload the modified file to the openwrt page?
-
use this adapted command:
dd if=wa860rev1_en_3_15_8_up_boot150820.bin of=tplink.bin skip=257 bs=512
-
configure your PC's network settings to static IPv4 = 192.168.0.X
-
Download and install Tftpd64 on your PC
-
copy the generated "tplink.bin" File into the Tftpd64 Folder and check if it really has 3840Kb.
-
run Tftpd64 and configure it like:
https://superuser.com/questions/1205500/how-do-i-correctly-configure-tftp-server-tftpd64
(except from the IP, windows gives you preconfigured 192.168.0.X from [.4]) -
Download and install PuTTY on your PC
[Alternative serial monitor program like screen(linux cmd) or Realterm(windows) is also possible] -
run PuTTY and choose serial, then enter the right COM port (look at windows Device Manager) and set Speed(Baudrate) to "115200"
check if you can see lot of output during repower/reset
Third part: lets do it!
-
Turn on the Powersupply/Mainswitch for the Repeater or press the reset button of the Repeater.
-
As soon as you see "Autobooting in 1 seconds" you need to paste
tpl
into the putty command window.
copy it to the clipboard and right-click in the right moment
If you miss it, just repower or reset the device and try again.
You will get a prompt:
wasp>
this means the boot process is stoped
This prompt will allow us to download the firmware from a remote TFTP server.
Lets look at the configuration
-
printenv
your can see that the default IP is set to 192.168.1.X for serverip & ipaddr
(of course you could have set your PC's IP at [Software 4.] to 192.168.1.X instead of 192.168.0.X) -
change IP to --> your PC running the Tftpd64 server
wasp> setenv serverip 192.168.0.X
-
change IP of the Repeater (i took the default ip)
wasp> setenv ipaddr 192.168.0.254
-
check with
printenv
again if IP is set correct -
transfer file from tftp to ram memory
wasp> tftpboot 0x80000000 tplink.bin
and you will get the output:
Bytes transferred = 3932160 (3c0000 hex)
IMPORTANT: the hex value in the brackets in your PuTTY command window with a TL-WA860RE v1 must be
--> 3c0000 <--
if this is not the case, remodify the firmware file [go back to Software 3.]
if you finish and end up in a bootloop this causes most likely the problem.
i managed to escape the bootloop using tpl
[go back to 2.]
-
next erase 0x3c0000 (3670020 Bytes) from flash memory (starting at 0x9f020000).
erase 0x9f020000 +0x3c0000
-
copy firm.bin stored in ram to flash memory 0x3c0000 (3670020 Bytes).
cp.b 0x80000000 0x9f020000 0x3c0000
-
boot from flash memory (0x9f020000 address).
bootm 0x9f020000
well done your Repeater should live again
have fun
thanks to
juliogonzalez for the how to
post in Polish for the pictures
and tp-linkuser for TP-Link WA850RE v2.0 Bricked - #37 by tp-linkuser
(linked at bedrick section -> https://openwrt.org/toh/tp-link/tl-wa850re)