Monday, April 19, 2010

Running wireless internet services of BSNL/Airtel/Idea using Huawei E156G 3g Wireless USB Modem (Dongle) on Red Hat Enterprise Linux 5 (RHEL 5)

Huawei E156G 3G Wireless HSDPA USB modems (dongles) are very easy to install in Windows Operating System but many may find it difficult to operate it in Red Hat Enterprise Linux Client Edition 5.x. These dongles whether it comes packaged with BSNL, Airtel or Idea simcards are generally Huawei E156G Wireless USB 3G Modems.
Whenever we plugin the dongle in a system installed with Red Hat Enterprise Linux 5.x, it will recognize it as a disk drive. The kernel 2.6.18-x available with Red Hat Enterprise Linux is not able to recognize it as a modem (it can be checked using the command lsusb ). The kernel version 2.6.20 or higher have the capability to recognize it as a modem.  Operating System like Ubuntu 9.10 and Fedora 11 have kernel version higher than 2.6.20 and these modems are detected smoothly in these OS. So what do we do? I have created a small and simple step by step guide for the impatient lot who can't wait for RHEL version 6 to release. Simply follow the steps below to recompile the kernel and use the wireless modem :-

Step 1:- Login into the system as root and goto www.kernel.org and download the kernel version 2.6.27.46
Step 2:- Make sure that the package ncurses-devel, gcc, wvdial and kppp are installed.
Step 3:- Copy the linux-2.6.27.46.tar.bz2 file to /usr/src
Step 4:- Issue the command in terminal:- tar jxvf linux-2.6.27.46.tar.bz2 to untar and uncompress the file in the directory /usr/src
Step 5:- Goto the directory using cd in terminal /usr/src/linux-2.6.27.46 and issue the command:- make menuconfig
Step 6:- Just save and come out and issue the command in terminal :- make
Step 7:- Issue the command in terminal:- make modules
Step 8:- Issue the command in terminal:- make modules_install
Step 9:- Issue the command in terminal:- make install
Step 10:- Reboot the system and you will see the new kernel appear in the grub bootloader list. Select the new kernel and boot.
Step 11:- Login as root user and plugin in the Huawei USB wireless modem (the dongle).
Step 12:- Issue the command in terminal:- lsusb to view the device trail. You will find that OS has started detecting the dongle as a modem.
Step 13:- You will see that a device named ttyUSB0 is created in the folder /dev
Step 14:- At this stage we can use either wvdial or kppp program to connect to internet. You have to open a terminal each time to use wvdial whereas kppp is GUI based and has a neat graphical statistics display. Choice is yours.

Using wvdial
Step 15 (a):- Issue the command in terminal:- wvdial and you will see that the modem is detected.
Step 15 (b):- Issue the command in terminal:- wvdialconf /etc/wvdial.conf
Step 15 (c):- Edit the file wvdial.conf in /etc folder using gedit or vi editor
Step 15 (d):- Uncomment the lines having Phone, Username and Password by removing ;
Step 15 (e):- Change  the Phone to *99#
Step 15 (f):- Change the Username and Password to dummy or anything you like as it doesn't authenticate with these parameters but it should be there.
Step 15 (g):- Add a line below Init2 like:- Init3 = AT + CGDCONT=1,"IP","bsnlnet"
Note :- For Idea replace "bsnlnet" with "internet" and for Airtel replace "bsnlnet" with "airtelgprs".


Using KPPP
Step 16 (a):- Goto Applications -> Internet -> KPPP (Start KPPP)
Step 16 (b):- Click on Configure and goto Modems and Select New
Step 16 (c):- Give a new Modem name say 'Huawei'
Step 16 (d):- Select Modem device as /dev/ttyUSB0
Step 16 (e):- Select Connection Speed as 9600 bauds
Step 16 (f):- Now goto Modem tab and click on Query Modem and you will see that the modem responds. Close the window.
Step 16 (g):- Now click the Modem Commands button and for using BSNL services put the the following string in Initialization string 2 :-  AT + CGDCONT=1,"IP","bsnlnet". For Airtel services simply replace "bsnlnet" with "airtelgprs" and for Idea services replace the string "bsnlnet" with "internet". Press OK and come out.
Step 16 (h):- Now goto Accounts tab and select New.
Step 16 (i):- Select Manual Setup
Step 16 (j):- Give a name to the new connection say 'BSNL'
Step 16 (k):- Besides the Phone Number text box use the Add button to add a phone number as *99#
Step 16 (l):- Put any value in Username and Password as it does not authenticate with these parameters. 

Step 16 (m):- Save the configuration by pressing OK and click on Connect to use.

Thats it! Enjoy surfing internet!


Disadvantages of using the technique of compiling new kernel :-
1. The system becomes slow as it is not an optimized kernel and may take more time to boot.
2. You may get 'no buffer' error while using any terminal command. Maybe some options have to be selected while using menuconfig which I have not figured out yet. (Any help will be appreciated).