For the past several months I have been commuting by train to Zurich and enjoy hacking on my laptop. For a while, I was using my iPhone to tether, but it was slow and unreliable, especially in the longer stretches between towns. So I got myself an MF60 Hotspot from Swisscom. It acts as a WIFI router, does several 3G/2G bands and auto-switches pretty quickly. The battery life is not great, I only get about 3-4 hours tops, but connected to the laptop via USB, it will keep going for a long time.
Managing it, however, is annoying. Sadly, the built-in web administrative interface is not a shining example of usability. It’s functional but klunky - you can do all that you would expect with an access point: manage the settings and view usage stats. That’s important since my account with Swisscom has a limit on monthly data, I needed to keep track of my usage. But it is a pain to use with the tiny links and non-sensical organization of the menu pages.
Another problem is that the network gets stuck sometimes (like after a long tunnel). This requires a reset, which means powering off/on (a 20-30 sec ordeal), or going through the previously-deemed crap admin interface.
I too on the task of peeking through the HTML and Javascript with Firebug, and wrote a set of scripts to help me do basic things fro the command-line: view stats, reconnect, check signal strength, etc. Last week, I refactored it and released it as a Gem.
$ sudo gem install mf60
More details are at the project Github page.