Reliance LG LSP 340 Series WLL Modem Setup HOWTO

Dhiraj Gaur

dhiraj dot gaur _at_ gmail dot com

dhiraj _at_ mail dot nplindia dot ernet dot in 
Revision History                                                             
Revision 1.0                            2005-06-21                           
Revised by Machtelt Garrels for inclusion in TLDP.                           


This document explains how to set up and configure Reliance or TATA Indicomm
WLL phones on Linux, using a serial cable instead of the (default) USB cable.
It also has instructions on how to build the cable yourself.

-----------------------------------------------------------------------------
Table of Contents
1. Introduction
2. System Requirements
3. Activating Internet Services on your Handset
4. Checking for PPP Support
5. Configuring your Phone
6. PPP Configuration
7. Let's Get Started
8. References
9. Feedback
10. Licensing information and liability

1. Introduction

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:

 1. 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?
   
 2. 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.
   
 3. 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.
   

Note But I have a USB cable!                                                 
     If you have the USB cable after all, visit [http://www.hackgnu.org/     
     ril-howto.html] 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] 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.                           
-----------------------------------------------------------------------------

2. System Requirements

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)
   

Note 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
   

Tip 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.                                          
-----------------------------------------------------------------------------

3. Activating Internet Services on your Handset

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).
-----------------------------------------------------------------------------

4. Checking for PPP Support

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 [http://www.tldp.org/HOWTO/PPP-HOWTO/kernel-configuration.html] the PPP
HOWTO Chapter 10 for more information on PPP support in the Linux kernel.
-----------------------------------------------------------------------------

5. Configuring your Phone

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).

Remember:

  * 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

cat /dev/ttyS1

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 the Configure button. Go to the Modem tab.
There add a new modem on /dev/ttyS1and click OK. Now select the newly created
modem and click the EDITbutton. In the new box which appears, select Modemand
then click Query modem. 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.

Warning Lock file                                                            
        BE SURE TO UNCHECK THE USE LOCK FILE CHECKBOX 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.
-----------------------------------------------------------------------------

6. PPP Configuration

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 
    "202.41.97.3" or "202.41.97.132", or leave blank
   
  * Authentication -- "PAP"
   
  * Username
   
  * Password
   

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                                                                   

Note 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.
-----------------------------------------------------------------------------

7. Let's Get Started

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

ppp-on

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[2341]: pppd 2.4.2 started by root, uid 0         
May 29 06:14:07 dhiraj chat[2343]: timeout set to 60 seconds                 
May 29 06:14:07 dhiraj chat[2343]: abort on (ERROR)                          
May 29 06:14:07 dhiraj chat[2343]: abort on (BUSY)                           
May 29 06:14:07 dhiraj chat[2343]: abort on (NO CARRIER)                     
May 29 06:14:07 dhiraj chat[2343]: abort on (NO DIALTONE)                    
May 29 06:14:07 dhiraj chat[2343]: send (ATZ^M)                              
May 29 06:14:07 dhiraj chat[2343]: expect (OK)                               
May 29 06:14:07 dhiraj chat[2343]: ATZ^M^M                                   
May 29 06:14:07 dhiraj chat[2343]: OK                                        
May 29 06:14:07 dhiraj chat[2343]:  -- got it                                
May 29 06:14:07 dhiraj chat[2343]: send (at+crm=1^M)                         
May 29 06:14:07 dhiraj chat[2343]: expect (OK)                               
May 29 06:14:07 dhiraj chat[2343]: ^M                                        
May 29 06:14:07 dhiraj chat[2343]: at+crm=1^M^M                              
May 29 06:14:07 dhiraj chat[2343]: OK                                        
May 29 06:14:07 dhiraj chat[2343]:  -- got it                                
May 29 06:14:07 dhiraj chat[2343]: send (atdt#777^M)                         
May 29 06:14:07 dhiraj chat[2343]: timeout set to 75 seconds                 
May 29 06:14:07 dhiraj chat[2343]: expect (CONNECT)                          
May 29 06:14:07 dhiraj chat[2343]: ^M                                        
May 29 06:14:07 dhiraj chat[2343]: atdt#777^M^M                              
May 29 06:14:07 dhiraj chat[2343]: CONNECT                                   
May 29 06:14:07 dhiraj chat[2343]:  -- got it                                
May 29 06:14:07 dhiraj pppd[2341]: Serial connection established.            
May 29 06:14:07 dhiraj pppd[2341]: Using interface ppp0                      
May 29 06:14:07 dhiraj pppd[2341]: Connect: ppp0 <--> /dev/ttyS1             
May 29 06:14:13 dhiraj pppd[2341]: 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[2341]: local  IP address 220.224.45.140          
May 29 06:14:14 dhiraj pppd[2341]: remote IP address 97.235.2.5              

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 202.41.97.9                                              
        nameserver 202.41.97.132                                             
                                                                             

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

ppp-off

in the second shell. In the other shell window you will get something like
this :
May 29 06:16:15 dhiraj pppd[2341]: Terminating on signal 2.                  
May 29 06:16:15 dhiraj pppd[2341]: Connection terminated.                    
May 29 06:16:15 dhiraj pppd[2341]: Connect time 2.2 minutes.                 
May 29 06:16:15 dhiraj pppd[2341]: Sent 3401 bytes, received 1563 bytes.     
May 29 06:16:16 dhiraj pppd[2341]: Connect time 2.2 minutes.                 
May 29 06:16:16 dhiraj pppd[2341]: Sent 3401 bytes, received 1563 bytes.     
May 29 06:16:16 dhiraj pppd[2341]: Exit.                                     
                                                                             

Stop the messages output using Ctrl+C.
-----------------------------------------------------------------------------

8. References

For info about accessing Internet using LG/SAMSUNG CDMA sets via USB cable go
to [http://www.hackgnu.org/ril-howto.html] http://www.hackgnu.org/
ril-howto.html.

This link is also helpful: [http://www.linuxsolved.com/forums/
ftopic1178.html] http://www.linuxsolved.com/forums/ftopic1178.html.

All the information in this HOWTO comes partly from these two links, the
[http://tldp.org/HOWTO/PPP-HOWTO/index.html] PPP-HOWTO and partly from my
research and development in the Linux world.
-----------------------------------------------------------------------------

9. Feedback

Mail your suggestions, requests and queries to the author.
-----------------------------------------------------------------------------

10. Licensing information and liability

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] 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.
