Debricking TL-WR1043ND v4 hard way by external flashing (solved)

Hello

I accidentally flashed incorrect image to TL-WR1043ND v4. Tried fixing it using tftp process but no luck also tried unsuccessfully connecting USB TTL serial cable and GND TX RX pins on router PCB.

I am thinking of desoldering the flash chip and writing the correct image using flashrom and external spi programmer. My problem is I don't have another router to extract working image from. So my question is

  1. Does lede-*factory.bin contain bootloader?

  2. If it doesn't then how to flash lede-*factory.bin using flashrom without overwriting existing bootloader.

  3. Is it possible to split the bootloader from existing image and append it to lede-*factory.bin thus creating an image containing working bootloader plus correct firmware.

  4. Is it possible to built using source code an image containing bootloader.

Thank you

See this YouTube tutorial (it's for a WDR4300, but works the same as long as you have the "...recovery.bin" file named correctly...I've used this for an Archer C7).

  1. No
  2. First dump flash chip, then modify binary file by replace from 0x20000 to 0xF50000 by sysupgrade lede image.
    keep 0x0 to 0x20000 and 0xF50000 to 0x1000000 untouched.
  3. No, but You can spilt bootloader from oem firmware file and write it to flash 0x0 to 0x20000
  4. I have no idea
1 Like

I modified the dump by "dd if=lede-17.01.4-ar71xx-generic-tl-wr1043nd-v4-squashfs-sysupgrade.bin of=flash_dump.bin seek=257 bs=512 conv=notrunc" and wrote it to flash chip. Is it done correctly? Thank you

No. This brick Your router.
Try again TFTP recovery method using OEM or LEDE factory image.

or

Make fulldump of Your router and send it to forum (use file hosting site). I prepare for You fulldump with latest LEDE or OEM firmware.

Successfully repaired corrupt image of TP-LINK WR1043ND V4 by following steps

Setup Beaglebone Black as spi programmer using instruction provided in https://libreboot.org/docs/install/bbb_setup.html. Instead of desoldering the flash chip from PCB. I took out entire PCB from casing and soldered thin wires directly to flash chip.

Extracted corrupt image from flash chip using flashrom 0.9.9 utility

sudo flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin

Downloaded lede firmware lede-17.01.4-ar71xx-generic-tl-wr1043nd-v4-squashfs-sysupgrade.bin

Repaired corrupt image by merging lede firmware into dump.bin

sudo dd if=lede-17.01.4-ar71xx-generic-tl-wr1043nd-v4-squashfs-sysupgrade.bin of=dump.bin bs=1 seek=$((0x20000)) conv=notrunc

Wrote modified dump.bin back into flash chip

sudo flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w dump.bin

Desoldered all wires from flash chip and inserted PCB into the router casing. It is now working beautifully.