A week or so ago, I finally upgraded my home wireless network to 54MBit/s via 802.11g. A bit of research led me to choose a Linksys WRT54GL v1.1 router. The stock firmware didn't support some of the features I wanted (like using DHCP to assign static IPs based upon MAC address) but there are several third party open source firmware projects for the WRT54GL and it was fairly easy to find a stable firmware with support for the feature set I wanted. I ended up going with DD-WRT because of its features, available documentation, and activity level of their forums.
I did come across two gotchas, however:
First, I have internet phone service through Comcast and the Arris phone/cable modem they supply locks on to a particular MAC address. After I unplugged it from my previous router, I had to power cycle the modem before I could use the internet.
Second, I was having a problem where after several hours the router seemed to go off into never-never land. Browsing the internet or even trying to bring up the router administration pages timed out until I reset the router. Turns out I was using up all of the active IP connections buffer. Bumping the buffer from 512 connections to the max of 4096 cleared up the issue. To help keep the buffer cleaner, I also decreased the TCP and UDP timeouts.
Putting those gotchas behind me, the router is working like a champ and should easily last me until it's time to upgrade to 802.11n.