Creating A Dialup Connection (Linux)
Connecting to Primus using Linux PPP
This guide will show you some general steps for setting up PPP. Please note that all
of the setup instructions included here must be executed while logged in as
root.
Before you start, you will need to first verify these three areas:
Firstly that you have PPP support already loaded in your Linux kernel. Some Linux
systems ship with a module called ppp.o that may need to be loaded before PPP can be
used. To determine if this required on your system, execute lsmod and see if ppp is
listed; if not, execute lnsmod ppp to load it. Run lsmod again to see that ppp is
listed. If you have recompiled your kernel with PPP support built in, this step won't
be necessary. Most kernels at or above 2.0.29 should have PPP enabled. (Primus does
not support recompiling the kernel or added modules to the kernel.)
Second that you have the correct nameserver IP addresses indicated in
/etc/resolv.conf.
For a Primus userid, use 216.254.141.2 and 216.254.141.3.
For a Magma userid, use 206.191.0.140 and 206.191.0.210.
Thirdly and lastly, that you have your IP address listed in /etc/hosts as using an IP
address of "0.0.0.0". A typical /etc/hosts file for a system that will only network
through dial-up PPP would look similar to this:
- 127.0.0.1 localhost
-
0.0.0.0 yourmachine.yourdomain.com
yourmachinename
With these areas taken care of, we can move on to the connect setup for Primus:
Creating the dial-up configuration files
There are two config files that need to be created: /etc/ppp/options and /etc/ppp/chart-script. The first sets up how you wish PPP to run, and the second automates the dial-up and login procedure.
First, /etc/ppp/options
connect "/usr/sbin/chat -f /etc/ppp/chat-script
/dev/modem 38400 #modem is your device name
modem #make pppd monitor the serial device
asyncmap 0 #0 is zero, this is used for speedy ftp transfers
crtscts #Use hardware flow control between the computer and modem
defaultroute #setup routing table entry
noipdefault #IP address for local host
name mylogin #mylogin should be replaced by your Primus full email address, ex: jsmith@primus.ca
Any text beginning with a '#' is a comment.
The options is the file above are designed for a modem running at 28.8Kbs or higher, on a dial-up connection that dynamically allocates IP addresses (ie. Primus gives you a different IP address each time you connect.). If you have a static IP address, replace the noipdefault line with a line like this:
206.191.xxx.xxx: (you must include the colon)
Now, a simple /etc/ppp/chat-script file:
ABORT BUSY
'' ATDT6135551212
CONNECT ''
Replace the phone number above with the proper number for your dialing area.
Simply stated (from the top down), this will abort the connection if the modem says it got a busy signal ; otherwise, it will dial the phone number 613-228-9329 and will send nothing after it gets the CONNECT string from the modem.
Adjust the dial-up files for authentication
Now you need to tailor the file you just created to fit Primus' dial-up requirements. Here is where the authentication Primus uses comes into play. The three most common types of authentication are Manual, PAP and CHAP. Note that you will only be using one of these authentication schemes; Primus uses PAP.
PAP authentication requires two things: an /etc/ppp/pap-secrets file and the addition of the name option to the "basic" /etc/ppp/options file that you made earlier.
Your pap-secret file should look like this:
# Client Server Secret
mylogin * mypassword
Replace mylogin and mypassword with your username (full email address, ex: jsmith@primus.ca) and password respectively.
Because this file contains private information,it would be a good idea to make it readable and writeable only by root, so change the permissions to 600:
chmod 600 /etc/ppp/pap-secrets
Running pppd
Now to get connected to Primus run pppd (do this as user root)
pppd
Or, if you would like to not have pppd "fork" into a background process (ie you would like to just hit CTRL-C to abort the PPP connection), you could use a command line:
pppd -detach
You could flip over to another console with Alt-Fkey or start another xterm if you're running this in X-Windows to interact with the Internet.
If you chose not to use the -detach parameter, you can kill the PPP process by executing the following command:
kill 'cat /var/run/ppp0.pid'
Make the file readable, writeable and executable only for the user root:
chown root.root /usr/sbin/killppp
chmod 700 /usr/sbin/killppp
Debugging Techniques
You can turn on debugging, to log the contents of all control packets exchanged between you and Primus by adding a few words to the /etc/ppp/options file.
To log the activity of the kernel level PPP driver (which is not the same as number to the kdebug parameter in /etc/ppp/options. The options for kdebug are as follows:
Value 1 = Enable general debugging messages
Value 2 = Request that the contents of received packages be printed
Value 4 = Request that the contents of transmitted packets to be printed
There is no value 3.
So, if you wish to log debugging information for transmitted packets as well as general kernel messages, you would add 4 and 1, then pass the number to kdebug in /etc/ppp/options:
kdebug 5
The debug messages are written to the file /var/log/messages.
Get more information
Your Linux man pages (ppp, pppd, ifconfig, and netstat)
Try using an X GUI dialer:
ezppp
Xisp