Point to Point protocols are used in Linux as kernel drivers and PPP daemon (pppd) or services. HDLC is data link protocol is installed on kernel as physical layer protocol for serial devices. When you have installed this module already then you do not need to install a serial device like external modem which is attached to any of serial ports. Internal modems need some special drivers for device installation and hardware detection software detects internal modem while initial operating system is installed when system is restarted first time. Kudzu tool is used in Red Hat Linux which detects hardware so that Data Link Layer and PPP are provided by kernel.

The PPP Kernel Module

Kernel does not display any kind of messages when serial drivers are installed already. In the same way, when PPP is compiled in kernel messages are displayed in startup like. $ dmesg | grep PPP PPP: version 2.3.0 (dynamic channel allocation) PPP Dynamic channel allocation code copyright 2000 Caldera, Inc. PPP line discipline registered.

PPP daemon or service could run any time when PPP is installed by kernel otherwise you need to install loadable module manually and modprobe command is mainly used to install PPP kernel modules like modprobe ppp_async will install ppp_async.o module and ppp_generic.o modules and slhc.o module depends upon ppp_generic.

PPP Daemon

PPP daemon is started by shell based command pppd and this command runs at boot time for dedicated connections or demand for dial up connections /etc/sysconfig/network?scripts/ifup?ppp script is used Red Hat Linux to start PPP daemon. However, you can not edit this file directly and values could be edited in ifcfg-pp0 files which are stored in the same directory and this file can be edited to place new values. You can also create custom pppd file by using standard pppd commands and administrators normally create them using graphical tools on many Linux operating systems.

Here is the syntax of pppd command: pppd[tty-device] [speed] [options] [tty-device] describe the name of serial device on which PPP protocol will run. If there is no device listed then controlling terminal is very much useful for creating dial-up server. [speed] is the bit per second transmission speed for serial ports. [options] describe command prompt options. There are number of pppd options and these are stored in three different types of files. /etc/ppp/options is used to store system wide PPP options and this file is created and maintained by system administrators. .ppprc file could be created by each user to store their files in home directory to adjust personal PPP options while /etc/ppp/options.device is used to set PPP options for any serial device like options.ttyS0 is used to set PPP options for /dev/ttyS0. Files are executed in order in which these are written however order of these files should be in the form below.

  1. Command line options have highest priority.
  2. Options on options.device have next priority after command line.
  3. User defined options on .ppprc are executed next.
  4. Options defined in /etc/ppp/options have lowest priority as compared to others.

While reading list above you will find that system wide options are defined in /etc/ppp/options file which can be edited by users. However, you can not overwrite files which are related to system security and also you can specify in options.device file which has high priority.