The regular WRT54G series doesn't really allow custom firmware anymore. They reduced the amount of flash memory (or something like that) on the standard model a few years back. To appease the enthusiasts, they created a model called WRT54GL (L for Linux, I guess) with the same amount of flash memory as the old G series, for people who want to use custom firmware.
I don't know how much it costs in the US, but it's usually in the $55-60 range in Canada, maybe occasionally dipping down to $40 on sale.
I use a GL with Tomato firmware, and very rarely have any problems with my connection. If I do, it's probably the DSL cutting out.
http://www.polarcloud.com/tomato