Note: Linksys has replaced the WRT54G and WRT54GS with a different model using the same model number. This page applies for the GS model up to version 4. Newer models that have the pushbutton on the front are too different and do not run the alternate firmware.

The Linksys Wireless-G Broadband Router is really three devices in one box.

First, there's the Wireless Access Point, which lets you connect Wireless-G or Wireless-B devices to the network.

There's also a built-in 4-port full-duplex 10/100 Switch to connect your wired-Ethernet devices. Connect four PCs directly, or daisy-chain out to more hubs and switches to create as big a network as you need.

Finally, the Router function ties it all together and lets your whole network share a high-speed cable or DSL Internet connection, files, and other resources such as printers and hard disk storage space.

2005/06/21 DanFlett : An update on myWRT - it has been more-or-less obsoleted by the new version of OpenWRT. The new version is called, confusingly, Experimental. It is actually the latest stable release of OpenWRT, and includes the menuconfig tool that myWRT had. Customising your own OpenWRT builds is much easier, and the compilation process is much smoother.

2005/02/08 DanFlett :You might want to check out myWRT - it makes customising OpenWRT a lot easier. It uses a modified Linksys menuconfig tool to select which packages should be installed, and whether they should be statically compiled into the firmware, or installed as an add-on package into the rewritable flash partition.

2005/02/08 DanFlett says:(edited)Another important consideration is support: There are heaps of people worldwide who are hacking away and developing for the WRT54GS. WRT54GS's are tried and tested. People have their own individual problems with them but that doesn't invalidate them as a usable platform. Any problems you have with them will likely have been encountered by someone else, and you can scour the OpenWRT and Sveasoft forums and find a solution.

Ultimately it would be good to have a common build system like OpenEmbedded working on the WRT54GS and whatever other embedded boards we choose to use. Then development efforts on one platform can use used on others.

2005/02/07 - Note from CRC: I've had 2 of these routers die now with various flash problems while developing custom firmware for MW. My confidence in these units is a little shaken at the moment, but the functionality is great (then they work). I'm waiting to see how Linksys will handle the situation, and that will probably decide as to if I abandon the Linksys routers or not. Update 2005/02/08: Linksys have decided to RMA this equipment even though it has a third party firmware installed. As long as no changes to the hardware has been made, they will cover the device under warranty. This is a big redeeming feature in my view, and will ensure my continued work on getting a WRT54GS firmware completed for MW.

2005/02/08 - dna: Ha, join the club. I use my dead ones for 4 port switches as that part still works. If there are enough of us with dud flash chips perhaps it will be worth socketing the dead ones and putting together a flash programmer.

2005/02/08 - DanFlett : The OpenWRT and Sveasoft forums are full of stories of 'bricked' routers. This is more of a problem for developers than it is for end-users. It's something that really just goes with the territory for such a cheap box. I believe as developers it's up to us to shoulder this burden, so that end-users will benefit from the cheapness of the router once we've stabilised each new firmware release. Those developers who are regularly testing newly-compiled firmware probably use a test-bed router or two (different versions), and probably have the serial and ejtag ports set up to make de-bricking easier. You're probably aware of the recommended methods to de-brick a WRT54G/GS, but here's a link just in case you're not: OpenWRT Debricking Forum topic

I am happy to buy/make an ejtag cable for any Melbourne Wireless firmware developer who wants one (within reason ), and solder the pin header onto their router's circuit board. I'll even loan such a modified router to any developer who doesn't have a test-bed to play with. I'm very keen for any developer with the skills, time and inclination to develop firmware to have everything they need to get the job done.

Here's the pdf instructions for building an ejtag cable, written by a gentleman known as HairyDairyMaid, and his accompanying software for saving and restoring the contents of the flash:

wrt54g.hwrt54g.cMakefile
I'm not 100% certain this software would work as is with a WRT54GS since it has a different flash chip. But it shouldn't be too hard to adapt it.

2005/07/20 - Ratbaggy: I have built the JTAG adaptor described in the above article and can confirm that the method works perfectly. We de-bricked a WRT54G at Nigels and then moved on to a GS. We soon discovered that simple modifications to the program to allow for different memory size weren't enough. It is also necessary to use Flash Window 2 (0x1C000000) instead of Flash Window 1 (0x1FC00000).

Version 3 of HairyDairyMaids program takes this into account and it can be obtained from:

2005/06/21 - jonathan: Has anyone looked at network booting a WRT54G? Surely this would avoid the problems of bricked routers when testing development firmware builds.

2005/06/21 DanFlett : I know of some OpenWRT developers who install the NFS Client package and run/edit/compile their programs from a network-attached hard drive. This is probably a good way to go if do a lot of writing to the flash. There's also a Samba package for OpenWRT, but it's much bigger than the NFS package.

2005/02/08 - Note from RichardvanOrsouw aka Kahless: I've had a play with a couple of these units running on either end of 1Km link, a wrt54g (sveasoft) and a wrt54gs (openwrt) after a bit of stuffing around, got em going in bridge mode by issuing "wl wet 1" (wireless bridging) on the wrt54 running in client/managed mode, didn't seem to matter whether it was ON on the one running in master/AP mode. Remember the WAN port not used, just one of the LAN ports. Got a 54M connection going, but its not realible and stalls, have locked it down at lower speeds, used different power levels, but as yet hasn't helped. Any suggestions would be much appreciated. Both the units r directly connected to a n/w card in a linux box at each end which uses up 4 ips on the same subnet, 2 each for the wrts and 2 each for the linux box.

2005/02/09 - Note from RichardvanOrsouw aka Kahless: Another thing i have discovered, iwconfig doesn't work to well, looks like everything must be done via wl, to get openwrt to work as a client in bridging mode
wl ssid x.x.x.x
wl wet 1
wl ap 0
wl join

2005/02/11 - Note from RichardvanOrsouw aka Kahless:
Hmm, got rid of the stalling problem, i made the sveasoft end the client and the openwrt end the ap, get b/w 1200 & 2000 KB/s now, not sure why the speed isn't constant?. Will re-flash the sveasoft to openwrt.

2005/06/21 DanFlett : Under OpenWRT, iwconfig doesn't work very well, but you can change the wireless settings by changing the relevant wl0_* NVRAM variables and doing a

nvram commit

then a

wifi up

This will initialise the WRT's radio with the new settings. To see what the current values for the radio are, do a

nvram show | grep wl0_ | sort

at the command line. It shouldn't be necessary to use the wl package. There are a lot of things you can change via NVRAM variables, and the new OpenWRT version has a program called wlc that has some control over the radio, such as tx-power and client/ap/ad-hoc mode. To get more reliability on the link there are a lot of NVRAM variables you can change - notably the gmode variables and shortslot. There are probably others too. I find the Sveasoft forums have a lot of info about what variables to tweak to get the best performance on long links.