dhiraj dot gaur _at_ gmail dot com
dhiraj _at_ mail dot nplindia dot ernet dot in
|Revised by Machtelt Garrels for inclusion in TLDP.|
This HOWTO is for people who have Reliance or TATA Indicomm WLL phones and wish to access Internet on their desktops/laptops running GNU/Linux using serial cable (NOT a USB CABLE).
No software provided by Reliance was used, but I did search the Internet for the modem query strings which are required during PPP setup.
I have tried this setup on Slackware Linux 10.1 with a 2.4.29 kernel and I am pretty confident that this trick will work on other Linux distributions as well.
The HOWTO assumes that you have a fair knowledge about your Linux distribution (BSD or System V style) and that PPP support is pre-compiled in your Linux kernel.
In this HOWTO we are talking about the serial cable for the following reasons:
The cable provided by Reliance or TATA is very expensive (about 1400 rupees) and the software provided supports only MS Windows.The cable typically has a USB interface on one end and an RJ-45 interface on the other. However, for these phones phones a cheaper cable is available on the market (only 100 rupees). This cable has a serial interface on one end and an RJ-45 on the other. You can make this cable yourself. The procedure is discussed later in this HOWTO. Why waste money when you can assemble your own cable or purchase the cheaper one?
USB cables have some glitches for the WLL handsets, especially the LG ones. I have no idea about other handsets, your input is welcome if you know about other sets. The advantage in using a USB cable is that you can connect at 153.6 kbps as the handsets have an inbuilt modem which is capable for speeds upto 170kbps.
On the numerous forums I searched on the net I found that all talked only about the USB cable and not about the serial one. I thought it was high time to write this HOWTO to help fellow Linux users.
|But I have a USB cable!|
If you have the USB cable after all, visit http://www.hackgnu.org/ril-howto.html for information about setting up Internet access using LG/SAMSUNG CDMA sets.
This link is also helpful: http://www.linuxsolved.com/forums/ftopic1178.html
Unfortunately the LG/SAMSUNG CDMA mobile uses USB cables only, but the good news is that these USB cables are also available on the market. Purchase them at your local computer vendor's. As per my last information such cables cost only 200 rupees.
You will need a GNU/Linux system with a kernel having PPP support pre-compiled. I have tested that both the 2.4.29 kernel and the 2.6.x series kernel work fine. Performance seems to be better using a 2.6.x kernel. If you see that some kernel modules are missing then configure and recompile the kernel with PPP support.
Check with Section 4 for the configuration of PPP.
A connecting serial cable which has on one end an RJ-45 connector which plugs into the phone and on the other end has an RS-232 serial connector which is plugged into the serial port of the PC.
I built my cable myself. I used a CAT 5 cable which has four pairs of UTP copper. CAT 5 cable is the same cable which is used for networking your system to a LAN. While you can use any type of cable, CAT 5 will assure a good quality of the signal that is sent over the wire. A typical configuration looks like this:
RS-232C Serial Female connector, which is plugged into the PC:
___________________ \ / \ 5 4 3 2 1 / \ 9 8 7 6 / \___________/
Now let's start with the PIN Configuration
PIN 1 - White Brown cable
PIN 2 - Blue cable
PIN 3 - White Green cable
PIN 4 - Green cable
PIN 5 - White Blue cable
PIN 6 - Brown cable
PIN 7 - White Orange cable
PIN 8 - Orange cable
PIN 9 - Leave empty (we are only using 8 pins)
|Serial connection details|
Three strings would be enough for a serial connection, but it turned out that the signal is better when you use 5. The other strings are used for extra rigidness and support of the cable.
Now on to the RJ-45 connector, which is plugged into the WLL Phone RJ-45 jack:
[8 7 6 5 4 3 2 1] ---- -
1 - White Orange
2 - Orange
3 - White Green
4 - Blue
5 - White Blue
6 - Green
7 - White Brown
8 - Brown
|How to hold the connector|
If you are confused as to which way to hold the connector, make sure that you are holding the connector in such a way that its notch pin is facing towards the floor and that the open portion (portion from where the wires enter) is facing away from you.
To get Internet services activated on your handset you may contact the customer care center of your service provider. In the case of the Reliance the service is pre-activated.
For establishing the connection on a Reliance, the user name is the phone number without the prefix 0 in the STD code. For instance, if your STD code is 0124 and telephone number is 3456789 then your user name is 1243456789. Your password is the same as your user name. When using the TATA Indicomm user name and password are "internet" (without quotes).
Although PPP support is provided in almost all Linux distributions but it is still better to check whether it is present on your system. You can use checkconfig or, better still, look into the /usr/sbin directory and locate PPP binaries with the command
ls -al ppp*
If you get a listing like this:
-rwxr-xr-x 1 root root 3438 2005-05-28 14:56 ppp-go* -rwxr-xr-x 1 root bin 1787 2004-02-26 21:36 ppp-off* lrwxrwxrwx 1 root root 6 2005-05-28 14:17 ppp-on -> ppp-go* lrwxrwxrwx 1 root root 7 2005-05-28 14:17 ppp-stop -> ppp-off* -rwxr-xr-x 1 root bin 346812 2004-02-26 21:36 pppd* -rwxr-xr-x 1 root bin 37916 2004-02-26 21:36 pppdump* -rwxr-xr-x 1 root bin 25936 2003-03-02 22:05 pppoe* -rwxr-xr-x 1 root bin 22308 2003-03-02 22:05 pppoe-relay* -rwxr-xr-x 1 root bin 35084 2003-03-02 22:05 pppoe-server* -rwxr-xr-x 1 root bin 12028 2003-03-02 22:05 pppoe-sniff* -rwxr-xr-x 1 root bin 58527 2004-02-26 21:36 pppsetup* -rwxr-xr-x 1 root bin 9192 2004-02-26 21:36 pppstats*
then PPP support is definitely present.
Similarly, look into /etc/ppp directory, which contains the PPP options file and some other files configuring PPP:
-rw------- 1 root root 78 2004-02-26 21:36 chap-secrets -rw------- 1 root root 1625 2005-05-28 14:35 connect-errors -rw-r--r-- 1 root root 938 2003-03-02 22:04 firewall-masq -rw-r--r-- 1 root root 836 2003-03-02 22:04 firewall-standalone -rwxr-xr-x 1 root root 1208 2005-05-28 14:56 ip-down* -rwxr-xr-x 1 root root 1208 2005-05-28 14:29 ip-down.OLD* -rwxr-xr-x 1 root root 1945 2005-05-28 14:56 ip-up* -rwxr-xr-x 1 root root 1945 2005-05-28 14:29 ip-up.OLD* -rw------- 1 root root 541 2005-05-28 14:58 options -rw------- 1 root root 656 2005-05-28 14:56 options.demand -rw-r--r-- 1 root root 9975 2005-05-28 11:21 options.old -rw------- 1 root root 216 2005-05-28 14:56 pap-secrets drwxr-xr-x 2 root root 4096 2003-03-02 22:05 plugins/ -rw-r--r-- 1 root root 104 2003-03-02 22:04 pppoe-server-options -rw-r--r-- 1 root root 4562 2003-03-02 22:04 pppoe.conf -rw------- 1 root root 129 2005-05-28 15:12 pppscript -rw------- 1 root root 8941 2005-05-28 14:56 pppsetup.txt
For the sake of safety do copy your original options file to a file options.old so that you can revert back to your original setup should you have troubles.
See the PPP HOWTO Chapter 10 for more information on PPP support in the Linux kernel.
Currently Reliance comes with one of two brands of handsets: LG and Samsung. TATA Indicom also provides two handsets: LG and AXESSTEL.
Plug the cable to the phone and also to the system.
It is important to note that all these phones act as a serial modem so they do not require a driver or anything. After you have connected your phone to the cable, the cable is plugged in either COM1 or COM2 (and not COM3 or COM4, as these are virtual ports).
COM1 in LINUX is /dev/ttyS0
COM2 is LINUX is /dev/ttyS1
Your phone modem works on either of the two ports, but I suggest that first try /dev/ttyS1, so as not to disturb other peripherics on your system that are also using a serial port, which would then usually be on /dev/ttyS0.
First check if your COM port is fine using the command
setserial /dev/ttyS1 -a
If it displays something like this:
dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3 Baud_base: 115200, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal skip_test
then your COM port is fine. If this does not work, it is possible that PPP support is not configured after all. Return to Section 4 to check. If you are sure that PPP support is configured on your system, maybe the problem is with the COM port. You could try the other port in that case.
Now go to the shell and type
If this prints nothing, your phone is configured. Type CTRL+C to exit.
If your modem is not configured, the cat command would give an error message like this:
cat: /dev/ttyS1: No such device
Alternately, in case you use KDE, start the KPPP program: go to the desktop and press Alt+F2 and type "kppp" in the box which appears. This will start KPPP.
Testing using KPPP:
Click on theThere add a new modem on /dev/ttyS1and click button. Go to the tab. . Now select the newly created modem and click the button. In the new box which appears, select and then click . If the modem is properly set then you will get the proper status of the modem. It will first say something like "Finding Modem", then some more messages.
BE SURE TO UNCHECK THECHECKBOX in the modem properties, else it may give some random errors.
If all is fine you will be presented with a window with some blank textboxes and you can go ahead.
Make an easy link to your modem device:
ln -s /dev/ttyS1 /dev/modem
Now change to the /usr/sbin directory and look for ppp files. Look for either a pppsetup or a pppconfig script. You may directly start this script to set up PPP on your system. On my Slackware system I typed pppsetup and started the script. This script asks for various parameters for connecting via the ISP.
It first asks for the phone number to dial -- enter "atdt#777", where 777 is replaced by the number that you need to dial.
It then asks for the modem -- select /dev/ttyS1
Baud Rate -- select "115200"
Callback -- Answer "NO"
Modem INIT String -- "ATZ OK "at+crm=1" OK"
ISP Domain Name -- Leave blank
DNS Server Address -- Enter a valid DNS Server IP, for instance "220.127.116.11" or "18.104.22.168", or leave blank
Authentication -- "PAP"
Refer to Section 3 for Username and Password.
Finally it shows you your configuration.
Some more work needs to be done. We need to edit the options file present in the /etc/ppp folder. We need to check if the following entries are present in the file:
lock defaultroute noipdefault modem /dev/ttyS1 115200 crtscts noauth passive asyncmap 0
|The noauth option|
Remember that noauth is by default commented; you need to uncomment it.
You can use egrep -v '#|^ *$' /etc/ppp/options to list only the options present in this file so as to quickly judge which ones are missing or incorrect.
For testing purposes log in as root and open two different shells.
In one shell issue the command
tail -f /var/log/messages
Start the PPP connection in the other shell using the command
In the first shell you will see various messages indicating that the modem is initialized and that the connection is being established. My /var/log/messages looks like this:
May 29 06:14:06 dhiraj pppd: pppd 2.4.2 started by root, uid 0 May 29 06:14:07 dhiraj chat: timeout set to 60 seconds May 29 06:14:07 dhiraj chat: abort on (ERROR) May 29 06:14:07 dhiraj chat: abort on (BUSY) May 29 06:14:07 dhiraj chat: abort on (NO CARRIER) May 29 06:14:07 dhiraj chat: abort on (NO DIALTONE) May 29 06:14:07 dhiraj chat: send (ATZ^M) May 29 06:14:07 dhiraj chat: expect (OK) May 29 06:14:07 dhiraj chat: ATZ^M^M May 29 06:14:07 dhiraj chat: OK May 29 06:14:07 dhiraj chat: -- got it May 29 06:14:07 dhiraj chat: send (at+crm=1^M) May 29 06:14:07 dhiraj chat: expect (OK) May 29 06:14:07 dhiraj chat: ^M May 29 06:14:07 dhiraj chat: at+crm=1^M^M May 29 06:14:07 dhiraj chat: OK May 29 06:14:07 dhiraj chat: -- got it May 29 06:14:07 dhiraj chat: send (atdt#777^M) May 29 06:14:07 dhiraj chat: timeout set to 75 seconds May 29 06:14:07 dhiraj chat: expect (CONNECT) May 29 06:14:07 dhiraj chat: ^M May 29 06:14:07 dhiraj chat: atdt#777^M^M May 29 06:14:07 dhiraj chat: CONNECT May 29 06:14:07 dhiraj chat: -- got it May 29 06:14:07 dhiraj pppd: Serial connection established. May 29 06:14:07 dhiraj pppd: Using interface ppp0 May 29 06:14:07 dhiraj pppd: Connect: ppp0 <--> /dev/ttyS1 May 29 06:14:13 dhiraj pppd: PAP authentication succeeded May 29 06:14:13 dhiraj kernel: PPP BSD Compression module registered May 29 06:14:13 dhiraj kernel: PPP Deflate Compression module registered May 29 06:14:14 dhiraj pppd: local IP address 22.214.171.124 May 29 06:14:14 dhiraj pppd: remote IP address 126.96.36.199
Now open your browser and get started.
In case the browser gives the error that the server name is not being resolved, open the file /etc/resolve.conf and add the entry
namesserver 188.8.131.52 nameserver 184.108.40.206
These are two valid DNS servers of Ernet India Labs, located in New Delhi. Your Internet Service Provider probably provides its own name service, use the IP addresses of the servers they recommend.
When you are finished surfing the net you may stop the connection using
in the second shell. In the other shell window you will get something like this :
May 29 06:16:15 dhiraj pppd: Terminating on signal 2. May 29 06:16:15 dhiraj pppd: Connection terminated. May 29 06:16:15 dhiraj pppd: Connect time 2.2 minutes. May 29 06:16:15 dhiraj pppd: Sent 3401 bytes, received 1563 bytes. May 29 06:16:16 dhiraj pppd: Connect time 2.2 minutes. May 29 06:16:16 dhiraj pppd: Sent 3401 bytes, received 1563 bytes. May 29 06:16:16 dhiraj pppd: Exit.
Stop the messages output using Ctrl+C.
For info about accessing Internet using LG/SAMSUNG CDMA sets via USB cable go to http://www.hackgnu.org/ril-howto.html.
This link is also helpful: http://www.linuxsolved.com/forums/ftopic1178.html.
All the information in this HOWTO comes partly from these two links, the PPP-HOWTO and partly from my research and development in the Linux world.
This document is copyrighted 2005 by Dhiraj Gaur. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html.
Linux is a registered trademark of Linus Torvalds.
No liability for the contents of this document can be accepted. Use the concepts, examples and information at your own risk. There may be errors and inaccuracies, that could be damaging to your system. Proceed with caution, and although this is highly unlikely, the author(s) do not take any responsibility.
All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements.