If you have a crappy old router there are open source ways to upgrade them using alternative firmwares:
There’s Tomato for Linksys’ WRT54G/GL/GS, Buffalo WHR-G54S/WHR-HP-G54 and other Broadcom-based routers.
It features a new easy to use GUI, a new bandwidth usage monitor, more advanced QOS and access restrictions, enables new wireless features such as WDS and wireless client modes, raises the limits on maximum connections for P2P, allows you to run your custom scripts or telnet/ssh in and do all sorts of things like re-program the SES/AOSS button, adds wireless site survey to see your wifi neighbors, and more.
Then there’s dd-wrt based on the Linksys software but since completely rebuilt.
Among other features not found in the original Linksys firmware, DD-WRT adds the Kai Daemon for the Kai Console Gaming network, WDS wireless bridging/repeating protocol, Radius Authentication for more secure wireless communication, advanced Quality of Service controls for bandwidth allocation, and software support for the SD-Card hardware modification.