This year, I've been doing a lot of work for clients in the Canary Wharf area of London. With banking/finance clients whose IT systems are carefully regulated, I can't use their Internet connections to access my e-mail, etc., so I need to have my own Internet access. For a while a tried using the various Wi-Fi providers who have hotspots at Canary Wharf, but the results were dismal. While there are quite a few hotspots, more often than not I found that either (a) the hotspot I was trying was not working, or (b) even of the hotspot seemed to be working and allowed me to log-in, etc., I still didn't get an actual connection. Note that I run openSUSE (was 10.3, now 11.0) on my laptop, which may have made some difference to the results.
Given the dismal results, I decided instead to try using a 3G modem. After a bit of Web research, I found that the Huawei E220 3G USB modem works with Linux (there is support for it built into recent kernels). I was able to get one from "3" in the UK (they had to order it in); by default they are now offering smaller 3G modems that look like a USB pen drive, but those don't currently work with Linux. The £15/month that "3" charges (5G limit) compares well to the £10/month I was paying for dismal Wi-Fi access.
To get the modem working, I more-or-less followed nerdgirl's instructions. These use "wvdial", which you need to install. I edited "/etc/wvdial.conf" to be
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Stupid Mode = 1 Modem Type = Analog Modem ISDN = 0 Phone = *99# Modem = /dev/ttyUSB0 Username = three Dial Command = ATDT Password = three Baud = 9600 [Dialer hsdpa] Init2 = ATZ Init3 = ATE0 V1 &D2 &C1 S0=0 +IFC=2,2 Init5 = AT+CGDCONT=1,"IP","three.co.uk" ISDN = 0 Modem = /dev/ttyUSB0 Modem Type = Analog Modem Baud = 460800
The user name and password are arbitrary. To run "wvdial", I use the following script:
#!/bin/bash umount /media/Mobile_Connect sleep 3 rmmod usb-storage rmmod option usbserial modprobe usbserial vendor=0x12d1 product=0x1003 sleep 3 wvdial hsdpa
If it doesn't work the first time, trying running it a second or third time. The quality and speed of the connection will depend on how good your 3G signal is. In particular, within a minute of the modem connecting, the script tests whether DNS lookup is working, and prints the result. I often seem to be in a weaker signal area, and the DNS often doesn't work the first time. I simply Ctrl-C out of the script and re-run it until I get working DNS, which can require a handful of attempts.
All that said, it works, and the result is vastly more reliable and useful than using the Wi-Fi hotspots at Canary Wharf ever was. I'm pleased with it.