Finally its done
Thanks a lot deano_ferrari and swerdna for sticking out on this for me, a lot of thanks again 
Here is the solution:
The device was actually acting like a storage device. Here are the steps I undertook to make system recogonise it as a modem instead of a storage device:
Get the device id by using dmesg or devadm.
$ lsusb
Bus 003 Device 003: ID **12d1:140b** Huawei Technologies Co., Ltd.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 138a:0001
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 093a:2510 Pixart Imaging, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 064e:a127 Suyin Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The bold part will be my vendor id and product id. So my product id was “0x140b” and vendor id is “0x12d1”.
Now with this information I took further steps:
$ modprobe -r usb-storage usbserial
$ modeprobe usbserial vendor=0x12d1 product=0x140b
After that execute usb-modeswitch
Now check /etc/usb_modeswitch.confto check if it contains your device definitions. Mine was not there, so I added:
DefaultVendor= 0x12d1
DefaultProduct= 0x140b
TargetVendor= 0x12d1
TargetProduct= 0x140b
# only for reference
# MessageEndpoint=0x07
MessageContent="555342431234567824000000800008FF05B112AEE102000000000000000000"
Now I executed “usb_modeswitch -W”. The output is like
* usb_modeswitch: tool for controlling "flip flop" mode USB devices
* Version 1.0.2 (C) Josua Dietze 2009
* Works with libusb 0.1.12 and probably other versions
Reading config file: /etc/usb_modeswitch.conf
DefaultVendor= 0x12d1
DefaultProduct= 0x140b
TargetVendor= 0x12d1
TargetProduct= 0x140b
TargetClass= not set
DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
MessageEndpoint= not set
MessageContent="555342431234567824000000800008FF05B112AEE102000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
Interface=0x00
InquireDevice enabled (default)
Success check disabled
usb_set_debug: Setting debugging level to 15 (on)
usb_os_find_busses: Found 003
usb_os_find_busses: Found 006
usb_os_find_busses: Found 005
usb_os_find_busses: Found 004
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 003 on 003
usb_os_find_devices: Found 001 on 003
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 006
usb_os_find_devices: Found 002 on 005
usb_os_find_devices: Found 001 on 005
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 002 on 004
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 001 on 004
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 002 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 9 class/vendor specific interface descriptors
usb_os_find_devices: Found 001 on 001
error obtaining child information: Inappropriate ioctl for device
Looking for target devices ...
Found devices in target mode or class (1)
Looking for default devices ...
Found default devices (1)
Accessing device 003 on bus 003 ...
Using endpoints 0x02 (out) and 0x82 (in)
Not a storage device, skipping SCSI inquiry
Device description data (identification)
-------------------------
Manufacturer: HUA�WEI TECHNOLOGIES
Product: HUAWEI Mobile
Serial No.: �������������������
-------------------------
Looking for active driver ...
OK, driver found ("usbserial_generic")
OK, driver "usbserial_generic" detached
Setting up communication with interface 0 ...
Trying to send the message to endpoint 0x02 ...
OK, message successfully sent
-> Run lsusb to note any changes. Bye.
Now here I got /dev/ttyUSB1 and /dev/ttyUSB1
Make changes in /etc/wvdial.conf. Here are my chanages:
[Dialer Defaults]
Modem = /dev/ttyUSB2
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 =
Area Code =
Phone = #777
Username = myusername
Password = my_password
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 300
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1
I first tested with ttyUSB1, but it did not work so I selected ttyUSB2 then.
Ran wvdial from prompt and got connected 
Thanks again to everyone who helped me…
**[size=3]
[size=2]Can anyone help me in automating the above operations :)…[/size][/size]
**