OpenWrt Forum Archive

Topic: Bricked TPlink WDR4300 / Trying to recover

The content of this topic has been archived on 6 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi Guys,

I am trying to recover a bricked WDR4300. For some odd reason, during a sysupgrade the router bricked (reboots over and over).

The script I use to sysupgrade looks like:

#!/bin/sh
cd /tmp
rm *.bin
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
sysupgrade -v /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin

I configured sysupgrade.conf to carry over a directory I stored in / called scripts. It contains all my scripts to install packages, setup extroot, settings Etc.  I noticed that when I did the sysupgrade, a firmware.bin that was in the /scripts director also carried over in the upgrade process along with my scripts. I also started the script via JuiceSSH from my smartphone. I'm not sure if either of those facts caused my brick. Honestly, I don't see why, since the sysupgrade script I use D'loads the proper bin file directly to the /tmp dir on the router. Anyway...

I am using tftpd in ubuntu, and set it up via these directions:

http://askubuntu.com/questions/201505/h … ftp-server

I'm trying to recover via the directions on:
https://wiki.openwrt.org/toh/tp-link/tl-wdr4300

"de-brick or OEM installation using the TFTP recovery "

I downloaded:

1. https://downloads.openwrt.org/chaos_cal … actory.bin

2. renamed it wdr4300v1_tp_recovery.bin

3. put that file in /tftpboot

I hard code my PC as 192.168.0.66, and connect a cat5 cable from my pc to lan1 on the router.

I tried ip addr add dev eth0 192.168.0.66/24 as well.

Using tcpdump -npi eth0 udp I can see the router looking for wdr4300v1_tp_recovery.bin

With tftpd running, nothing happens. The router never grabs the bin file. Is there something I am missing in the tftpd configuration? Is there a easy tftp server to use with Ubuntu for this process?

Also, I installed atftpd, and tried the below command to push the file, but that didn't work either. Is there a particular directory that wdr4300v1_tp_recovery.bin needs to live in for atftpd to push the file?

atftpd --no-fork --daemon .

Thanks.

KG

Do you have a nother openwrt router? Tftp server would be easy to setup.

Otherwise did you tried failsafe?
https://wiki.openwrt.org/toh/tp-link/tl … lsafe_mode

You can mount mtd3 from there.
mkdir /mnt
mount -t jffs2 /dev/mtd3 /mnt

After this you can backup your data and clear content inside /mtd or reflash firmware.

Yes, I tried forcing it into failsafe by repeatedly pressing the reset button when I first powered it in. It is just stuck in the same cycle.

have you tried wps button ? klickiklickiklicki as fast as you can?

Yep. 2 clicks per sec. Asterick light stays completely off.

Looks like I will need a recovery cable to proceed. Is there a cable that I can order that has the correct pin set to connect it directly to my router without having to solder on the pins onto the router PCB? I don't have a solder gun, or good soldering skills.

Also, what would cause the brick in the first place? I wget  the correct bin file (see my first post) directly to the /tmp directory. This has never happened before with my tplink 4300 performing a sysupgrade.

Lastly, is there something that I can add to my script to check the image before sysupgrade proceeds, and I'd there is a problem with the file sysupgrade doesn't proceed?

Edit:

http://www.robotshop.com/en/solderless- … 0-pin.html

Also, I did find Solderless Straight Pin Headers for dirt cheap. Should this suffice for the pin layout on the PCB without soldering? Could they be secured with electrical tape or hot glue to secure them in place?

(Last edited by kgoerbig on 1 Dec 2015, 03:30)

I am using old lan calbles and solder them onto the PCB. Whatever, if it boots and looks for an image by tftp there is no reason to solder. simply try to server this need.

I can not say what went wrong with sysupgrade, sorry. just trying to help.

Alright, so I was able to recover my TP-Link TL-WDR4300 via TFTP Recovery. However, that is not the end of the story:

I performed another sysupgrade, but this time the router soft bricked.


What I believe causing this is a bug. I filed it under ticket #21403.

See Below:

DESIGNATED DRIVER (Bleeding Edge, r47723)
TP-Link TL-WDR4300

sysupgrade is not automatically carrying over /etc/config. The sysupgrade will perform, router reboots, and after reboot configs are reset to "failsafe".

Wired PCs cannot get DHCP. I had to force the router into failsafe mode, ssh in, and issue mtd -r erase rootfs_data. After that I was able to get dhcp, and scp backed up network configs stored on another pc to /etc/config on the router to restore connection.

I had to add:

/etc/config
/etc/config/scripts (my scripts to aid me for openwrt setup)

to sysupgrade.conf


To force openwrt to carry over my configs and custom scripts during the sysupgrade process.

Ha! Thanks for the correction. My bad.

Hello all, i bricked my WDR4300 3 years ago when wanted to put back original firmware, and don't get time to fix it.

I got time now, so i'm trying to unbrick it

But i'm stuck ...


# tcpdump -ni eth0 arp
ARP, Request who-has 192.168.0.66 tell 192.168.0.86, length 46

OK
----------------------------------------------------------------------------------------------------------------------
# ip addr add dev eth0 192.168.0.66/24

OK
----------------------------------------------------------------------------------------------------------------------
# tcpdump -npi eth0 udp
IP 192.168.0.86.2195 > 192.168.0.66.69:  44 RRQ "wdr4300v1_tp_recovery.bin" octet timeout 5

OK
----------------------------------------------------------------------------------------------------------------------
sudo apt-get install tftpd-hpa tftp
sudo cp ~/uboot/arch/arm/boot/uboot.img /var/lib/tftpboot

OK
----------------------------------------------------------------------------------------------------------------------
  tftp localhost
tftp> get uboot.img
tftp> quit
  cmp /var/lib/tftpboot/uboot.img uboot.img

OK
----------------------------------------------------------------------------------------------------------------------
IM STUCK HERE

What i have to do:

#telnet 192.168.20.81 9000
#Redboot> load uboot.img
#go

(i tried with "telnet 192.168.0.86" but still --> Trying 192.168.0.86...
with port same thing

or

#cp openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin wdr4300v1_tp_recovery.bin

(cp: impossible d'évaluer «openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin»: Aucun fichier ou dossier de ce type) (he didnt find openwrt-ar71xx .....)

how i can telnet my WDR4300 (wireshark or dcpdump say WDR4300 is 192.168.0.86, but didnt say any port)

I dont really understand this command:

#cp openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin wdr4300v1_tp_recovery.bin

openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin  --> where is it? on computer or on WDR4300

if i want to do this command i have to succes telnet first?

thank you all

never use this long name for the file.

u mean : openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin

what is it big_smile ^^

this is the name of firmware in the WDR4300?

but i cant change it ?

(Last edited by heinek3n on 25 Oct 2016, 14:25)

thank

The discussion might have continued from here.