Recover bricked tl-wr850n v2

hi, a while ago i installed openwrt on a tl-wr850n v2 and one day wan port stopped working, i rebooted the router and it got into a bootloop

I tried to tftp tp link firmware (cut the first 0x20200 bytes) but it still boot loops

uart log

[04080C0C][04080C0C][8A8A0000][27273C3C][0027273A]
DU Setting Cal Done


U-Boot 1.1.3 (Jun 10 2020 - 04:33:26)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb8000
gpiomode2 05540554.
gpiomode2 00000000.
gpiomode2 05550555.
flash manufacture id: ef, device id 40 17
find flash: W25Q64BV
============================================
Ralink UBoot Version: 5.0.0.0
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jun 10 2020  Time:04:33:26
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
RESET MT7628 PHY!!!!!!
continue to starting system.                                                  0
disable switch phyport...

3: System Boot system code via Flash.(0xbc020000)
do_bootm:argc=2, addr=0xbc020000
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover


RESET MT7628 PHY!!!!!!..................................................
starting recovery...
Read MAC Address from Flash


 NetTxPacket = 0x83FE7640

 KSEG1ADDR(NetTxPacket) = 0xA3FE7640

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 192.168.0.66; our IP address is 192.168.0.2
Filename 'tp_recovery.bin'.

 TIMEOUT_COUNT=10,Load address: 0x81000000
Loading: Got ARP REPLY, set server/gtwy eth addr (3c:a8:2a:a3:17:13)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##
done
Bytes transferred = 7995392 (7a0000 hex)
LoadAddr=81000000 NetBootFileXferSize= 007a0000

 Erase flash !!
From 0x20000 length 0x7A0000
..........................................................................................................................

 Copy 0x81020000 to 0x00020000, count 0x7A0000....
..........................................................................................................................

I tried reading the wiki and watched some youtube videos and found these commands

tftpboot 0x81000000 firm.bin
erase 0xbf020000 +0x7c0000
cp.b 0x81000000 0xbf020000 0x7c0000
bootm 0xbf020000

but I don't know how to find the right addresses and im not sure if thats what i got to do

Cut only first 0x200 bytes. As you can see recovery image is loaded at 0x81000000:

but first 0x20000 byte (bootloader code I think) are skipped before writing to flash:

1 Like

MT7628 #
[04080C0C][04080C0C][8A8A0000][26263B3B][00262639]
DU Setting Cal Done


U-Boot 1.1.3 (Jun 10 2020 - 04:33:26)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb8000
gpiomode2 05540554.
gpiomode2 00000000.
gpiomode2 05550555.
flash manufacture id: ef, device id 40 17
find flash: W25Q64BV
============================================
Ralink UBoot Version: 5.0.0.0
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jun 10 2020  Time:04:33:26
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
RESET MT7628 PHY!!!!!!..................................................
starting recovery...
Read MAC Address from Flash


 NetTxPacket = 0x83FE7640

 KSEG1ADDR(NetTxPacket) = 0xA3FE7640

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 192.168.0.66; our IP address is 192.168.0.2
Filename 'tp_recovery.bin'.

 TIMEOUT_COUNT=10,Load address: 0x81000000
Loading: Got ARP REPLY, set server/gtwy eth addr (3c:a8:2a:a3:17:13)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
done
Bytes transferred = 8126464 (7c0000 hex)
LoadAddr=81000000 NetBootFileXferSize= 007c0000

 Erase flash !!
From 0x20000 length 0x7A0000
..........................................................................................................................

 Copy 0x81020000 to 0x00020000, count 0x7A0000....
..........................................................................................................................

[04080C0C][04080C0C][8A8A0000][26263B3B][00262639]
DU Setting Cal Done


U-Boot 1.1.3 (Jun 10 2020 - 04:33:26)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb8000
******************************
Software System Reset Occurred
******************************
gpiomode2 05540554.
gpiomode2 00000000.
gpiomode2 05550555.
flash manufacture id: ef, device id 40 17
find flash: W25Q64BV
============================================
Ralink UBoot Version: 5.0.0.0
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jun 10 2020  Time:04:33:26
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes
RESET MT7628 PHY!!!!!!
continue to starting system.                                                                                                       0
disable switch phyport...

3: System Boot system code via Flash.(0xbc020000)
do_bootm:argc=2, addr=0xbc020000
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80309290) ...
## Giving linux memsize in MB, 64

Starting kernel ...


LINUX started...

working, thank you!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.