The WR1043ND is a really great router for a very cheap price. The original firmware from TP-Link is quite good but I needed some more advanced features so I tried some of the custom firmwares available:

I have to say that all this 3 firmwares run really well and I didn't encounter any major issue but I ended up with OpenWrt for the following reasons:

  1. configurability: Probably DD-wrt interface is the nicest one but OpenWrt package managers is awesome! There are many packages available that can provide advanced functionality in a couple of clicks. You can even configure everything from the Linux shell through ssh.

  2. ease of use: With openWRT you can choose among different web interfaces but the most common one is LuCI (Bootstrap based). It is simple but efficient.

LuCI interface

Requirements

First of all, remember that you will have no internet for some time so don't panic! You could use mobile internet connection meanwhile. Programs needed:

  • Putty if using Windows or ssh for Linux
  • [Optional] WinSCP (for Windows)
  • Firmware: You will have to check your Router label for the Version number (v1 or v2). These are latest snapshots:

Version number

Make sure to Download the correct Firmware version or you may brick the device!

Installation

I'm assuming your router has the Tp-Link firmware version but this procedure is the same for other firmwares (It's always recommended to go back to stock version before switching to something else).

Login to your router web interface -> System Tools -> Firmware Upgrade and choose the firmware you downloaded. After some time the router leds will stop blinking and that will mean the system flash has finished.

Because OpenWRT doesn't come with a default Web Interface you won't be able to access the router settings from 192.168.1.1! So lets install the LuCI web interface.

Remember that your computer Ethernet interface must be configured to work with the same network!! So if you have an IP like 192.168.0.X (Or any other network) You will need to change it to 192.168.1.X or you won't see the router!

The first login to the router must be made with telnet (not ssh) to define the default password for the root username.So login with Putty to the IP: 192.168.1.1 and type passwd to set the router password.

After this, disconnect the current telnet session and start a new ssh session with the username root and the password you set.

ssh session

LuCI

Now lets install the web interface. First of all update the package list with:

opkg update

Install the LuCI package

opkg install luci

Now we need to start the default web server (uHTTPd):

/etc/init.d/uhttpd start

And enable it for every restart with:

/etc/init.d/uhttpd enable

It's done! Now you can go to your favorite browser and navigate to http://192.168.1.1 to configure the router for your Internet provider. The credentials are the ones you set through telnet.

Upgrading to new versions

It's also nice to update the firmware from time to time. OpenWRT provides smaller firmware versions that only updates the System. The configuration is not changed.

You can get the sysupdate packages from here:

After upgrading you will need to reinstall all the opkg packages. So there won't be the web interface. Login to the router with ssh and type the following:

opkg update
opkg install luci
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable

Done!


Links: