This document explains how to configure a Modem and mgetty on Linux
(Redhat version 6.1) as a DIAL - IN Server in wait mode and to answer
an incoming telephone call for PPP connection.
********************************************************************************

The document deals with configuration of a single modem on LINUX Server &
a user PC running WINDOWS 95 which is suitably configured for Modem 
Communication. We are not using PAP secrets at all however pap
configuration is included.

Basic Requirements (Hardware):
=============================

2 Modems -              One for Linux Server & One for Windows 95 user PC 
2 Telephones Lines -    One for Linux Server & One for Windows 95 user PC 
2 Adapters (Good Ones)- Very important to have good ones if you want your
                        modems to bear with you as long as you are
                        experimenting with them.	
1 Ethernet Card - 	For Linux Server

Basic Requirements (Software):
=============================

In case you have not been too choosy while installing LINUX on your
system, most probably you will have all of the following already
installed. However, for whom memory is very dear the only option is to
install the following using the appropriate RPM package available on the
LINUX distribution CD. (You do not have the CD, browse the Internet and
download the source and compile as per the README you find alongwith it.)
Please download the latest tested & working version only.

1. Mgetty+senfax

2. Minicom 

3. Kppp (GUI alternative to MINICOM). If you are Windows freak and have
   XWindows with KDE configured use this, but then later use MINICOM to
   verify all the settings.


Want to know how to install RPM package ?:
-----------------------------------------

rpm -i xxxxxxxxxxxxxxxxxxxx.rpm (replace xxxxxxxxx with the package name)

(We know you don't want spoon feeding but we are writing this document
for those like us, who believe in being fed drop by drop rather than a
spoon at a time.)

1) Configuring Linux Server for Modem:
-------------------------------------
a) Using MINICOM:
----------------
Type the command "minicom" at the prompt and you will get a nice menu
driven utility to configure your modem. Just toggle around the entire menu
and familiarize it.

Now ensure the following settings are setup by checking on the following
menu options if not set them or change them appropriately.

i)    Press Crtl A - Z
ii)   Select P for comm Parameters
iii)  Select the speed as per your modem and set the parity to 8-N-1 by
      selecting P

iv)   Come back to main screen and select O for configure Minicom and
      choose Serial port setup 
v)    Set the serial port dev to /dev/ttyS1 for COM Port (2) (i.e. if you
      are using a mouse on COM Port (1)).
vi)   You also need to point to your lock file which should be located in
      /var/lock
vii)  Hardware Flow Control is compulsory. So do not forget to mark it out
      as "yes". Do not mark "yes" for Software Flow Control.

viii) Go back to the main screen again and select M to initialize modem
ix)   Expecting everything goes fine, you will find the following on your
      screen

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK

That's it your Modem is working fine now. Do not jubliate yet. Read on.     

b) Using Kppp: 
------------- 
Type the command "kpppd" at the prompt or select it from the KDE pop up
menu. You will get a friendlier GUI menu driven utility to configure your
modem. Just toggle around the entire menu and familiarize it.

Now ensure the following settings are setup by checking on the following
menu options if not set them or  change them appropriately.

i)    Go to Setup
ii)   Create a new account and provide a connection name and fill in the 
      phone number to dial out.
iii)  In authentication select PAP
iv)   Go to Device tab and select /dev/ttyS1 for COM Port 1
v)    Select Flow Control select CRTSCTS
vi)   Select CR in line termination
vii)  Select the connection speed as per your Modem
viii) Select the lock file as per your choice (It is recommended to choose it) 
ix)   Select modem time out as 60 secsonds
x)    Select Modem tab
xi)   Press on Query Modem. This will query the modem and report the parameters
      of your modem.

So far so good. You can cross check the above using MINICOM also. The modem is 
ready for use. Let us proceed to configure the Server now.

2) Configuring Linux Server for Dial-in & Auto answer Status: 
-----------------------------------------------------------------

a) Editing the file /etc/inittab: 
-------------------------------- 
Add the following lines at the end of the file. This will initiate the
mgetty deamon.

# Run mgetty
S1:2345:respawn:/sbin/mgetty -s 115200  ttyS1    

b) Editing the file /etc/ppp/options:
------------------------------------    
Add the following lines. This is to pass on parameters for establishing a
PPP session.

noauth
-chap
+pap
login
modem
crtscts
lock
proxyarp
debug  

c) Editing the /etc/ppp/options.ttyS1:
-------------------------------------
Add a line which may look as following.

xxx.xxx.xxx.xxx:yyy.yyy.yyy.yyy  

xxx.xxx.xxx.xxx - stands for server IP address
yyy.yyy.yyy.yyy - stands for user PC IP address

Ours looks like the following:

144.16.244.77:192.168.0.6 

We have chosen an internal network address for User PC. The reason being
that we did not have a pool of IP addresses to ourselves. We have IP
masqurading running on the server. Further details will be available on IP
Masqurading through a seperate documentation to be released in case of
popular demand.

d) Editing the etc/ppp/pap-secrets:
----------------------------------
The file should like this. Where in the user login is specified under
client column. the server is defaulted. The secret is the password which
authenticates the user. the IP address binds the user to a partcular IP
address.

# Secrets for authentication using PAP 
# client	server	secret		IP addresses
  ppp 		* 	ppp 		192.168.0.6
  admin 	* 	admin		192.168.0.6
  isp 		* 	isp 		192.168.0.6
  vanchy 	* 	vanchy 		192.168.0.6
                                                                               
e) Editing the /home/user/.ppprc:
--------------------------------

This file exists in the users's home directory which may not be there.
Create this file using your favourite editor. The file should look as
below.

-detach
modem
crtscts
lock
144.16.244.77:192.168.0.6
proxyarp
debug

f) Editing the /home/user/ppp:
-----------------------------

This file exists in the user's home directory which may not be there.
Create it using your favourite editor. This file should look as below. 

#Run PPPD enjoy ;)

/usr/sbin/pppd noauth 


3) Configuring User PC:
----------------------
If you can configure the LINUX Server. We take it for granted that Windows
95 is a piece of cake for you. However we are always there to help in case
of need. Check the credits at the end of the document.   


By now I hope all things will be fine and ready for use. Go ahead reboot
the server. This will load the mgetty deamon. Connect using the Windows
PC. If connected provide a login name and the login password. Then type in
ppp on the command prompt and you will be connected and ready to browse.

NOW JUBLIATE & KEEP BROWSING. 

CREDITS:
--------------------------------------------------------------------------------
Excercise & Exploration carried out by A.G.K. Vanchynathan, K.Sundar,
Kotes & Mahalingam with moral booster support of Ashwin Mansinghka at
times of dead ends. (Dead Ends are where you start all over again in Linux).

Documention made by Ashwin Mansinghka & A.G.K. Vanchynathan in the
interest of all the future unsuspecting Linux users.


P.S. : ALL COMMENTS & IDEAS ARE INVITED FROM ONE AND ALL FOR IMPROVING
       THIS DOCUMENT.

email : ashwin@nimbus.ee.iitm.ernet.in
	vanchy@nimbus.ee.iitm.ernet.in 
	sundar@nimbus.ee.iitm.ernet.in
	mali@nimbus.ee.iitm.ernet.in
