I signed up for Mobile Broadband with Singtel and got a free Huawei E169 dongle. It is a pretty powerful thing with a 3G modem, a mini-SD card reader and a emulated CD-ROM drive. Unfortunately, this confuses most systems. Since I don’t really care for the mini-SD card reader or the windows drivers in the emulated CD-ROM drive, this guide will be about how to get the 3G modem to work.

It’s really simple actually but there was alot of trial and error. I’ve tested it on multiple computers and on pro-longed usage. I’m using Ubuntu 8.04 and it works beautifully. It should work with all other systems too. Here are the 3 steps required -

(1) Download the USB Modeswitch. You require this to switch to the 3G modem full-time. Compile it. If you’re on x86 systems and a little lazy, you can download the binary here.

(2) Run -

$ lsusb
Bus 004 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem

Run -

$ ./usb_modeswitch -v 0×12d1 -p 0×1001 -H 1

* usb_modeswitch: tool for controlling “flip flop” mode USB devices
* Version 0.9.4 (C) Josua Dietze 2008
* Works with libusb 0.1.12 and probably other versions

Looking for default devices
Found default devices (1)
Prepare switching, accessing latest device
OK, Huawei control message successfully sent.
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye

(3) Now you can dial up using most dialup software. wvdial works best for me. Here is what I run -

$ wvdial /etc/wvdial.conf

The configuration file reads like this -

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”internet”
Stupid Mode = 1
ISDN = 0
Modem Type = Analog Modem
Phone = *99#
Modem = /dev/ttyUSB0
Username = NA
Dial Command = ATDT
Password = pass
Baud = NA

Somehow, it managed to detect the DNS servers. For Singtel, they are - 165.21.100.88 and 165.21.83.88. If you are on M1, Starhub or other ISPs and have success with them, please share your experience and configuration settings below.

Hope that helps!