I’m on my way to my hometown now for this 4 days CNY break, and thanks to this Huawei E600 UMTS data card, I’m able to post this blog entry while having some light meal on the roadside. I’m a registered Celcom 3G unlimited plan, and with it I can enjoy 3G connection with my laptop wherever possible, with GPRS as fallback if 3G is not available in the area.
Setting up the data card is supposed to be a very easy task in Linux, but before I get to know the right way to actually get it to work, I screw up the data card for few times that I need to send it for warranty to have the firmware flashed after following some online guides. It was not a pleasant journey, and I hope with this post others wouldn’t need to go through the path that I’ve been to.
The first thing to do is to make sure you have PCMCIA support in the kernel.
Bus options (PCI, PCMCIA, EISA, MCA, ISA) —>
PCCARD (PCMCIA/CardBus) support —>
PCCard (PCMCIA/CardBus) support
CardBus yenta-compatible bridge support
and you also need the driver for your data card
Device Drivers —>
USB support —>
OHCI HCD support
USB Serial Converter support —>
USB Serial Converter support
[*] USB Generic Serial Driver
USB driver for GSM and CDMA modems
and support for PPP connection
Device Drivers —>
Network device support —>
PPP (point-to-point protocol) support
PPP support for async serial ports
That’s all needed in the kernel, and now it’s time to install the required software. As I’m using comgt and kppp, the rest of the post will be specific to these 2 applications, though there are other methods in establishing the connection.
Let’s first install comgt:
wget http://optusnet.dl.sourceforge.net/sourceforge/comgt/comgt.0.32.tgz
tar xvzf comgt.0.32.tgz
cd comgt.0.32
make
sudo make install
kppp is a KDE application to handle ppp connections and your distro might already have it installed in your system. Here’s the configuration file used to establish the connection (copied from the net, but some parts of it are not important as comgt will fetch the pre-set settings from the data card itself, in our case specific to Celcom):
root@herugrim ~ # cat .kde/share/config/kppprc
[Account0]
AccountingEnabled=0
AccountingFile=
Authentication=3
AutoDNS=1
AutoName=0
BeforeConnect=xterm -e /usr/local/bin/comgt -x -d /dev/ttyUSB2
BeforeDisconnect=
CallbackPhone=
CallbackType=0
Command=
DNS=
DefaultRoute=1
DisconnectCommand=
Domain=
ExDNSDisabled=0
Gateway=0.0.0.0
IPAddr=0.0.0.0
Name=Celcom3G
Password=1234
Phonenumber=*99***1#
ScriptArguments=
ScriptCommands=
StorePassword=1
SubnetMask=0.0.0.0
Username=user
VolumeAccountingEnabled=0
pppdArguments=defaultroute,crtscts,modem,noipdefault,usepeerdns,novj,debug
[Account1]
pppdArguments=
[General]
AutomaticRedial=0
DefaultAccount=Celcom3G
DefaultModem=HUAWEI
DisconnectOnXServerExit=1
DockIntoPanel=1
NumberOfAccounts=2
NumberOfModems=3
PPPDebug=0
QuitOnDisconnect=0
RedialOnNoCarrier=0
ShowLogWindow=1
[Graph]
Background=255,255,255
Enabled=true
InBytes=0,0,255
OutBytes=255,0,0
Text=0,0,0
[Modem0]
AnswerResponse=CONNECT
AnswerString=ATA
BusyResponse=BUSY
BusyWait=0
ConnectResponse=CONNECT
DLPResponse=DIGITAL LINE DETECTED
Device=/dev/ttyUSB0
DialString=ATD
Enter=CR
EscapeGuardTime=50
EscapeResponse=OK
EscapeString=+++
FlowControl=Hardware [CRTSCTS]
HangUpResponse=OK
HangupString=+++ATH
InitDelay=50
InitResponse=OK
InitString=AT+CFUN=1
InitString1=AT+CGDCONT=1,"IP","gprsinternet","",0,0
Name=HUAWEI
NoCarrierResponse=NO CARRIER
NoDialToneDetection=ATX3
NoDialToneResp=NO DIALTONE
PreInitDelay=50
RingResponse=RING
Speed=460800
Timeout=82
ToneDuration=70
UseLockFile=1
Volume=0
VolumeHigh=M1L3
VolumeMedium=M1L1
VolumeOff=M0L0
WaitForDialTone=1
[WindowPosition]
WindowPositionConWinX=487
WindowPositionConWinY=498
WindowPositionStatWinX=815
WindowPositionStatWinY=485
That’s all the preparations needed, and you should be able to connect to
Celcom 3G. Here’s a screenshot of my connection.