The Linksys WRT54GL and DD-WRT firmware



I’ve had a couple of small wireless projects lately and have really been having a great time playing around with the Linksys-Cisco WRT54GL Wireless-G Broadband Router and one of the many GREAT 3rd party firmwares dd-wrt. I know, for a couple years I’ve meant to get a hold of one of these little linksys boxes for testing. I had read about OpenWRT and found it an interesting idea. For those that don’t know, the original linksys wrt54g wireless routers were designed based around a customized linux firmware. What made this nice is linksys made the source code available for their firmware which made it a lot easier for others to improve upon linksys’ built in software.


So, where the original device may have had shortcomings in the software community members quickly started coming up with improvements. Well, somewhere along the line, linksys moved to a different embedded OS which allowed them to cut the memory use in half and get the boxes out a bit cheaper, but the continued to make the original device with the wrt54gl designation – the L supposedly denoting linux.

Some of these firmwares allow for features that are truly amazing out of these cheap network routers. (I should stop at this point to mention that it’s not just a linksys only party here, there are other brands, buffalo, acer, netgear among others that are supported.) In fact, dd-wrt’s support devices list is here. Some of these devices have usb ports, more memory, etc. which of course makes the potential for the device much greater.

So, what can you do?

For starters, my interest in the project was to run two SSID wireless networks off the same hardware. That is something that is just becoming easy to setup in the dd-wrt firmware with the V24 series of dd-wrt which is at release candidate stage. From what I saw it was easy to setup virtual SSID’s which allowed both wireless network names to share the same MAC address. This arrangement gave me a weekends worth of playing. (I was working with v 24 RC4 of dd-wrt, there are newer releases v 24 rc6.2 is out, but seemed to be a bit buggier.) The newer releases seem to implement making up a MAC address for the virtual SSID’s which should improve matters greatly. (All this depends on your hardware though – it looks as though the wrt54gl should support it.)

Here’s the problem I saw with virtual SSID’s and the same MAC address. Wireless clients would see either one or the other network each refresh of the list, connecting to one would then make connecting to the other more challenging. One scenario this could work is if you have an existing WEP network and want to upgrade to WPA. Set the WEP legacy network to not broadcast an SSID, allow the new WPA network to broadcast SSID and that would make for a decent transitional setup. Unfortunately I was setting up two new networks a WPA members only network and an open guest. With shared MAC addresses I saw no good way to accomplish this yet without lot’s of end user support. (Maybe when dd-wrt v24 is a bit more finished I’ll revisit.)

Okay, enough of the side trip… what can you do with this box. Besides the usual router possibilities, you can now setup virtual lans… do you need to divide users into several different isolated networks with a shared gateway to the internet? Okay, easily done. You can even setup dhcp to give out addresses to each network. (And firewall either both from each other or just one from the other.)

QOS – quality of service. Do you want to make sure the users of this device don’t eat up all your internet bandwidth? Easily setup with quality of service limits. Set the total bandwidth and then priority levels for each type of traffic (peer to peer, voip, web, smtp, etc.)

Open wireless access – there are several hotspot possibilities here, either with a roll your own captive portal implementation (or you could use the prefconfigured setup for nocatsplash which is just a single enter button.) Or, you can integrate with chilispot, or sputnik or other online services.

If your device has enough memory you can install other software on the box, from game servers, print server software, network tools, etc. With a usb port that means you could have a file server, print server, or scanner server.

Finally, I’ve got a setup that I’m happy with. I wound up using two of the boxes for ease of setup. (The recent release candidates did not seem to be stable enough in ALL areas for me to be really comfortable, so I used version 23.) I essentially setup a members only access point with WPA encryption that setup a vlan on one port of the switch which the guest network will plug into. The guest network will have open access, terms of use captive portal that redirects to a portal page of our choosing. (As well as having isolation between wireless users.) This way the internal members only network not only has WPA, but is firewalled off from the free wireless users. The guest access point has a strict bandwidth limit at around 1/3 of our total bandwidth to avoid disruption of the members only network from outside leeches… All in all, it has turned into a very nice setup. It has seemed quite stable so far and includes the option to schedule daily or weekly reboots if necessary.

Another plus to this is that when the newer firmware stablizes, if I want to upgrade I can just setup another box with the free firmware and when I have all the configuration done I can just swap the boxes. I now have a couple other projects lined up with the wrt54gl (including a replacement for a home firewall which I estimate will wind up saving a few dollars a month in power.)

   Send article as PDF   

Similar Posts