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

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

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

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

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

# 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 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/ttyS1`and 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.

| 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

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

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.

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

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.