SmallNetBuilder Forums
Go Back   SmallNetBuilder Forums > Wireless Networking > ASUS Wireless > Asuswrt-Merlin

Closed Thread
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-14-2012, 03:16 AM
RMerlin's Avatar
RMerlin RMerlin is online now
Very Senior Member
 
Join Date: Apr 2012
Location: Canada
Posts: 10,488
Thanks: 54
Thanked 5,891 Times in 2,393 Posts
RMerlin is just starting out
Default Asuswrt-Merlin - custom build of the Asus RT-N66U firmware

about:
This is a customized version of Asuswrt, the firmware developed and used by Asus on many of their routers.

Currently supported: RT-N66U, RT-AC66U, RT-N16 (Experimental)

The primary goals of this project are to fix bugs, add a few basic features and tweaks to the original firmware. This firmware will try to remain as close as possible to the original firmware. If you are looking for a slew of advanced features, then this project is not for you. Look at TomatoUSB or DD-WRT, two excellent products that might suit your needs better.

If however you prefer something as close as possible to the manufacturer's firmware, then this is for you

Latest release: 3.0.0.3.178.15

Asuswrt-merlin provides the following changes over the original firmware:
  • 64KB NVRAM
  • WakeOnLan web interface (with user-entered preset targets)
  • JFFS persistent partition
  • User scripts executed at init, services startup, WAN up, firewall up and shutdown.
  • SSHD (through dropbear)
  • HTTPS support
  • OUI (MAC address) lookup if you click on a MAC on the Client list (ported from DD-WRT)
  • Optionally turn the WPS button into a radio on/off switch
  • Saving your traffic history to disk (USB or JFFS)
  • Displaying monthly traffic history
  • Cron jobs
  • Monitor your router's temperature (under Administration -> Performance Tuning)
  • Display active/tracked network connections
  • Allows tweaking TCP/UDP connection tracking timeouts
  • Various bugfixes: crash issues related to VPN, etc...
  • layer7 and cifs kernel modules added
  • Optional user-settings for the WAN DHCP client (required by some ISPs)
  • Description field added to DHCP reservation entries
  • Dual WAN support (both failover and load balancing supported)
  • Disk spindown after user-configurable inactivity timeout
  • System info summary page
  • Wireless client IP and hostname on the Wireless Log page

Download:
You can download it from the Github repo:
https://github.com/RMerl/asuswrt-merlin/downloads

Or from my website:
http://www.lostrealm.ca/asuswrt-merlin

The source code including my changes can be found on Github: https://github.com/RMerl/asuswrt-merlin.

Changelog: http://www.lostrealm.ca/asuswrt-merlin/changelog.txt.


Hope you folks like it

Last edited by RMerlin; 08-17-2012 at 10:02 PM. Reason: Updated to build 178.15
  #2  
Old 04-14-2012, 07:31 AM
mrcom mrcom is offline
Senior Member
 
Join Date: Feb 2012
Posts: 100
Thanks: 20
Thanked 26 Times in 19 Posts
mrcom is just starting out
Default

Quote:
Originally Posted by RMerlin View Post
Howdy folks,

Since I got my RT-N66U, I have been tinkering with its firmware. After managing to get the GPL sources to compile, I started applying a few minor changes to it.

As some people might be interested in such a tweaked version, I have been making them available for download from my website. These builds are currently based on 3.0.0.3.108 (build 112 is way too buggy to be used at this point, as they broke radvd in it).

The latest release is 3.0.0.3.108.2 (the last digit denotes my revision number). This build provides the following changes over stock 108:
  • Upgraded MiniDLNA from 1.0.21 to 1.0.24 (see http://sourceforge.net/projects/mini...nidlna/1.0.24/ for the list of changes)
  • Included wol (wakeonlan) binary
  • Added Tools menu to the web interface, with a page that lets you send a wakeonlan packet to a specified MAC address

I have no intention of doing any major changes in the future - there is no way I could provide anything remotely close to the level of features provided by Tomato or DD-WRT anyway. However, if you want something that remains as close as possible to the original Asus firmware, then these builds might suit you.

You can download them from my website: http://www.lostrealm.ca/tower/node/79. All code changes I made are included in the download archive.

Hope you folks like it
Great!! Really nice to se people doing there own firmwares and making them available!!! Keep up the good work and a big THANKS!!
best regards Mrcom
The Following User Says Thank You to mrcom For This Useful Post:
  #3  
Old 04-14-2012, 02:21 PM
srinivasvaradaraj srinivasvaradaraj is offline
Member
 
Join Date: Feb 2012
Location: Beaumont, TX, USA
Posts: 61
Thanks: 10
Thanked 13 Times in 10 Posts
srinivasvaradaraj is just starting out
Default

I have been wanting to do that but you did it , one word: AWESOME. Will check it out. My gripe with asus firmware was the inability to launch custom scripts or startup commands similar to dd-wrt's rc-startup. I have been experimenting with the builtin wl command to get better control on the wireless performace. Atleast try and see what the driver provides. The frustrating part was that it didn't survive a reboot. So, my question is could you provide a way to start custom startup script/command ?
Very much obliged.
-sri
  #4  
Old 04-14-2012, 11:51 PM
RMerlin's Avatar
RMerlin RMerlin is online now
Very Senior Member
 
Join Date: Apr 2012
Location: Canada
Posts: 10,488
Thanks: 54
Thanked 5,891 Times in 2,393 Posts
RMerlin is just starting out
Default

Custom scripts (like DD-WRT does) are definitely something I want to implement. Myself, I have to manually run two custom scripts: one to update my 6in4 tunnel, and another to setup the IPv6 firewall, as by default the router routes everything.

I'm trying to hold off any real source-level change until at least the next stable release from Asus, but with the issues of recent betas, I might stop waiting and start working on implementing these.
The Following User Says Thank You to RMerlin For This Useful Post:
  #5  
Old 04-15-2012, 01:49 PM
RMerlin's Avatar
RMerlin RMerlin is online now
Very Senior Member
 
Join Date: Apr 2012
Location: Canada
Posts: 10,488
Thanks: 54
Thanked 5,891 Times in 2,393 Posts
RMerlin is just starting out
Default

Progress update:

USB gets mounted too late to be usable for startup scripts. So I had to fiddle with something else first:


Quote:
Filesystem Size Used Available Use% Mounted on
/dev/root 17.5M 17.5M 0 100% /
tmpfs 124.8M 328.0K 124.5M 0% /tmp
devfs 124.8M 0 124.8M 0% /dev
/dev/mtdblock3 13.1M 644.0K 12.5M 5% /jffs
That last one gets mounted early enough

Last edited by RMerlin; 04-15-2012 at 01:51 PM.
The Following User Says Thank You to RMerlin For This Useful Post:
  #6  
Old 04-15-2012, 02:35 PM
srinivasvaradaraj srinivasvaradaraj is offline
Member
 
Join Date: Feb 2012
Location: Beaumont, TX, USA
Posts: 61
Thanks: 10
Thanked 13 Times in 10 Posts
srinivasvaradaraj is just starting out
Default

Just curious if you have read thru ASUS's licence agreement ? If enough people take interest in this thread, I am considering a github.com posting/account. What do you think ?
-sri
  #7  
Old 04-15-2012, 03:06 PM
RMerlin's Avatar
RMerlin RMerlin is online now
Very Senior Member
 
Join Date: Apr 2012
Location: Canada
Posts: 10,488
Thanks: 54
Thanked 5,891 Times in 2,393 Posts
RMerlin is just starting out
Default

I haven't read it, so I'm unsure what would be the legal implications of setting up a git repo with all the files they distribute in their GPL archive, and customizing it. I would assume it would be fine (especially considering their own firmware is based on Tomato), provided we make it clear that this is unofficial, unsupported by Asus, and so on. However, IANAL, so who knows for sure.

At this point, my personal wish-list for this enhanced firmware are:
  • MiniDLNA update (done)
  • WakeOnLan with web integration (done)
  • JFFS2 support (almost done, working out web integration, and will require thorough tests)
  • Custom scripts (almost done, need more thorough tests)
  • SSH support (I only quickly looked at it, the code is there but Asus took out bits needed for this to work - yet should be doable)
  • Actually giving this a name, beside "Merlin's custom builds"
  • Only the most obvious bugfixes to the original firmware (because sometime, fixing one thing can break something else - there might be a reason why a specific bug hasn't been fixed by Asus yet)

A few things I definitely do NOT want to do with this project:
  • So-called "performance tweaks" (as they typically open the door to stability issues - I trust engineers with the actual HW datasheets in hand to know better than me in their design decisions)
  • Re-working of any of the current inner workings (same reason)
  • Re-working of the WebUI

I want it to remain as close as possible to the original firmware, to ensure it remains as stable and reliable as the stock firmware is. And also to make it as easy as possible to upgrade to any new code base released by Asus (considering they make 1-2 of them every month so far). People willing to go with more "experimental" or radical changes can find that with the other existing projects (IMHO).
The Following 2 Users Say Thank You to RMerlin For This Useful Post:
  #8  
Old 04-15-2012, 05:05 PM
shantanugoel shantanugoel is offline
Member
 
Join Date: Feb 2012
Posts: 43
Thanks: 1
Thanked 5 Times in 5 Posts
shantanugoel is just starting out
Default

Awesome stuff, Eric. I was looking to modify the code for the same things as yours (custom scripts at startup, jffs) when I saw this page. Looks like you've got it pretty much wrapped up

For ssh, You can use the ssh.c file from rc.orig folder and then add start_sshd and stop_sshd calls in rc.c file (with checking a nvram variable for ssh enablement). SSH enablement option can be added to advanced_system_content.asp file in www folder.
I've done this and will test in morning and let you know.

Waiting for your build with jffs and scripts support
The Following User Says Thank You to shantanugoel For This Useful Post:
  #9  
Old 04-16-2012, 02:03 AM
RMerlin's Avatar
RMerlin RMerlin is online now
Very Senior Member
 
Join Date: Apr 2012
Location: Canada
Posts: 10,488
Thanks: 54
Thanked 5,891 Times in 2,393 Posts
RMerlin is just starting out
Default

Quote:
Originally Posted by shantanugoel View Post
For ssh, You can use the ssh.c file from rc.orig folder and then add start_sshd and stop_sshd calls in rc.c file (with checking a nvram variable for ssh enablement). SSH enablement option can be added to advanced_system_content.asp file in www folder.
Thanks for the tip (I was going to grab the Tomato sources to recover that missing code). Got SSH working and integrated in the web interface I just need to test out pubkey authentication, and the sshd_forwarding option.
The Following User Says Thank You to RMerlin For This Useful Post:
  #10  
Old 04-16-2012, 12:16 PM
zonly1 zonly1 is offline
New Member
 
Join Date: Feb 2012
Posts: 16
Thanks: 7
Thanked 1 Time in 1 Post
zonly1 is just starting out
Default

Great job, I really think I'm going to test this out! Would you consider adding the Web log features that are included in Tomato?
Closed Thread

Tags
firmware, rt-n66u

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -4. The time now is 12:29 PM.


Top 10 Stats
Top Posters* Top Thanked
RMerlin  364
L&LD  169
azazel1024  161
stevech  133
ChristineBCW  121
john9527  116
hggomes  84
dirtyclyde  67
TonyH  64
4Leaf  55
RMerlin  5890
stevech  344
john9527  303
ryzhov_al  274
TeHashX  230
L&LD  225
RogerSC  195
sinshiva  146
joegreat  126
sfx2000  124
Most Viewed Threads* Hottest Threads*
Old Asuswrt-Merli...  36818
Old Shellshock...  23914
Old Asuswrt-Merli...  19878
Old Does...  12511
Old T-Mobile...  10065
Old Most stable...  7217
Old RT-AC87R (U)...  6242
Old RT-N66U...  6222
Old Can't trust...  4073
Old New...  3154
Old Asuswrt-Merli...  178
Old Asuswrt-Merli...  89
Old Does...  72
Old Antenna...  62
Old T-Mobile...  61
Old RT-AC87R (U)...  42
Old Most stable...  37
Old Simple NAS...  37
Old USB N...  37
Old Shellshock...  31


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
© 2006-2014 Pudai LLC All Rights Reserved.