Install DD-WRT on your router if compatible.
Mine is a cell phone and dial-up modem (3G!) as well as a router. DD-WRT has no support for either of those features. Based on the Ralink RT5350F chipset, it is otherwise compatible. (16MB RAM, 4MB SSD-HDD)
The two packages available are for routers without the integrated cellular modem module. (Instead, you plug in a separate modem through a USB interface.)
While DD-WRT is stable and reliable, it is not flexible (built cathedral style as a monolithic ROM package). It needs a lot of memory for the full version, which a lot of the cheaper routers don’t have. It has also had its own security vulnerabilities in the past.
I use OpenWRT, which is modular by design (built a la carte style) with a ton of selectable downloadable kernel modules that run on a much wider hardware base and let you implement hardcore network security like full IPsec VPN, DNSSEC, and app-level stateful firewall packet inspection. These features are normally only found in commercial grade routers at 10X the cost.
OpenWRT also has a much more active support community and has way better support for the newer hardware SoCs. However, it is not for newbies, as the modularity does mean you need to have some familiarity with network protocols and standards to know which modules to choose to install.