I knew about hacking the WRT54G router at least three years ago. I bought one over 2 years ago with the intention of installing openwrt, but I kept stalling because there was no GUI. After reading this lifehacker article about dd-wrt a few months ago, I finally put reflashing my wrt54g on my to do list. Today I finally flashed new firmware.
Here's exactly what I did and why.
1) I found the serial number. It started with CDF5. From the chart on this page I found I have version 2.0 firmware. With version 2.0, I would not be limited in what I could flash.
2) I created a PDF of the dd-wrt wiki Installation page for when I was offline.
4) I downloaded the dd-wrt.v23_mini_generic.bin and dd-wrt.v23_generic.bin firmware from here.I made sure i chose v23 SP1. I also downloaded the mini firmware after reading the hwsupport.txt file:
3.) Linksys WRT54G/GS (any version) flashing notes:
-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 flashing you can change to any other distribution, if you want.
-For flashing via the web GUI interface, always use the included 'generic' binaries. The other Linksys router specific binaries are only meant for tftp upgrades.
5) I unhooked my router from the network and connected it directly to my XP Box. The instructions said specifically to use internet explorer, because mozilla firefox has incompatibilities with firmware upgrading.
6) Thought the web interface, I reset the router to factory defaults
7) I had to change my XP machine to a 192.168.1.X network. I use a 10.0.x.X. network because of some legacy issues with my DSL modem. I was surprised that I did not have to reboot in XP. It was so stupid to be forced reboot when you changed your network address in previous windows versions.
8) Using the web interface, I flashed the mini generic firmware. I followed the dd-wt wiki instructions.
9) I waited 10 minutes before I touched anything, like the instructions warned.
10) The DD-WRT web interface came up so I reset to factory defaults again.
11) I flashed the standard firmware using the web interface.
12) After that finished, I reset the factory defaults again. I don't know if that step was necessary.
13) I reentered all my pertinent routing information
14) I reinstalled the router into my network and checked to make sure every machine could see the internet.