Take a plain, ordinary (read: boring, with limited functionality) $60 wireless router and supercharge it with cool features and lots more functionality, control, and diagnostics. There's much more under the hood of these devices than is accessible with the vendor's default firmware versions. Even the updates from the vendor's support website unlock only a fraction of the router's capabilities.

Third-party developers have made firmware upgrades available that unleash a lot more functionality.

"What is this 'firmware' of which you speak?" you ask. Well, that router is really just a fancy pile of switches waiting to be told what to do; that's the hardware. The firmware consists of the start-up instructions that make those switches actually do things. It's called firmware because it's not in the form of traditional "software" -- it's not on a moving disk. It is stored on a non-volatile memory (NVRAM) chip. The good news is: the vendors allow changes to that chip, so if they produce new versions of firmware, you -- the end-user -- can copy another version into NVRAM, letting your old device do new tricks. It also means that the chip can hold other code -- code written by someone other than the original vendor...

Note: I'm working on an updated version of this "-able" using firmware release v.24 SP1. Stay tuned...

Step 1: Assumptions and Preliminary Notes

Assumptions for this Instructable
  • Using DD-WRT v23.SP2 firmware images
  • Using Linksys WRT54G v1.1 router (serial # prefix CDF2)

A few notes from the DD-WRT hwsupport.txt file:
  • For upgrading from the original Linksys firmware, please use the generic mini version (dd-wrt.vXX_mini_generic.bin) and flash it from the web GUI interface.
  • After this first flash upgrade, any other DD-WRT full firmware binary may be applied.
  • For flashing via the web GUI interface (after applying the mini firmware), always use the included 'generic' binaries.
  • The other Linksys router version-specific binaries are meant to be applied only through tftp upgrades.
  • WARNING: Never, and I say never try to clear the nvram by the mtd utility. (mtd erase nvram). This will also delete your hardware MAC addresses which aren't stored in the CFE like in other routers -- the command line mtd utility can permanently brick your router.

(Note: This Instructable will work with most models of LinkSys WRT54G-series router. Obviously, the G-specific details would need to be adjusted to match the model being modded.)
does anyone know how to link two routers together?.. to make a wireless bridge or chain.. so i can expand the range
The DD-WRT firmware provides a feature set called Wireless Distribution System -- WDS -- to extend the range of a wireless network with additional access points. It can be set up relatively easily, but it's recommended to use WPA to secure the links; I don't believe WPA2 is supported. I've never set it up myself, but it seems pretty straightforward, and it should even work with other brands of access point, such as Apple's AirPort models.
This is how i have my network set up so i can tell you for curtain that this works. Upstairs = DD-WRT router connected to cable modem and providing hard wire connections to a Network Accessible storage and a printer. this router also provides a wireless net work to the up stairs residents / guests Downstairs = DD-WRT router connected to the upstairs router (wireless). This router provides hard wire connections to my MythTV back end server and to a desktop PC. This router also provides a second wireless network to provide a strong wireless signal for the downstairs residents / guests. all equipment can be accessed or restricted by the system architect / administrator. DD-WRT is extremely powerful and reliable. I have been using it for years. And yes, other access points have no trouble extending this network even further.
I read up about this a few years ago and found people saying that each additional router you added into WDS slowed the network speed by half. Have you noticed a significant slowdown in your network speed?
i am currently using Clear as my provider. paying for the 3Mbps speed tier and I can put 3-3.5 from any point in the system. So, no I am not seeing a decrease in speed. One side note. The Clear modem has its own DHCP so the routers are configured as "switches" and there IPs fixed in the same rage. All LAN connections are made in the LAN ports of the routers.
What about computer to computer transfers? The reason I ask is that I have movies stored on a file sharing server, and am renting a large house. Now, the movies will just barely stream within the current bandwidth limits, but the outer edges of the house have very weak signal strength. Have you noticed a slowdown in file sharing, or do you not file share on your network? Also, are you using a 802.11G or N network?
i am using the old linksys so it is 802.11 and I stream TV / movies from netflix / hulu all the time. And the MythTV back end serves recorded TV to any node as well.
I have a Linksys WRT 54G Router and in interested in this modification to increase its range which is restricted for some reason within our house at the extremities. However its serial # prefix is CDFB1FA............. . Would this mod be suitable for this router or would there be potential problems in trying it. Thanks, Paul.
You've got a ver. 5.0 WRT54G router. They don't recommend using this router, as it has less memory than older versions and uses a 3rd-party Linux firmware. Ver. 4.0 and below have 16MB of RAM and 4MB flash built in, but 5.0 and above have only 8MB/2MB. (Ver 7.0 has Atheros hardware and is not supported at all with the DD-WRT firmware upgrade.) Ver. 5 & 6 use the 3rd-party a Linux firmware and require a special extra utility to deal with that VXWorks firmware build. If you do plan to try flashing this router, only use the Micro DD-WRT upgrade (because of smaller RAM/flash capacity) and get the VXworks utility. I've never used it, so until I stumble across a v.5 or 6 router to try this on, you're on your own. Serial numbers starting with CDF0 -- CDFA are ver. 1.0 through 4.0 and should all work with the standard DD-WRT firmware. They're available pretty cheap if you look around... I hope this helps! -- Geoff
Great tutorial, thanks. I've got a friend with a business. Right now he's got one of these running with a dsl line for his business use. He wants to be able to offer wireless internet access to his customers while they wait, but he doesn't want them to be able to access the company network. With this firmware allow such a scenario?
I'm going to make a bunch of assumptions here, so please correct me if I don't have all the information quite right. This is a business with DSL as their single Internet access pipe. They have both wired and wireless for their business users, and they want to be able to offer wireless to customers that is restricted to internet access only, no customer visibility onto the business network. The business wants to use a single Linksys DSL router to do this. Is this correct? I'm thinking that this is beyond the ability of this device/firmware.<br/><br/>In this scenario, you would really want 2 separate SSIDs and force the customer SSID direct to the WAN interface using static routing. The idea is to make customer access simple, providing an open, wireless SSID that wireless users could just attach to easily. Don't have them go through any manual config contortions, then the business stumbles into the business of providing wireless internet access in addition to their primary business. Also, you would likely want some way to throttle the amount of bandwidth used by customers, so someone in the waiting are doesn't soak up all your bandwidth with a monster download.<br/><br/>(We're now entering the part of the discussion where I'm going to make some suggestions, but having never tried them with this device, they're only possible ideas...) There are a bunch of ways to handle this. One could be to get another Linksys router, configure it with a different SSID, and set up static routing under &quot;Setup...Advanced Routing&quot; and force traffic to the WAN port. Another would be to get a more capable router, something with access list capability. Or possibly a layer-3 switch using VLANs could also address this issue. <br/><br/>Help me understand the scenario more, but I think what is desired here is beyond the capability of this inexpensive router, even after being flashed with DD-WRT firmware. <br/><br/>Ultimately, this discussion is way beyond the scope of this Instructable. It might make more sense to check out the <a rel="nofollow" href="http://www.dd-wrt.com">DD-WRT</a> website for support and user forums. Someone there would likely have a whole lot more information than I have on this particular topic.<br/><br/>-- Geoff<br/>
does anyone know how to configure voip with after doing this upgrade.
Good walkthrough.. And DD-WRT is the best alternative firmware unless you're hardcore enough to go Open-WRT..<br/>One thing though, I've witnessed this personally on high end analysis equipment, but boosting the transmit power doesn't boost it as you'd expect.. You do get a boost, but not nearly 251mW eqv, more like 70mW eqv and the peak is more of a plateau covering adjacent channels with nearly equal strength.. Also, Linksyses tend to run warm as it is<sub> and this makes it worse.. Heat will kill routers, a case fan sitting on top can't hurt.. The total energy output may be 251mW, but it gets really inefficient.. For the record I keep mine at 84mW, its a comprimise..</sub><br/>
will i fry my router if i try to give it 251 mw?
My understanding of the power setting is this: The router should permit a power setting that high, and it should not have any negative impact on the router itself. The impact could be on other devices using the same or similar frequencies. A power setting this high could "drown out" signals from other devices by overpowering those devices with its own very strong signal. The question is one of diminishing returns. A power setting of 200mw is not twice as good as 100mw, it's only marginally better. For example, a high power setting on your router could impact a neighbor's router and render their wireless service useless, because you may be using the same channel assignment. I think this is why the consumer devices have low upper limits, because the possibility of "stepping on" another device is much greater in an environment where they are likely to be used (read: residential, non-commercial, non-governmental, etc.). This is where I need to say that I don't recommend going above the pre-modded limits, except for testing purposes. You never know who you might be making angry by boosting your power too high. You could have an FCC engineer living in the next apartment, and when s/he discovers you're transmitting above "normal" levels you might get a knock at the door from some folks you don't want to be talking to, inquiring about some sort of "hacking" that may be going on in your vicinity. Simply put, play nice. Be smart about modding, and use your head when experimenting with any setting that may stray outside the normal range. Have fun! I hope this instructable is helpful. -- Geoff
Will this work with a WAP54G access point?
Unfortunately, the version of the firmware used in this Instructable does not support the WAP54G. (I posted the list of supported hardware in an earlier reply, below.) I would guess it could work, because it seems the WAP54G is simply a WRT54G without the additional wired ports, but I have never actually laid hands on a WAP54G, let alone open one up and poke around. I'm not sure it's worth experimenting with this particular firmware version, unless you can confirm that the hardware configuration matches one of the supported routers in the supported list. Take a look at the DD-WRT website to see if they have any firmware versions that support this device. It might also be worth posting a message on one of their forums to see if it's supported or if they have plans to support it. Let me know how you make out; I'd be happy to post an update with details about the WAP54G, as well.
This is great! What about older routers?
Here is a supported hardware list, from the DD-WRT download:<br/><br/><pre>Router: Serial Number prefixes: Linksys WRT54G 1.0 CDF0xxx or CDF1xxx Linksys WRT54G 1.1 CDF2xxx or CDF3xxx Linksys WRT54G 2.0 CDF5xxx Linksys WRT54G 2.2 CDF7xxx Linksys WRT54G 3.0 CDF8xxx Linksys WRT54G 3.1 CDF9xxx Linksys WRT54G 4.0 CDFAxxx Linksys WRT54G 5.0 (JTAG only with cfe update, see http://wrt-wiki.bsr-clan.de/index.php?title=Flash_Your_Version_5_WRT54G)Linksys WRT54GL 1.0 CL7Axxx Linksys WRT54GL 1.1 CL7BxxxLinksys WRT54GS 1.0 CGN0xxx or CGN1xxx Linksys WRT54GS 1.1 CGN2xxx Linksys WRT54GS 2.0 CGN3xxx Linksys WRT54GS 2.1 CGN4xxx Linksys WRT54GS 3.0 CGN5xxx Linksys WRT54GS 4.0 CGN6xxx Linksys WRTSL54GS CJK0xxxLinksys WRT300N v1 (v24 only)Allnet ALL0277 Buffalo WHR-G54S Buffalo WHR-HP-G54 Buffalo WZR-HP-G54Buffalo WBR-G54Buffalo WLA-G54Buffalo WBR2-G54Buffalo WBR2-G54SBuffalo WZR-RS-G54Buffalo WZR-G300N Mimo / Nfinity (v24 only)Belkin F5D7130/7330 (2mb flash)Belkin F5D7230-4 v1444 (2mb flash)Belkin F5D7230-4 v1000Belkin F5D7231-4 ASUS WL500G-Deluxe ASUS WL500G-PremiumASUS WL-300g ASUS WL-500g Motorola WR850G/GP --&gt; see flashing notes below Siemens Gigaset SE505 --&gt; see flashing notes below Siemens Gigaset SX550i --&gt; same as SE505Ravo W54-RT --&gt; see flashing notes for SE505 v1 (identical to SE505 v1) Askey RT210W --&gt; see flashing notes for SE505 v1 (identical to SE505 v1) </pre>
I thought this had been published before. As a mater of fact, I know it was! I just can't find the original. It was the original Instructable that inspired me to upgrade my Linksys. BTW: The two biggest features that this software adds is that the address can be made "automatic" so the router doesn't get blocked by wireless phones and the QoS actually works! The later's very important if you use Internet Phone (VOIP) like I do.
Las Vegas, do you know where the other Instructable is that you referred to in your post? I'm always interested in seeing how different folks approach the same task. When I first heard about this idea, I tried doing it on my own using the different internet sources I cited in my Instructable. Wen I finally got it working, I decided to document the steps I went through to get it working, as well as some of the missteps I ran into so others wouldn't have to make the same mistakes I made. Have you had a chance to give my Instructable a try? Feedback is always helpful. Thanks!
I can't seem to find the original, but your's was very well done. I already had, and still have DD-WRT installed. It would have been nice if you'd mentioned some of the unique features that make DD-WRT so much better than the original firmware such as: 1) Setting the WiFi channel to Automatic, thereby eliminating dropout when a nearby wireless phone decides to switch to the same channel. (Yea... I mentioned this one before...) 2) Boosting the signal level from the default of 28, extending the range by a fair amount. 3) My favorite... UPnP!!! This allows intelligent programs to automatically, and temporarily set their own port forwarding!
I like your suggestions, and I will see what I can do to incorporate them into the Instructable. I personally like the ability to fine-tune the wireless signal for each device in real time. I have been able to effectively double the signal on 1 machine in the house, the one in the basement that was furthest away and had a really weak signal. I have boosted the transmit power from 28mW to 90mW. I believe the FCC max for such devices is something like 95mW, but DD-WRT will allow the power to be set much higher. I've played with this, but found that anything over 90mW didn't gain me much. I'm not familiar with dynamic port forwarding, and I'm a little conservative when it comes to opening ports, so I would probably prefer to handle that in some static way, if needed. I have also not had any interference problems with the DD-WRT firmware, so the automatic channel setting is not something I have used, either. Both are great features. Let me look over the settings I'm using, and add some detail about what additional features are available and which ones I'm using.

About This Instructable




More by GeeDeeKay:Fluorescent to LED conversion: Stealth Before & After Greek Yogurt, from Scratch! Sonos Play 1 Under-Cupboard Mount 
Add instructable to: