BSNL EVDO in Linux – The Easy Way

Posted on 17 Comments


So you just bought yourself a swanky new BSNL EV-DO broadband Internet device. It works happily on your Windows, fine, as they provide a Windows-friendly CD along with the device that installs the required software and drivers easily. But what about if you want to use your EV-DO in Linux, if you have it? Due to lack of official Linux support, setting up EV-DO in Linux can be quite tricky, but here is how to do it easily, without much fuss.

Linux comes in many flavors (from different vendors), like Ubuntu, openSuSE, Mandriva, Fedora, Mint. If you have one of these, or any modern Linux distro, proceed as follows.

In Linux, plug in the USB modem device. Now check if device nodes for it are created in your /dev folder. Usually, they are like /dev/ttyUSB0, /dev/ttyUSB1, /dev/usb/ttyUSB0, and so on. In most cases, this step should automatically happen. If it doesn’t, then you’ll have to manually create the device nodes for your USB modem by inserting its module in the kernel. To do it:

Check for the device ID of the USB modem. You do this using the following command. Run the command first with the modem unplugged, and then with modem plugged in. Compare the output in both the cases; whichever new entry appears in the list is of your modem.


Within the output that you get, your modem (in most cases a ZTE device), will be listed something like:

Bus 002 Device 004: ID 19d2:fffe ZTE Corporation
Bus 002 Device 004: ID 19d2:fffe

Now using this device ID, you’ll create its device nodes by using this command:

modprobe usbserial vendor=0x19d2 product=0xfffe

This should create the relevant device nodes for the modem in /dev folder. If not, try unplugging and then plugging in the modem. Now your work is half done.

Next, you’ll need these packages installed to configure the modem:

kppp or kinternet (for KDE users)
gnome-ppp (for GNOME users)

After making sure wvdial is installed, edit the file /etc/wvdial.conf to make it look similar to (note – you can use the command wvdialconf to setup the file automatically):

[Dialer Defaults]
Modem = /dev/ttyUSB0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 =
Area Code =
Phone = #777
Username = xxxxxxxxxx
Password = xxxxxxxxxx
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1

Replace xxxxxxxxxx in case of username and password with the 10-digit phone number of your modem. Now, execute this command:


Voila! Your Internet should work now, in full glory. To ease up things a bit, you may want to connect to Internet using a graphical (GUI ) tool everytime. Use kppp (KDE) or gnome-ppp (GNOME) for that.

UPDATE: As pointed out by my friend Yatin, NetworkManager is another great and easy way to setup EVDO. Most modern distros come pre-installed with it. If not, you can always install it manually.

17 thoughts on “BSNL EVDO in Linux – The Easy Way

  1. So you finally worked it out. Too bad you had to use wvdial. I am surprised though that NetworkManager with ModemManager didn’t detect the device in first place. Maybe you didn’t knew about a nifty tool called usb-modeswitch, bummer.
    I didn’t have any problems with any of devices I had tried on with NM/MM, which are: Reliance ZTE (Which has the same Vendor ID and Product ID as yours), Reliance Huawei (new and old), Tata Photon Wiz, Samsung Corby (well not by bluetooth yet), LG phone (forgot the number but a cheap one), Nokia N71 and E71, Sony Ericsson W910i.

  2. @Yatin,

    I had been using EVDO in Linux since more than a year now. At that time, not every distro’s NetworkManager used to setup the device properly. And still, not all the distros come with NetworkManager. But yeah, it’s a good idea to first try to setup the card using NetworkManager. 🙂

    In my Fedora 14 and Ubuntu 10.10, EVDO’s been configured using NM only.

  3. @yatin n @anurag

    i was using mint 8 a lil while back n NM/MM doesnt help in that.. i had to go via wvdial (though my way was a lil different)

    moments ago i installed mint 10 n configured NM for evdo.. its working fine except for 1 MAJOR problem
    ITS RUNNING IN 1X mode 🙁

    i have no clue how to switch to evdo mode so it would be a great help if any of you could guide me through..

    @yatin – thx for the tip.. i’ll try my nokia E63 too with NM..

  4. @anupam
    This is a real weirdo. Try configuring it with wvdial and see it that makes any difference.

  5. @anurag – surely wvdial works but it has problem of its own.. NM is far better when used for connections.. anyways i figured that the 1x logo is permanent even if it starts providing EVDO speed.. may be it refers to CDMA.. thx..

  6. Thanks for sharing back the info, Anupam. 🙂

  7. hey i am new to linux dont know how to use this code plz help me how to install my evdo .. its not showing and notification or pop up like usb connected etc .. just stay calm when i mounted the evdo … plz say how to make my evdo work

  8. @teja
    Which Linux distro are you using?

  9. I did all till the modprobe command but it does,nt recognize my EVDO as a modem(CD-Rom).Help!! (linux mint 12)

  10. Hello sir, please give me the necessary details(step-by-step procedure) of using BSNL EVDO data card(800m) on Fedora 18(32 bit) OS, KDE Desktop environment. please reply me as early as possible. Thanking you.

  11. @Pinto Das
    Using BSNL EVDO in the latest Fedora should be very simple. Just use NetworkManager for the purpose. NetworkManager is that little network icon you see in the system tray. Click on it and choose to create a new “Mobile Broadband” connection.

  12. mai uper dikhaye gye EV-DO device lena chata hun kya ap me se koi bta skta hai ki ye device kaise milegi kyoki BSNL office bolte hai ki ye device ab nhi ati hi

  13. Hi I followed the above steps in linux mint but it goes upto the point of contacting secondary dns server(my local IP address is assigned) but then it just remains there. Any help on this?? Thanks.

  14. BSNL EVDO Data Card Complete Queries Answered

  15. in every forum i see the same thing – install wvdial and gnome-ppp. but how? if i put the command ‘sudo apt-get install wvdial and gnome ppp’ i get only error message something like’E.package wvdial not found’. first i tried with ubuntu 10 and now i have ubuntu 14.04.

  16. @Raj – wvdial and *-ppp have become obsolete because of the versatile NetworkManager. In fact, these programs are no longer maintained or available in the repositories of most recent releases of major distros. Since more than two years, NetworkManager has never disappointed me. And the good news is that NetworkManager comes pre-installed with all major distros. Try that out 🙂

  17. Hello everyone, thanks for providing this info, i run Ubuntu, Debian, Red Hat Enterprise Linux and NetBSD as VMware guests on Windows laptop, so am familiar only with NAT and vmnetconfig which gives away ip static ip’s 1 to 127 and dynamic ip’s from 128 to 254 to guest operating systems. Setting up the BSNL modem using Network Manager may be straightforward but trying installing the driver software that comes with D Link 3G modem is a bit lengthy you need Qt installed for the gui to run and it is a bit more involved process.

    If you ever have tried installing third-party modem drivers in SCO Unix for example you will know how difficult it is.

    Thanks !

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.