I am not responsible if your devices send you back in time, explodes, implodes, bricks or flies into space from the use of any software I put up.


Monday, December 29, 2014

6 Reasons Why You Would Want 3rd Party Router Firmware Over Factory Firmware

1) Updates

The real truth is that many hardware manufacturers want to sell you new devices.
Consumers do not buy support licenses so there is no money to make from old devices.
Sooner or later they will stop updating their older range of devices and you will not get any new updates.

3rd Party firmware on the other hand keeps the source codes and continues to generate updates as long as the device is capable of supporting new features.
Bug fixes and optimization are applied across various architectures so improvements are definitive.
This ensures that your old trusty devices will never be neglected few years down the road.

2) Security

Factory firmware uses old unsupported kernels.
If you do not believe me go ahead and download the GPL Sources for your new devices, you will find their Software Development Kit uses old version of sources and libraries.
Some are still using older Linux Kernel 2.6 not patched up to the latest release.

However 3rd party firmware project often update their source and libraries to the latest versions.
In addition, 0 day vulnerabilities are quickly patched thanks to the enthusiastic developers and community contributors.
An example is the OpenSSL heartbleed vulnerabilities, in 3rd party firmware projects, the source is quickly patched when upstream patches are available immediately.

3) Customisation

Consumer routers are designed for the consumers so their features are commonly kept to the minimal, User Interface is kept simple so they will be able configure the device without in-depth networking knowledge.
As a result they are sufficiently easy to configure and deploy for common use cases, however when it comes to more complex setups they fall short.
Some factory firmware even make assumptions about configuration.

There are even firmware that assumes that the user will want to use only the ISP provided DNS hence there is no option in the User Interface to specify multiple DNS Servers of higher performance like Google DNS.

3rd party firmware are made by developers for developers and system administrators hence all the possible configurations are available and made flexible to allow users to deploy their own customised setups.

With 3rd party firmware you can create multiple VLANs and segregate networks for security and access control, the catch is you have to learn about networking technologies and how to configure them via forums from the experts. If you do not have the patience or understanding it can be a daunting task.

4) Features

Consumer routers are usually fixed in the features they offer.
They are marketed by the features marked on their boxes hence their feature set is fixed.
This is further supported by point 1, which is after a while they stop updating older devices to work on new ones so new features are almost unheard of.

With 3rd party firmware, new code is added to the source which means besides bug fixes you get new features as well.

An example is the WR1043NDv1 is a 5 year old device which did not have ipv6 feature when it was sold and the TP-Link still does not offer IPv6 capabilities now. However if you were to use 3rd Party firmware such as OpenWRT/Gargoyle/DD-WRT you can enable and use IPv6 on it.

In addition new features have been added to enable more advance features on the Router's internal switch like Port Mirroring.
This is further supported by Point 2, the ability to customize the Router like adding more esotoric software like proxy servers increase the feature set of
the device.

Did I mention the superior Quality Of Service offered by 3rd Party firmware to counter bufferbloat and latency when the FQ_CODEL was developed by the OpenSource community and integrated back into the project?

5) Freedom

Basically point 3 and 4 adds to the freedom you get with 3rd party firmware.
Want to setup a wireless mesh network?
Totally impossible to do with most factory firmware but totally doable with 3rd party firmware.

Setup in Wireless Access Point Mode with a Web Interface Authentication using a Radius Server?
Almost impossible to do with most factory firmware but totally doable with 3rd party firmware.

Want to host your own website on your Router to save power?
Totally impossible to do with most factory firmware but totally doable with 3rd party firmware.

With 3rd party firmware you are free to repurpose your Router to your own needs limited only by your imagination and knowledge.

6) Free

With the advantages of point 1 to point 5 the most compelling reason why you should go for 3rd party firmware is that you can get all this and more for free!
The developers share and improve their work for the community and you can be a part of it!

Monday, December 22, 2014

Overclocking TP-Link WDR4300

I know a lot people have been asking about overclocking the AR9344 MIPS74Kc.
An OpenWRT forumer pepe2k (his blog www.tech-blog.pl) created a Firmware Recovery uboot here (if you like his work please donate).
From my experience with the AR9344 SoC I know that maximum possible clockspeed for AR9344 varies a lot.
I have a unit which can do a maximum of 700MHZ and another unit which can do a maximum of 740MHZ, so for this share I only shared a bootloader copy clocked at 600MHZ, if you want to try higher value you have to built the bootloader yourself.
The reason why I chose 600MHZ is because a Mikrotik Router using the same AR9344 is also clocked at 600MHZ CPU 400MHZ RAM and 200MHZ AHB so it should be safe.

Another issue is that some AR9344 routers come with low grade RAM as a result when you perform memtester, a utility that read & write bit patterns to RAM, to detect RAM errors it will fail. The default RAM clock is 450MHZ but it seems to be too high for certain brands of RAM.

A solution to this is to decrease the RAM frequency of 400MHZ.

I have build a special openwrt image to unlock write access to uboot so you can write the uboot image to the uboot partition.
Please remember to flash the normal image after you are done to write-protect the uboot from any accidental writes.

I have 2 images for download here
  1. Uboot with 600MHZ Overclock 450MHZ RAM 225MHZ AHB for routers without low grade RAM
  2. Uboot with 600MHZ Overclock 400MHZ RAM 200MHZ AHB for routers without low grade RAM as a fix to units with memtest errors
Instruction on how to reflash the uboot on your Router here
If you do not feel confident please do not attempt it.

As for how to test for RAM error:
  1. Connect your Router to Internet
  2. ssh into the router
  3. opkg update
  4. opkg install memtester
  5. memtester 32M (to test 32MB of memory)
Good luck!

After you flash the bootloader there will be a failsafe page where you can upload Atheros Radio Test (ART) Partitions, Firmware Image and bootloader if you press and hold the reset button after 4 light flashes from power on.

Thursday, December 18, 2014

TP-Link Recovery Mode for WR1043ND

Did I ever mentioned that my overclocked bootloader has TP-Link's new built in tftp recovery mechanism?
Do know know if you ever flashed my overclocked bootloader successfully and later "brick" it by flashing new OpenWRT images wrongly there is a 100% chance of recovery?

Simply said I created the overclocked firmware mods by detecting the bit responsible for flipping up the PLL, modifying the bit and correcting the checksum so the new TP-Link uboot tftp recovery mechanism still works.

In fact I use it to test all the firmware I built ALL THE TIME because I am simply too lazy to open up the router and connect the serial pins.

So how do you do it?
  1. Turn off all firewall
  2. Get a tftp server software, in Windows I use tftpd32 in Linux I use dnsmasq
  3. Copy a factory firmware (without the uboot) into the tftp directory change the filename to wr1043nv1_tp_recovery.bin
  4. To activate the recovery mode hold the reset button immediately when it powers on before it boots into linux, you will flashing lights.
  5. This emergency mode listens for the IP Address so you can set static ip mode on your PC running the tftp software
  6. After that if the router detects the tftp server it will attempt to grab to grab the file wr1043nv1_tp_recovery.bin from the tftp server at
  7. Then it will begin flashing itself you just need to grab a cup of coffee while it reboots after flashing
In fact all new TP-Link firmware with bootloaders now come with recovery modes listening at different address. You can refer to this useful forum thread by a uboot expert pepe2k.