TPLink EAP 225 Outdoor V3 Bricked

Hi,

I am using EAP225 OUTDOOR V3 Device. And I have bricked it.

I have flashed compiled openwrt image using sysupgrade image on top of TPLink Firmware. Everything went well.
Later I have flashed openwrt factory image on top of openwrt Image in TPLink. This time the TPLink EAP225 stays in uboot.
I tried TFTP Server, it looks like it loaded the image from ubuntu but nothing happens after the TPLink loaded the file. On powercycle it goes back to Uboot.
From windows I tried it stays on 0 MB Flashed. Block 0 not acknowledged or something like that.I tried with the image I complied, I tried with variants of US & EU from TPLink Official.
None helped it goes to the uboot cli only.

Here is the Loading Firmware part but does not boot into Openwrt

Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '0101A8C0.img'.
Load address: 0x81000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
done
Bytes transferred = 6321689 (607619 hex)

Here is the issue with Booting up

U-Boot 1.1.4--LSDK-10.2-00082-4-gfc48af86 (Nov 14 2021 - 12:06:52)

board956x - Dragonfly 1.0DRAM:  
sri
ath_ddr_initial_config(287): (ddr2 init)
ath_ddr_initial_config: DDR_EMR2_ADDRESS=0x180000bc, EMR2 value=0x80
ath_sys_frequency: ref_clk 25000000
ath_sys_frequency: cpu 775 ddr 650 ahb 258
Tap values = (0x10, 0x10, 0x10, 0x10)
128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 165k for U-Boot at: 87fd4000
Reserving 192k for malloc() at: 87fa4000
Reserving 44 Bytes for Board Info at: 87fa3fd4
Reserving 36 Bytes for Global Data at: 87fa3fb0
Reserving 128k for boot params() at: 87f83fb0
Stack Pointer at: 87f83f98
Now running in RAM - U-Boot at: 87fd4000
Flash Manuf Id 0x1c, DeviceId0 0x70, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Setting 0x181162c0 to 0x20402100
Hit Ctrl+B to stop autoboot:  0 
## No elf image at address 0x9f040000
Net:   ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
athr_mgmt_init ::done
Dragonfly  ----> S17 PHY *
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
RTL8211 PHY reg init
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
Max resets limit reached exiting...
athr_gmac_sgmii_setup SGMII done
: cfg1 0x80000000 cfg2 0x7114
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
eth0 up
eth0
ath> 

Any way to recover it?

Any help will be appreciated. Thank you.

I don't see any proof of write to flash in your pastes, seems you're trying to reflash it incorrectly, or the flashes fail, but there's no way of knowing, since the output isn't in your post.

What output? Can you tell me a bit I can provide it.

what happens after the 1st C&P you posted? and how did you get there ?
the text only shows the image being transferred to the devices RAM using TFTP,
not written to flash ...

After the File transfer it shows console thats all.
How can I write to flash?

try the help command, I don't remember the syntax,
paste it here, too.

there's no boot menu popping up before you reach the u-boot cli ?

ath> help
?       - alias for 'help'
base    - print or set address offset
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootvx  - Boot vxWorks from an ELF image
cp      - memory copy
erase   - erase FLASH memory
go      - start application at address 'addr'
help    - print online help
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
mct   - simple RAM test
md      - memory display
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nm      - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
setenv  - set environment variables
tftpboot- boot image via network using TFTP protocol
version - print monitor version

ath> printenv
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),14528k(rootfs),1408k(uImage),64k(mib0),64k(ART)
bootcmd=bootelf 0x9f040000
bootdelay=2
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.1
serverip=192.168.1.10
dir=
lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize
lf=tftp 0x80060000 ${dir}board956x${bc}-jffs2&&erase 0x9f050000 +0xE30000&&cp.b $fileaddr 0x9f050000 $filesize
lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9fe80000 +$filesize&&cp.b $fileaddr 0x9fe80000 $filesize
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 690/65532 bytes

I guess you need to use the lf and lk aliases, the lu seems to be for uboot.
lf is for root FS, and lk for kernel.

but you should try the debricking from https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=7e4de89e631aaf56be5375662b7d5ed0f27e26f6 1st.

info's incomplete though, but I would try to run sysupgrade using the sysupgrade image, once the initramfs booted.

I can not do this because I can not get past the above pasted CLI. Let me check the other way quickly.

the 1st u-boot paste is the tftpboot command output, isn't it ?

yes.

ath> $lf
Usage:
tftpboot- boot image via network using TFTP protocol

ath>

Is this the way?. Sorry I am trying TFTP for first time.

(reboot the device 1st)

then do as described in the commit

tftp 0x80800000 initramfs.bin
bootelf $fileaddr

just make sure the initramfs image is called initramfs.bin on your TFTP host.

Which image factory image to load? squashfs-factory.bin or squashfs-sysupgrade.bin or initramfs-kernel.bin to use as initramfs.bin

there's only one image containing the word initramfs in the file name... :wink:

Here is the output

ath> tftp 0x80800000 initramfs.bin
Trying eth0
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
dup 1 speed 1000
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename 'initramfs.bin'.
Load address: 0x80800000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #########
done
Bytes transferred = 9362040 (8eda78 hex)
ath> 
ath> bootelf $fileaddr
Loading .text @ 0x80060000 (9357529 bytes)

It is stuck after this. I am using openwrt-ath79-generic-tplink_eap225-outdoor-v3-initramfs-kernel.bin renamed as initramfs.bin

well,

that sucked.

I'm kind of out of ideas, try the tftp command without specifying the memory address - 0x80800000,
if it won't let you, try tftpboot instead.

So I have done 3 things

First,

ath> 
tftp initramfs.bin
Unknown commtftp' - try 'help'
ath> tftp initramfs.bin
Trying eth0
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
dup 1 speed 1000
*** Warning: no boot file name; using '0101A8C0.img'
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '0101A8C0.img'.
Load address: 0x0
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################
done
Bytes transferred = 7456051 (71c533 hex)
ath> bootelf $fileaddr
## No elf image at address 0x00000000

Second,

ath> tftpboot initramfs.bin
Trying eth0
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
*** Warning: no boot file name; using '0101A8C0.img'
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '0101A8C0.img'.
Load address: 0x0
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################
done
Bytes transferred = 7456051 (71c533 hex)
ath> bootelf $fileaddr
## No elf image at address 0x00000000

Third,

ath> tftp 
Trying eth0
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
PHY ID: 0xffffffff
PHY ID: 0x1cc916
PHY ID: 0x1cc916
ath_reg_rd(0x1804006c)=82
ath_reg_rd(0x1804006c)=82
*** Warning: no boot file name; using '0101A8C0.img'
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '0101A8C0.img'.
Load address: 0x0
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #########
done
Bytes transferred = 9362040 (8eda78 hex)
ath> bootelf $fileaddr
Loading .text @ 0x80060000 (9357529 bytes)


OpenWrt kernel loader for AR7XXX/AR9XXX
Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
Decompressing kernel... failed, data error!

System halted!

In the first and second even if i specify it is searching for 0101A8C0.img.
But 3rd one its different output than first 2.

Next is the image compiled is .bin file and not .img file. I have no idea how to do the conversions from bin to img. Maybe the 3rd failed like that because of direct .bin renamed as .img file.
Any Idea how can i cross this?

yeah, it'll needs the memory address, seems it loads the image at 0x0 if you don't specify it, which probably is a bad thing :wink:

no idea why it freezes when you're trying the initramfs though :frowning:

Unfornately I dont find tplink providing any initramfs file for EAP225 outdoor.

they won't, it's openwrt specific.