Using Tata Indicom CDMA Data Card In Fedora Linux

I have had the opportunity to use Tata Indicom data card to connect to Internet using Fedora Linux. It is fairly simple to connect. You will need wvdial dialer software.

From the wvdial man page:

wvdial - PPP dialer with built-in intelligence.

wvdial is an intelligent PPP dialer, which means that it dials a modem and starts PPP in order to connect to the Internet.

Install it using your existing Internet connection. From the terminal as root type:

yum install wvdial 

Connect the USB data card, hardware, to the USB port. When the kernel detects the new device you will see messages like below. Use the tail command to view the messages

tail /var/log/messages

The output should be similar to

Jan 22 22:28:07 localhost kernel: usb 4-1: new full speed USB device using ohci_hcd and address 14
Jan 22 22:28:07 localhost kernel: usb 4-1: device descriptor read/64, error -62
Jan 22 22:28:07 localhost kernel: usb 4-1: device descriptor read/64, error -62
Jan 22 22:28:08 localhost kernel: usb 4-1: new full speed USB device using ohci_hcd and address 15
Jan 22 22:28:08 localhost kernel: usb 4-1: device descriptor read/64, error -62
Jan 22 22:28:08 localhost kernel: usb 4-1: device descriptor read/64, error -62
Jan 22 22:28:08 localhost kernel: usb 4-1: new full speed USB device using ohci_hcd and address 16
Jan 22 22:28:09 localhost kernel: usb 4-1: device not accepting address 16, error -62
Jan 22 22:28:09 localhost kernel: hub 4-0:1.0: unable to enumerate USB device on port 1
Jan 22 22:28:09 localhost kernel: usb 4-1: new full speed USB device using ohci_hcd and address 18
Jan 22 22:28:10 localhost kernel: usb 4-1: configuration #1 chosen from 1 choice
Jan 22 22:28:10 localhost kernel: cdc_acm 4-1:1.0: ttyACM0: USB ACM device
Jan 22 22:28:10 localhost kernel: usb 4-1: New USB device found, idVendor=1b7d, idProduct=070a
Jan 22 22:28:10 localhost kernel: usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 22 22:28:10 localhost kernel: usb 4-1: Product: Qualcomm CDMA Technologies MSM
Jan 22 22:28:10 localhost kernel: usb 4-1: Manufacturer: Qualcomm, Incorporated

From the above message we can also determine the device name of the hardware. Mine was detected as ttyACM0.

You can also obtain this information using dmesg. In the terminal type:

dmesg

and look for the USB device information.

We are now ready to configure the dial-up settings.

Things to know.

  • The device name in this example is /dev/ttyACM0
  • The Tata Indicom phone number we dial is #777
  • The Tata Indicom username is 'internet' which is same for all users
  • The password is also 'internet'
  • From your favourite editor open /etc/wvdial.conf

    vi /etc/wvdial.conf

    In the editor type the following

    [Modem 0]
    Modem = /dev/ttyACM0
    Baud = 115200
    Dial Command = ATDT
    FlowControl = Hardware (CRTSCTS)
    Init1 = ATZ
    [Dialer Defaults]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Modem Type = Analog Modem
    Phone = #777
    ISDN = 0
    Password = internet
    New PPPD = yes
    Username = internet
    Stupid Mode = 1
    Inherits = Modem 0

    Save the file.

    Configure the DNS server names. Add the name server details to /etc/resolv.conf

    vi /etc/resolv.conf

    In the editor window type

    nameserver 202.54.1.18
    nameserver 203.197.12.30

    Save the file.

    We are now done with the configuration. Time to connect!

    From the terminal type:

    wvdial

    Yes. We just use a one word command to connect to the Internet. You will see the connect messages similar to:

    --> WvDial: Internet dialer version 1.60
    --> Cannot get information for serial port.
    --> Initializing modem.
    --> Sending: ATZ
    ATZ
    --> Sending: ATQ0
    --> Re-Sending: ATZ
    OK
    ATQ0
    OK
    ATZ
    --> Cannot get information for serial port.
    --> Initializing modem.
    --> Sending: ATZ
    OK
    ATZ
    OK
    --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    OK
    --> Modem initialized.
    --> Sending: ATDT#777
    --> Waiting for carrier.
    ATDT#777
    CONNECT
    --> Carrier detected.  Starting PPP immediately.
    --> Starting pppd at Thu Jan 22 22:54:51 2009
    --> Pid of pppd: 4591
    --> Using interface ppp0
    --> pppd: [18]?c [08]?c 
    --> pppd: [18]?c [08]?c 
    --> pppd: [18]?c [08]?c 
    --> pppd: [18]?c [08]?c 
    --> local  IP address 59.161.153.176
    --> pppd: [18]?c [08]?c 
    --> remote IP address 172.23.129.14
    --> pppd: [18]?c [08]?c 
    --> primary   DNS address 203.197.12.30
    --> pppd: [18]?c [08]?c 
    --> secondary DNS address 202.54.1.18
    --> pppd: [18]?c [08]?c 

    wvdial started the ppp daemon and connected to Internet. You can see the primary and secondary DNS server IP addresses in the message.

    Test your Internet connectivity.

    ping google.com
    PING google.com (72.14.205.100) 56(84) bytes of data.
    64 bytes from qb-in-f100.google.com (72.14.205.100): icmp_seq=1 ttl=236 time=619 ms
    64 bytes from qb-in-f100.google.com (72.14.205.100): icmp_seq=2 ttl=236 time=659 ms
    64 bytes from qb-in-f100.google.com (72.14.205.100): icmp_seq=3 ttl=236 time=682 ms
    64 bytes from qb-in-f100.google.com (72.14.205.100): icmp_seq=4 ttl=236 time=657 ms

    Isn't it rejoicing to stay connected to the Internet?

    To disconnect from the Internet CTRL+C. This is equivalent to hitting the disconnect button on a graphical dialer program.

    ^CCaught signal 2:  Attempting to exit gracefully...
    --> Terminating on signal 15
    --> pppd: [18]?c [08]?c 
    --> Connect time 5.6 minutes.
    --> pppd: [18]?c [08]?c 
    --> pppd: [18]?c [08]?c 
    --> Disconnecting at Thu Jan 22 23:00:38 2009

    I hope you have been able to connect to the Internet using your Tata Indicom USB data card.

    After using Tata Indicom CDMA data card for a while I have encountered a nuisance. I frequently use different providers to connect to Internet. At office I use Wi-fi, at home it is a different Wi-fi, at other places other providers. I use NetworkManager to connect to different networks with just two clicks. NetworkManager overwrites /etc/resolv.conf each time I choose a different network. Because of this I have had to manually edit /etc/resolv.conf frequently. I use a simple script to overcome this issue.

    The script replaces copies /etc/resolv.conf/tata to /etc/resolv.conf and executes the command wvdial. To connect to Internet I execute this script. Here are the steps to set it up.

    1. Keep a Tata Indicom specific file.

    vi /etc/resolv.conf.tata

    In the editor window type
    2.

    nameserver 202.54.1.18

    3. Save the file and exit.

    4. Write a custom script to replace /etc/resolv.conf and dial

    vi /root/tata

    In the editor window type:
    5.

    cp /etc/resolv.conf.tata /etc/resolv.conf
    wvdial

    6. Save the file and exit.

    7. Set permissions to execute the script.

    chmod 777 /root/tata

    8. To connect to the Internet type

    /root/tata

    9. If you want make it simpler, use an alias. Add the following line to /root/.bashrc

    alias "tata=/root/tata"

    After you login to the shell next, you will be able to use the new alias. To connect to the Internet type

    tata

    How cool can the terminal be!

Taxonomy upgrade extras: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.