This Saturday I am to go set up a wireless home network for a customer. First off, it's not as simple as it sounds because of two main reasons: 1. other than 3G, there's no other option to get connected to the Internet where my customer lives and 2. to get the deal, I opted to buy a cheaper router that doesn't come with 3G support from the manufacturer but would still allow flashing the firmware with something that comes with 3G support.
For this, I bought an ASUS WL-500g Premium V2 wireless G router that has two USB 2.0 ports and is supported by several alternative open-source firmwares. The firmware I used is provided by koppel.cz who modifies another firmware by Oleg adding CDMA/UMTS/HSDPA/4G support to it. The firmware has grown a lot it seems. People have had connection problems with it in the distant past but the newest version worked great for me.
Here's how I did it. I basically read a lot of forum posts, kept a lot of tabs open in case I screwed up and wouldn't know what to do and then downloaded the latest firmware at the time, "WL500gpV2-220.127.116.11-10-USB-1.71.trx" to be exact, set my IP to static 192.168.1.12 and used the Asus Web interface to flash the file on the router. Three minutes of high tension while the firmware was flashed and then came the relief. :)
To get connected, I used the Windows software provided with the 3G stick to disable the SIM PIN code, configured the WAN to USB mode, set the USB to UMTS mode, set the APN and dial numbers (different for every provider), I didn't need a username or password in my case and lastly I rebooted the router. My particular 3G modem is a Huawei E160E.
So far, I have flashed 3 routers and I didn't brick any of them. Oh joy... ^_^
Do I really need to remind you that I'm not responsible for anything you do with your device(s)? So be careful, check your firmware md5sums or download two copies and compare md5s and don't forget to secure your power plugs, UPSes, network cables, jacks, IPs, pants...