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