Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 09, 2016, 07:03:42 PM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: The fun of installing custom router firmware (tomato, dd-wrt) - an introduction  (Read 21424 times)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,431
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
For those that don't know, a "Router" is a device that connects to your incoming internet connection (after the cable modem if you have a cable modem), and is responsible for "routing" traffic between the multiple computers in your house and the internet.  It's also the thing that provides the wireless access point for any wireless devices in your home.

Modern routers are like tiny little computers (some even run a version of linux); computers that you actually connect to from your web browser when you configure them to change their settings.

The "software" running on your router, that controls what it does and how it can be configured, is called the "firmware".  Many small dedicated hardware devices, like your dvd player, etc, have such "firmware", and these days devices have ways to "UPGRADE" the firmware.  Usually the idea is that the manufacturer might release an updated version of the firmware fixing some bug, and you would upload (flash) the new firmware version onto the device.



Well in the router world, something quite interesting has happened in the last few years -- a number of 3rd party open source alternative router firmware software packages have been released, and they are quite good and can add some extra features to your router.

There have been a couple of posts scattered around the forum mentioning custom 3rd party router firmware, usually in response to a question someone has about how they might tweak their network connection or troubleshoot a bandwidth issue.  But I thought I'd start a new thread where we can discuss the issue.

Now I should say, this is still something for people who don't mind getting their hands dirty and learning about router settings.  If you don't have some time to really get into the nitty gritty of this stuff, don't mess with it.  This is for people who love tweaking their hardware -- overlocking their cpu, rooting their phones, etc.

I'm not normally one of these people -- I generally avoid such things because I don't like having an extra layer of things to troubleshoot when there is some instability, etc.



But I recently decided to try out installing a 3rd party router firmware in my network router (an old classic, the Netgear WRT54GL).  Mainly I figured if something goes wrong it's time for me to buy a new router anyway, and I was curious if I could improve the wireless signal at the far end of my apartment.

To cut a long story short, it's been really fun experimenting with the "Tomato (shiby version)" of the firmware.  I was *not* able to significantly improve my wireless range, despite changing some power and signal settings.  But I am able to get some very fun statistics now about which IPs in my house are using what bandwidth (i can watch netflix bandwidth graphs live, which is very fun).

So, for me, I can't say it gives me any real tangible "improvement", but I really do appreciate being able to see much more detail about the connections and bandwidth in and out.



Anyone else experimented with these alternative router firmwares?

skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 4,669
    • View Profile
    • Donate to Member
I run Tomato (Shibby) on my main router (ASUS RT-N66U) as well for several reasons:

1. The ability to run multiple networks (VLANs).  I use three separate networks in my house:
  • The main network that all my stuff runs on, both wired and wireless.
  • A separate, wireless-only network for guests when they visit.  This network has access to the internet only...no access to anything on the first or third networks.  This protects my stuff from any potential harm a guest device might do.
  • A third wired/wireless network for my computer workbench.  As with the second network, it has access to the internet but is firewalled from the other two.  I do this in case I'm working on somebody else's computer that might be infested with virii, malware, etc.  This way, said device can reach the internet but not harm my stuff or guest's stuff.
2. The interface.  The stock ASUS firmware, while capable, had the typical pseudo-futuristic eye-candy type of interface.  Not my thing, at all.
3. Unlimited static DHCP leases.  The stock firmware had a limit of thirty.  Hard as it may be to believe, I have over thirty devices in my house that are internet-capable.
4. Full OpenVPN support for both client and server.  I use the client portion for connecting to a paid VPN service so that all devices in the house can easily browse anonymously and I use the server portion to connect back to home while I'm traveling.
5. Bandwidth statistics.
6. As mouser mentioned, IP tracking to see stats per device.  Who is using what, basically.

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,768
    • View Profile
    • Donate to Member
I've done DD-WRT and Tomato installations. (FWIW I prefer Tomato.)

As far as boosting performance on a Linksys WRT54GL, my experience has been much the same. Not so much a boost in performance as more flexibility and stability over the OEM firmware. The supplied Cisco software works ok. But i used to have to reboot the 54GL about twice a week because it would often stall out after (or during) a larger than usual download session. Upgrading the manufacturer provided firmware only made things worse - which is what provoked me into looking into alternative firmware in the first place.

A firmware change could improve performance if the existing firmware had a bug or some poorly implemented code in it. But it can't put something in there that isn't there already. And most of these little consumer-grade router boxes are (mostly :mrgreen:) debugged by now. So some of the performance improvements reported in the past are likely to be a thing of the past as well.

In general, a firmware update makes the most sense if you're looking for: stability, additional features (especially auditing and VPN niceties), or increased options when it comes to settings.

In my case, the biggest selling point is that I can install the same firmware on most of the lower end routers I need to support such that the admin interface becomes identical for all of them. That's a big improvement over looking at 20 different control panels depending on make, model, and firmware version AFAIC. But that's probably not important if you're only responsible for your own router.

Note: be very careful whenever boosting the power settings on any router's radio. These boxes are almost all passively cooled and have power settings engineered to keep the heat they generate within safe tolerances for the device. You probably couldn't 'burn' one of these routers by selecting too high a signal setting despite anecdotal accounts of people who supposedly did succeed in "melting" or "smoking" their routers this way. But the extra power could still make them run hot enough to shorten their service life or prematurely fail.

Note 2: If you do decide to install alternate firmware, make sure to follow the instructions to the letter - and be absolutely sure to install the correct version of the firmware based on the actual version of the hardware you have. That can be a challenge with some makes (i.e. Linksys) which change manufacturing specs within a given model number. Sometimes you may even need to install a basic minimal version of the replacement firmware first before you can install the full version you actually want to use. If so, follow the steps and don't be impatient. And above all DO NOT EVER INTERRUPT a firmware upgrade. Always wait for it to finish.

Sometimes it takes several long minutes after you think it's done installing before the router will reboot. Don't make the mistake of thinking it timed out and doing a power cycle or hitting the reset switch on the router. That will often result in you now having an inoperable (or 'bricked') router on your hands. If that happens you'll have to choose between performing a very tedious and aggravating 'unbricking' procedure - or dropping your now dead router in the nearest trashcan.

Just my  :two:

« Last Edit: August 03, 2013, 02:31:42 PM by 40hz »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,431
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
An important step not to miss is that you need to choose to CLEAR the ram (nvram) after changing (although probably not if you just upgrade to new version of same release) firmware, because the different firmwards use it differently, and you may very well have invalid values if you don't.

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,070
  • Is your software in my list?
    • View Profile
    • Donate to Member
Thanks mouser and everyone!  I was always hoping someone here would talk about this.  I just got an 802.11ac router, and was looking into these third party firmwares.  i was also about to try the tomato shibby version, but never got around to it.  I do use VPN and was wondering what improvements it might add to that experience.  the current admin interface of my router is a little too simple for me.  it's working fine right now, but it literally has like 3 things to tweak, lol, and that just bothers me for no good reason.

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,768
    • View Profile
    • Donate to Member
^If you're happy with the current performance...and if it ain't broke...

Just sayin' ;)

Especially if it's a snazzy new 'ac' router. It might be a while before there's Tomato or DD-WRT firmware available for it - assuming it becomes available at all.

If you just want to play with alternative router software, grab an old PC, put two or three NICs in it and start experimenting with a firewall or gateway NIX distro like: Vyatta, IPCop, m0n0wall, Smoothwall Express, or pfSense. Or if you want to try something really fancy, check out Untangle Gateway  :-* or ClearOS. Links and info here.


skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 4,669
    • View Profile
    • Donate to Member
Vyatta, IPCop, m0n0wall, Smoothwall Express, or pfSense

I ran FreeSCO for several years (way back) and then Smoothwall for several years after that.  Good stuff, the both of them.

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,070
  • Is your software in my list?
    • View Profile
    • Donate to Member
^If you're happy with the current performance...and if it ain't broke...

Just sayin' ;)

Especially if it's a snazzy new 'ac' router. It might be a while before there's Tomato or DD-WRT firmware available for it - assuming it becomes available at all.

If you just want to play with alternative router software, grab an old PC, put two or three NICs in it and start experimenting with a firewall or gateway NIX distro like: Vyatta, IPCop, m0n0wall, Smoothwall Express, or pfSense. Or if you want to try something really fancy, check out Untangle Gateway  :-* or ClearOS. Links and info here.
Yes, advice well taken.  I was about to do it, but ran out of research time, so i got nervous and said forget it.  i was going to revisit it, but since i don't have any issues so far, and i'm doing so many other things...i'm leaving it alone.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 8,408
  • "In my dreams, I always do it right."
    • View Profile
    • Donate to Member
I've been thinking about doing this... my NAS isn't compatible with my current router for doing some advanced functions.  But I've never been able to figure out if my router is actually supported.  That, and not wanting to screw up have kept me from the modding scene.

rgdot

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 1,881
    • View Profile
    • Donate to Member
My experience has been that I need improvement more with the modem and physical layer than the router itself so I try to stay away from Tomato et al

Shades

  • Member
  • Joined in 2006
  • **
  • Posts: 2,100
    • View Profile
    • Donate to Member
Another vote for Untangle here. I had an old white-box laying around, put in two network cards and put Untangle on it. Easy to install and the default configuration settings worked out of the box within my LAN. You have a good overview of bandwidth usage, DHCP, DNS, VPN, encryption and a boatload of options/services more.

The free version is already quite complete and you can buy extra features/enhancements to existing features from them as well.

Can't tell you much about those though, never had a need to buy anything. And that white-box is already running steady for at least two years now (if I don't take the power failures into account).

Edvard

  • Coding Snacks Author
  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 2,888
    • View Profile
    • Donate to Member
BTW:
https://en.wikipedia...iki/Tomato_(firmware)

The most complete (feature-ful, that is) appear to be the Shibby, Teaman and RAF mods:
Shibby: http://tomato.groov.pl/
Teaman: http://code.google.c.../p/tomato-sdhc-vlan/
RAF: http://victek.is-a-geek.com/

I like Victek's simulation, so you get a try-before-you-buy look at what to expect:
http://victek.is-a-g...26/status-index.html
 :Thmbsup:

mwb1100

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,522
    • View Profile
    • Donate to Member
FWIW, the most useful setting in Tomato that I think every router firmware should have is the one that lets you set it to reboot itself in the middle of the night every day. For me, that completely solved the problem of having to pull the power on the router when it started having  problems after a couple weeks of constant uptime.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 8,408
  • "In my dreams, I always do it right."
    • View Profile
    • Donate to Member
FWIW, the most useful setting in Tomato that I think every router firmware should have is the one that lets you set it to reboot itself in the middle of the night every day. For me, that completely solved the problem of having to pull the power on the router when it started having  problems after a couple weeks of constant uptime.

That *does* sound useful.  Though I really only get those problems after the cable goes down for some reason.  I wonder if it could sense that and reboot...

4wd

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,476
    • View Profile
    • Donate to Member
ASUS RT-N16 running Tomato Firmware 1.28.0000 MIPSR2-112 K26 USB AIO (Shibby).

Currently have DNSCrypt enabled in the router to CloudNS, (Australian public encrypted DNS: CloudNS).
Also just started using: Clean, Lean and Mean Adblocking - I've disabled AdBlock+ in Pale Moon, (I probably won't notice any difference anyway since I was already using the MVPS hosts file to block most ad/tracking servers).

Next on the todo list is setup the two VPN clients to my OS VPS' and redirect specific VLANs to one or the other, that way I can just swap IPs on any of the computers to have them go via a different VPN.

For lot's of good info on Tomato: Tomato Firmware
« Last Edit: August 19, 2013, 12:36:42 AM by 4wd »

Shades

  • Member
  • Joined in 2006
  • **
  • Posts: 2,100
    • View Profile
    • Donate to Member
FWIW, the most useful setting in Tomato that I think every router firmware should have is the one that lets you set it to reboot itself in the middle of the night every day. For me, that completely solved the problem of having to pull the power on the router when it started having  problems after a couple weeks of constant uptime.

You can buy timers that allow you to program the times you want it powered up. All you have to do is put the timer in the wall socket where your router draws its power from and put the plug from the router in the timer. These devices are around 10 euro's for a simple, indoors one.

A mechanical example and electronic ones. Both sites are in Dutch, but the text is not extensive (meaning: Google translate will be quite accurate) and its mostly pictures anyway.

4wd

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,476
    • View Profile
    • Donate to Member
That *does* sound useful.  Though I really only get those problems after the cable goes down for some reason.  I wonder if it could sense that and reboot...

You may be able to modify the following to do it, (it runs on your router): Automatic Connection Repair (always_on.sh)

CWuestefeld

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,002
    • View Profile
    • Donate to Member
the most useful setting in Tomato that I think every router firmware should have is the one that lets you set it to reboot itself in the middle of the night every day

I've been running DD-WRT for about a year, and I've had the router up for months at a time with no ill effect.

Does anybody out there have a pointer to a Tomato versus DD-WRT comparison, to help decide which I should use?

40hz

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 11,768
    • View Profile
    • Donate to Member
^I've used both without incident for a few years now. And I haven't had much need to restart them although I still reboot once in a great while, more out of superstition and habit than anything else. I can't recall either hanging much unless the hardware they were running on was on its way out. Both seem equally capable and on par feature-wise.

I've pretty much standardized on Tomato primarily because I like their interface better. I have some DD-WRT boxes I'm still responsible for that I see zero reason to reflash with Tomato. DD-WRT is working just fine on them so they're welcome to stay as is.

YMMV.  :)
« Last Edit: August 08, 2013, 04:30:31 PM by 40hz »

chatt15

  • Supporting Member
  • Joined in 2012
  • **
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
I have used both Tomato and DD-WRT. Tomato has a simpler interface. It also works on a relatively small number of Broadcom-based routers. It appears to be stable and uses less router memory.

DD-WRT has more features and works on a broader set of routers. The feature that drives my use of DD-WRT is universal repeater mode. This is conceptually similar to multi-hop WDS. However the advantage is that each node can have it's own SSID and IP address range. The repeater essentially acts like a client to the upstream network and a separate AP to the downstream clients. I find this configuration more flexible and easier to troubleshoot.

Having said that, DD-WRT can be difficult to set up and manage. There are also many unstable releases and poorly documented features and bugs. Although it supports many routers, I find it most stable on Broadcom-based routers like the Buffalo WHR-HP-G54 - still one of the best routers IMHO (no longer in production).

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,431
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
I have one non-trivial problem to report after using Tomato for a while.  My Windows 7 laptop will occasionally lose its connection to the wireless router, and nothing i do to repair/reconnect/etc will get it back until i reboot.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 8,408
  • "In my dreams, I always do it right."
    • View Profile
    • Donate to Member
What router is it?  I have that problem with my router also... another alternative to rebooting your PC is to restart the router.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,431
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
It's a Netgear WRT54GL.  There's no problem with the wired devices -- it's just the wireless machine that this happens on -- and it didn't happen with stock firmware.  I do find it surprising that i can't restablish the connection short of rebooting -- i would have thought that turning off the laptop wifi adapter or doing other things would have nearly identical effect.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 8,408
  • "In my dreams, I always do it right."
    • View Profile
    • Donate to Member
I'm surprised you didn't have it with the stock firmware- I had that same router and had that same problem stock.  And yes, it's just the wireless devices that I have the problem with.  I think that something gets bollixed in configuration that is maintained in state, and turning off the interface doesn't necessarily reset that.  At least, that's my theory.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,431
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
I think i may just splurge for a new wireless router.. the WRT54GL has a bit of trouble reaching the far end of my house anyway..