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.


Friday, November 20, 2015

OpenWrt Dec 2015 Release

Haven't been building for a few month, not that there was any major tweaks until now.
This release has more optimization, from my testing definitely an increase in performance.

The performance boost was the result from the findings that, apparently -mno-mips16 is not enough, need to further remove interlinks to strip the abomination of the mips16.

Compiling the powerpc with pthreads enabled have dependency missing from a few packages which I subsequently patched.

Full changes can be seen from my github repo.

Friday, July 24, 2015

OpenWrt August 2015 WDR4900v1 Barrier Breaker Release

-Updated Kernel to 3.10.84
-Changed Kernel Config to build essential modules into Kernel
-Updated Linaro ToolChain to version 4.8.5
-Added more options for Dnsmasq (DNS Server)
-Add support for RFKill Switch

Benchmark Details:
Client Set to DHCP, Server Set to (Static IP)
MTU set to 1500
Wireless Distance is near from Router to Client, 2.4GHZ, 40MHZ, noscan mode, WPA2-AES
Although Device is 3 Stream 2.4GHZ (450Mbps) and 3 Stream 5GHZ (450Mbps), Test Client is a 2 Stream DualBand Network Adapter (300Mbps)
WDR4900v1 with Gigabit Switch is stocked clock at 800MHZ

Sample Benchmarks:

WDR4900v1 NAT, Wired, SQM is OFF

WDR4900v1 NAT, Wired, SQM is ON

WDR4300v1 NAT, Wireless 2.4GHZ (300Mbps), SQM is OFF

WDR4900v1 NAT, Wireless 2.4GHZ (300Mbps), SQM is ON

WDR4900v1 NAT, Wireless 5GHZ (300Mbps), SQM is OFF

WDR4900v1 NAT, Wireless 5GHZ (300Mbps), SQM is ON

Thursday, July 23, 2015

OpenWrt August 2015 WDR3500/3600/43XX/WM4350R Barrier Breaker Release

-Updated Kernel to 3.10.84
-Changed Kernel Config to build essential modules into Kernel
-Updated Linaro ToolChain to version 4.8.5
-Added more options for Dnsmasq (DNS Server)

Benchmark Details:
Client Set to DHCP, Server Set to (Static IP)
MTU set to 1500
Wireless Distance is near from Router to Client, 2.4GHZ, 40MHZ, noscan mode, WPA2-AES
Although Device is 2 Stream 2.4GHZ (300Mbps) and 3 Stream 5GHZ  (450Mbps), Test Client is a 2 Stream DualBand Network Adapter (300Mbps)
WDR4300v1 with Gigabit Switch is Overclocked to 730MHZ

Sample Benchmarks:

WDR4300v1 NAT, Wired, SQM is OFF 

WDR4300v1 NAT, Wired, SQM is ON 

WDR4300v1 NAT, Wireless 2.4GHZ (300Mbps), SQM is OFF

WDR4300v1 NAT, Wireless 2.4GHZ (300Mbps), SQM is ON

 WDR4300v1 NAT, Wireless 5.2GHZ (300Mbps), SQM is OFF
WDR4300v1 NAT, Wireless 5.2GHZ (300Mbps), SQM is ON

OpenWrt August 2015 WR1043NDv1 Barrier Breaker Release

-Updated Kernel to 3.10.84
-Changed Kernel Config to build essential modules into Kernel
-Updated Linaro ToolChain to version 4.8.5
-Added more options for Dnsmasq (DNS Server)

Benchmark Details:
Client Set to DHCP, Server Set to (Static IP)
MTU set to 1500
Wireless Distance is near from Router to Client, 2.4GHZ, 40MHZ, noscan mode, WPA2-AES
WR1043NDv1 is Overclocked to 430MHZ

Sample Benchmarks:

WR1043NDv1 NAT, Wired, SQM is OFF

WR1043NDv1 NAT, Wired, SQM is ON

WR1043NDv1 NAT, Wireless, SQM is OFF

WR1043NDv1 NAT, Wireless, SQM is ON

Wednesday, June 24, 2015

OpenWrt Barrier Breaker July 2015 Release

- OpenSSL updated to 1.0.2c
- Kernel updated to 3.10.81
- Add some additional optimization
- Removed L7 Filtering

Tuesday, June 9, 2015

Dropping L7-Protocol

I am going to drop L7-Protocol for the next release.
Did some serious testing with L7-Protocol recently.
1)It does not crash on my built
2)Blocks Bittorrent Perfectly
1)Does not work on IPv6 on my Dual Stack Network Bittorrent still goes through
2)Some protocols are flaky, Protocols like SSH works fine but HTTPS has weird behavior.
Therefore unreliable + ugly + does not work on IPv6 = DROP

For those who wants it I will move the script to some other location so if you really really want it you can built it yourself.

Sunday, May 24, 2015

Barrier Breaker June 2015 Release

Updated Kernel to 3.10.79
Added Option to Set Dnsmasq Cache size in LuCI
Added Option to Set Dnsmasq Query All Server in LuCI

Patched refreshed for Chaos Calmer awaiting further testing.

Sunday, March 29, 2015

Barrier Breaker April Release

Major Upstream Changes:
openssl update

Optimized Changes:
Kernel update to 3.10.73
Set SQM-Script as QoS Default
Add PowerPC optimization
Backport RT-Cache changes
Fix WDR3600/4300 RFKill Switch State

Wednesday, March 18, 2015

Vote on the Default Quality Of Service now!

I have successfully backport and integrate the SQM-Script back  into the build process meaning that I might switch Quality Of Service implementation as default.

I will be making my decision to switch base on the Poll.

Friday, February 27, 2015

A little insight on how to build the firmware quickly

I have a 6 Core AMD-FX6300 Desktop with CentOS installed.
All the OpenWrt buildroot dependencies and Java Runtime (OpenJRE) are already installed.
My Repository is maintained via patches which patch cleanly on top of fresh Barrier Breaker.
All the Package Source (ie. Linux Kernel.tar.xz etc) is cached in 1 directory so I don't need to download any other stuff.

Step 1 liner:
git clone git://git.openwrt.org/14.07/openwrt.git && \
git clone https://github.com/gwlim/mips74k-barrier-breaker-patch.git temp; \
mv temp/* openwrt/; rm -rf temp && cd openwrt ./bb_openwrt.sh
Step 2 liner:
Symlink the Package Source as a dl folder in the buildroot
(It is like the UNIX way of creating a shortcut in Windows so the OpenWrt buildroot can find the Packages)

Step 3:
Go grab a cup of coffee while the buildroot patches itself

Step 4:
make menuconfig
and choose the target platform like WR1043ND etc in the menu

Step 5:
make -j 4
This will build the firmware in parallel processes

Step 6:
Go grab another cup of coffee while the buildroot builds your firmware

Step 7:
After I am done I just take the binaries and nuke the buildroot with a 
rm -rf ./openwrt
Every build is a fresh build it is not design to last!

If you do this correctly, you can easily build from source a fully optimized firmware for your Router in less than 1 hour!

The patches keeps tracks of the all changes, it is designed to fail if upstream makes changes which conflicts with existing patches.
This will free up my brain space on remembering all the various changes I made
Also it will prevent conflict with upstream repository
Lastly it will make porting to the next release (Chaos Calmer) much easier as all the changes are recorded with most changes just minor line changes, renaming and shifting around.

OpenWrt Barrier Breaker March 2015 release

March Release
Upstream Changes
- Mainly Bugfixes up to Barrier Breaker r44550

Custom Changes
-Update Linux Kernel to 3.10.70
-Update Routing Cache patch
-Display Platform and Processor Information in LuCI

-Backport  /etc/openwrt_release fix
-Backport rpath fixes
-Add more Optimization Flags for PowerPC Linux Kernel (WDR4900) resulting in smaller binaries

Saturday, January 31, 2015

OpenWRT Barrier Breaker February Release 2015

February Release is out!

Add new support for WDR4900v1 Router

OpenWRT Upstream Changes
-Not much changes, the reboot issue for certain models of WDR4300 has been backported so it has been deleted from my repo

Custom Changes
-OpenSSL updated to 1.0.2
-MIPS asm are included in this release so the patches in my updates has been removed
-PowerPC asm support has been added in my custom release
There should be a slightly boost in WiFi performance when AES is used due to asm optimizations in the OpenSSL library (Tested)
-Tweaked WDR4900v1 build gianfar buffers and NAPI weight for slight performance boost.

I hate to repeat myself so you should already know where to get the firmware and sources.

Thursday, January 29, 2015

Lenovo G40-30 Review

When something is good but expensive, it is an overpriced product.
When it is cheap but lousy, again it is a waste of money.
So usually I will only do a review if the product is a worthy and value for money.
And the Lenovo G40-30 is no exception.

The Lenovo G40-30 is actually the lowest speced SKU of the Lenovo G40 Series of laptop but it is really something special due to the choice of components.
Read on and you will find out why.
I no longer use laptops for heavy processing as the heat destroys it easily, heavy lifting is done on the Desktop and laptops are for lighter workloads which makes this laptop really ideal.
I got it from a website at SGD $369 dollar which is really cheap for a 14" inch laptop.

The base specification is as follows

  • Intel Celeron Quad Core N2940 @ 1.83GHZ
  • 2GB DDR3 RAM Low Voltage Module
  • 500GB 2.5" HDD
  • Wireless B/G/N Module
  • 1000Mbps Ethernet Port
  • USB 3.0 


When I disassemble the laptop that is when I found some surprises.

First the BIOS access button is not activated by keyboard combinations

The BIOS access button is activated by a small button just beside the Power Connector (you can enable VT-x in the BIOS)

There is no metal fins as usually found just behind the exhaust grills

After opening  it up

A few things to note
  1. It uses the Next Generation Form Factor Wifi Card Slot
  2. The heatsink assembly HAS NO FAN = No moving parts, no noise!
  3. It has only a Single DRAM Slot for RAM Upgrades = Max Upgrade 8GB
  4. Left and Right Speakers are located far far away from Heatsink = Good since heat destroys speaker magnets.
Harddisk Closeup

HeatSink Assembly Closeup

RAM Slot Closeup

Wifi Card Closeup

Booting the System

The reason why it can be so cheap is revealed here
It comes with a Windows 8.1 Edition called: Single Language with Bing
It is a feature stripped down version of Windows 8.1 with additional features like Hyper-V missing.

It has 4 CPU Cores running at 1.83GHZ
It has Hardware Virtualization (Intel VT-x)  which can be enabled in the BIOS.
L1 Cache 224KB and L2 Cache 2.0MB.

It uses a special version of Intel AHCI Controller Driver for Celeron Processors
It uses Conexant High Definition Audio
It uses a Elantech Based Touchpad (Not shown in the photo)
The Atheros AR956x is a Single Stream 1TX, 1RX Wireless N Capable Wifi Module capable of negotiating up to 150Mbps only, it is known in the Market as QCNFA335.
The Bluetooth function is provided by the Wireless Module
It has a USB 3.0 Capability. 

It has a Realtek Gigabit Lan Port

Even without a fan in the heatsink, temperatures look fine

Temperatures after running Intel Burn Test (Temperatures held stable at 65 degrees without any Fan pretty good I must say)

More detailed Information about the Processor

It is a Bay Trail M CPU, hence an Intel Atom derived Architecture branded as Celeron.
As a result it does not have those new fancy AES-NI Instruction Set Capabilities.

Lets look at the memory module

Look carefully it uses a Low Voltage DDR3L DRAM, it is a 1.35V module if you slot in a standard 1.5V module it will not boot.

A little excursion on the grey side ...

Guys who recognize the picture below knows what this means...

Original Table:

After some modding:


What makes this laptop amazing...
  • It is really really cheap
  • It has really really long battery life due to Low Power Processor and DRAM
  • It is really really quiet, no fan no sound, no moving parts
  • It has Gigabit LAN port for a really really low price, some even more expensive laptops have only Fast Ethernet LAN
  • It looks quite elegant and decent
  • You can pass it off as its more powerful G40-Series higher end brothers.
  • Powerful Speakers that are faraway from heatsink is a good design
  • I typed and completed this review using only 20% of batterylife
  • Good sound system
What makes this laptop meh
  • Windows 8.1 Single Language with Bing, a crippled Windows Edition 
  • Wireless Adapter only 150Mbps capable whitelist prevents upgrade
  • Elantech Touchpad does not have touchzone capabilities (To improve the Touchpad Experience use ASUS Specially Improve ElanTech Touchpad Drivers)
  • But hey seriously it is SGD $365 for the specs it is really really awesome
  • Intermittent jumping Elantech Jumpy Cursor Touchpad - Solved by ordering and  upgrading to Synaptics Touchpad
Potential Upgrades to this laptop
  • Upgrade Harddisk Drive to SSD - Succeeded
  • Upgrade RAM to 8GB (Remember to get Low Voltage DDR3L RAM modules only)
  • Upgrade Wifi Card (Remember WiFi Card Slot accepts only Next Generation Form Factor (NGFF) Currently not possible due to whitelist To upgrade WiFi Card refer to the Lenovo Hardware Service Guide check the FRU column and get a compatible Wireless AC Card Succeeded
  1. WiFi FRU List
BGN Capable
Qualcomm Atheros, Ltn NFA335 1x1BN+BT4.0 PCIE M.2 WLAN 20200558
Broadcom, Cbt BCM43142 1x1BN+BT4.0 PCIE M.2 WLAN 20200557
Realtek, Cbt RTL8723BE 1x1BN+BT4.0 PCIE M.2 WLAN 20200570
AC Capable
Qualcomm Atheros, Ltn NFA345 1x1AC+BT4.0 PCIE M.2 WLAN 20200579
Broadcom, Cbt BCM43162 1x1AC+BT4.0 PCIE M.2 WLAN 20200573
Intel, Intel 3160 1x1AC+BT PCIE NGFF WLAN 20200418
            • Reformat and install a non-crippled OS - OEM activate Window 7 Professional and Upgrade to Free Windows 10 Professional

            Saturday, January 24, 2015

            TP-Link WDR4900v1 OpenWRT Technical Review

            As you can see from my github I am adding support to a new Router.
            The TP-Link WDR4900v1.
            The reason why I am supporting it is because I got 1 recently.

            As you know this is a relatively old Wireless N Dual Band Router compared with all the spanking new Wireless AC Router, I saw that it was on cheap sale, $90 SGD compared to the original retail price of $190 and so I purchased it.

            That was not all the reason I purchase it. The main reason was it came with a esoteric Processor: the Freescale e500v2 P1014 SoC.

            It is a POWER Architecture by Freescale, Clocking up to 800MHZ.
            It is a relatively high power Router with SPE register modes but from the Kernel Source it cannot boot if you enable SPE or Hardfloat on the Kernel however you can enable it in the userland applications.
            Probably a GCC thing.

            As usual this is not your Stock Firmware review, it is a "OpenWRT firmware on it" review so if you are looking for nice numbers on stock firmware you should look at the millions of reviews posted somewhere else.

            I took a look at the default buildroot in OpenWrt for this firmware, there are a number of optimizations that can be applied but is not.

            So I added my patches and the github repo can be found here.

            A number of significant patches I added that boosted performance are the
            CFLAGS, TX and RX buffer on the gianfar driver, and the Assembler Optimizations for OpenSSL similar to what has been done for MIPS Architecture, I will only upload the binaries next month but if you are impatient you can build it yourself from my github repo.

            So below are some of the findings of OpenWrt on WDR4900v1after using my Optimized Build which I will only upload next month with the rest of my releases.

            NAT Performance LAN to WAN

            It is roughly 550Mbps, only slightly higher than a optimized Overclock WDR4300@730MHZ.
            So if we were to consider Throughput per MHZ it would be slightly less efficient than a MIPS74kc.

            As for Wireless @ 2.4GHZ Close range it maxes out at > 150Mbps peak burst using WPA2-PSK AES Encryption.
            This is a very good result, probably due to its superior AES computation capabilities

            2.4GHZ is very often the lower bar performance due to the channel congestion so we can assume that 5GHZ will be slightly high in throughput compared to 2.4GHZ

            Next findings are very interesting. Although it uses similar Wireless Radios compared to WDR4300 it is way way higher Power.

            Compared to the WR1043ND which can do 24dbm at 2.4GHZ, this Router can do 25dbm! (WDR4300 does a maximum of 22dbm at 2.4GHZ) but remember the 2.4GHZ antenna is INTERNAL therefore you cannot compare it to the EXTERNAL antenna of the WR1043NDv1

            Lastly its 5GHZ capabilities is also clearly superior compared to its weaker brother WDR4300.

            It can do a flat 22dbm on ALL 5GHZ Frequency compared to WDR4300 which can only do maximum of 20dbm on higher frequency range on 5GHZ and 15dbm on the lower frequency range on 5GHZ.

            In conclusion, basically it is slightly faster than WDR4300 and can transmit higher power than WDR4300 and WR1043NDv1.

            Stay tune for the Feburary Release!

            Saturday, January 10, 2015

            OpenWRT Barrier Breaker January Release 2015

            January release out!
            Notable Changes from upstream repository
            -OpenSSL updated to K release and fixes a couple of CVEs
            Notable Change from Custom Patch
            -Force LLSC on MIPS CFLAGS
            -Add a improved strstr uClibc implementation from uClibc patchwork
            -ZRAM has been removed since it currently useless and prevents 32MB devices from proper operation.
            -Backport a soft reboot fix for certain hardware version of WDR36XX/43XX Router
            -Update kernel to 3.10.64

            For more detailed changes refer to OpenWRT Barrier Breaker Source and my Github Repository

            Download the firmware here