Restoring factory firmware on TP-Link TL-WR1043ND

If you have installed OpenWrt Backfire on your TP-Link TL-WR1043ND and want to restore the factory firmware than this guide is for you.

Device: TP-Link TL-WR1043ND Ver: 1.6
FCC ID: TE7WR1043NX
CPU: Atheros AR9132
RAM: 32 MB
Flash: 8 MB
Network: 4 + 1 ports (10/100/1000 Mb/s)
IP address: 192.168.1.2

Software on router before

OpenWrt Backfire
Version: 10.03.1 (r33081)

Software on router after

TL-WR1043ND_v1_130428
Version: 3.13.13 Build 130428 Rel.58290n

Host operation system is Fedora 19 (64 bit).
If you are not using Fedora 19, you should virtualize it:
Installing Fedora 19 (64 bit) in VirtualBox

I presume that you can communicate with your router.

Preparations

  1. Go to TP-Link Support site: http://www.tp-link.com/en/support/download/
    Click “TL- WR1043ND” (it’s in the 300Mbps Wireless N group)
    tplink_support
  2. Read the warning message and click “If you have read the above notice, please click here to find hardware version.
  3. My router is V1 because “Model: TL-WR1043ND Ver: 1.6” written on its back
    Click “TL-WR1043ND V1
    version_select
  4. Download the firmware by clicking “TL-WR1043ND_v1_130428
    Warning: Do NOT download an other firmware version because in case of TP-Link there may be different steps to take.
    If it doesn’t work here is a copy of it one my site: TL-WR1043ND_v1_130428.zip
    correct_firmware
  5. Decompress the firmware
     $ unzip TL-WR1043ND_v1_130428.zip
  6. Check firmware checksum
     $ sha1sum wr1043nv1_en_3_13_13_up_boot\(130428\).bin

    It should return:
    25c3c2bd86dba8bd4c68489489e28e580560bf6c wr1043nv1_en_3_13_13_up_boot(130428).bin

  7. This firmware version also contains the boot code so we have to strip it first
     $ dd if=wr1043nv1_en_3_13_13_up_boot\(130428\).bin of=wr1043nd_v1_correct.bin skip=257 bs=512
  8. Check the corrected firmware checksum
     $ sha1sum wr1043nd_v1_correct.bin

    It should return:
    6899d121113c92d93a20ae7b308bc06a3295aba0  wr1043nd_v1_correct.bin

Firmware update

  1. Copy this file in the router
     $ scp wr1043nd_v1_correct.bin root@192.168.1.2:/tmp/

    Note: My router IP address is 192.168.1.2, change it to your router IP address in all commands

  2. Login to your router
     $ ssh root@192.168.1.2

    Enter your password.

  3. Write the firmware to flash
    root@OpenWrt:~# mtd -r write /tmp/wr1043nd_v1_correct.bin firmware

    mtd

  4. Wait until “Rebooting …” appears
    Note: If you have configured your router as an OpenFlow switch before using my guide than you have to pull out the LAN cable from WAN port now and plug into a LAN port (eg. LAN1).
  5. Go to http://192.168.1.1 in your browser
    user: admin
    password: admin

    Press Enter

    login_page

Congratulation! You have just restored the original firmware.

1 thought on “Restoring factory firmware on TP-Link TL-WR1043ND

  1. Martin Yankov

    Thank you! With no additional steps this worked as described under Ubuntu 20.04, even with me having absolutely no skills in this area. I didn’t even went through the checksum because my distro couldn’t find that “shalsum” command, nor I managed to find it for installation anywhere. I tried “md5sum” and the returned strings were so different, that I went with the process anyway. So no regrets there 🙂

    I wish you all the best!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.