diff options
Diffstat (limited to 'mdk-stage1/ppp/README.linux')
| -rw-r--r-- | mdk-stage1/ppp/README.linux | 297 | 
1 files changed, 0 insertions, 297 deletions
| diff --git a/mdk-stage1/ppp/README.linux b/mdk-stage1/ppp/README.linux deleted file mode 100644 index 62ed9ca7f..000000000 --- a/mdk-stage1/ppp/README.linux +++ /dev/null @@ -1,297 +0,0 @@ -		PPP for Linux -		------------- - -		Paul Mackerras -		8 March 2001 - -		for ppp-2.4.1 - -1. Introduction ---------------- - -The Linux PPP implementation includes both kernel and user-level -parts.  This package contains the user-level part, which consists of -the PPP daemon (pppd) and associated utilities.  In the past this -package has contained updated kernel drivers.  This is no longer -necessary, as the current 2.2 and 2.4 kernel sources contain -up-to-date drivers. - -The Linux PPP implementation is capable of being used both for -initiating PPP connections (as a `client') or for handling incoming -PPP connections (as a `server').  Note that this is an operational -distinction, based on how the connection is created, rather than a -distinction that is made in the PPP protocols themselves. - -Mostly this package is used for PPP connections over modems connected -via asynchronous serial ports, so this guide concentrates on this -situation. - -The PPP protocol consists of two parts.  One is a scheme for framing -and encoding packets, the other is a series of protocols called LCP, -IPCP, PAP and CHAP, for negotiating link options and for -authentication.  This package similarly consists of two parts: a -kernel module which handles PPP's low-level framing protocol, and a -user-level program called pppd which implements PPP's negotiation -protocols. - -The kernel module assembles/disassembles PPP frames, handles error -detection, and forwards packets between the serial port and either the -kernel network code or the user-level program pppd.  IP packets go -directly to the kernel network code.  So once pppd has negotiated the -link, it in practice lies completely dormant until you want to take -the link down, when it negotiates a graceful disconnect. - - -2. Installation ---------------- - -2.1 Kernel driver - -Assuming you are running a recent 2.2 or 2.4 (or later) series kernel, -the kernel source code will contain an up-to-date kernel PPP driver. -If the PPP driver was included in your kernel configuration when your -kernel was built, then you only need to install the user-level -programs.  Otherwise you will need to get the source tree for your -kernel version, configure it with PPP included, and recompile.  Most -Linux distribution vendors ship kernels with PPP included in the -configuration. - -The PPP driver can be either compiled into the kernel or compiled as a -kernel module.  If it is compiled into the kernel, the PPP driver is -included in the kernel image which is loaded at boot time.  If it is -compiled as a module, the PPP driver is present in one or more files -under /lib/modules and is loaded into the kernel when needed. - -The 2.2 series kernels contain an older version of the kernel PPP -driver, one which doesn't support multilink.  If you want multilink, -you need to run the latest 2.4 series kernel.  The kernel PPP driver -was completely rewritten for the 2.4 series kernels to support -multilink and to allow it to operate over diverse kinds of -communication medium (the 2.2 driver only operates over serial ports -and devices which look like serial ports, such as pseudo-ttys). - -Under the 2.2 kernels, if PPP is compiled as a module, the PPP driver -modules should be present in the /lib/modules/`uname -r`/net directory -(where `uname -r` represents the kernel version number).  The PPP -driver module itself is called ppp.o, and there will usually be -compression modules there, ppp_deflate.o and bsd_comp.o, as well as -slhc.o, which handles TCP/IP header compression.  If the PPP driver is -compiled into the kernel, the compression code will still be compiled -as modules, for kernels before 2.2.17pre12.  For 2.2.17pre12 and later, -if the PPP driver is compiled in, the compression code will also. - -Under the 2.4 kernels, there are two PPP modules, ppp_generic.o and -ppp_async.o, plus the compression modules (ppp_deflate.o, bsd_comp.o -and slhc.o).  If the PPP generic driver is compiled into the kernel, -the other four can then be present either as modules or compiled into -the kernel.  There is a sixth module, ppp_synctty.o, which is used for -synchronous tty devices such as high-speed WAN adaptors. - - -2.2 User-level programs - -If you obtained this package in .rpm or .deb format, you simply follow -the usual procedure for installing the package. - -If you are using the .tar.gz form of this package, then cd into the -ppp-2.4.1b1 directory you obtained by unpacking the archive and issue -the following commands: - -$ ./configure -$ make -# make install - -The `make install' has to be done as root.  This makes and installs -four programs and their man pages: pppd, chat, pppstats and pppdump. -If the /etc/ppp configuration directory doesn't exist, the `make -install' step will create it and install some default configuration -files. - - -2.3 System setup for 2.4 kernels - -Under the 2.4 series kernels, pppd needs to be able to open /dev/ppp, -character device (108,0).  If you are using devfs (the device -filesystem), the /dev/ppp node will automagically appear when the -ppp_generic module is loaded, or at startup if ppp_generic is compiled -in. - -If you have ppp_generic as a module, and you are using devfsd (the -devfs daemon), you will need to add a line like this to your -/etc/devfsd.conf: - -LOOKUP		ppp		MODLOAD - -Otherwise you will need to create a /dev/ppp device node with the -commands: - -# mknod /dev/ppp c 108 0 -# chmod 600 /dev/ppp - -If you use module autoloading and have PPP as a module, you will need -to add the following to your /etc/modules.conf or /etc/conf.modules: - -alias /dev/ppp		ppp_generic -alias char-major-108	ppp_generic -alias tty-ldisc-3	ppp_async -alias tty-ldisc-14	ppp_synctty -alias ppp-compress-21	bsd_comp -alias ppp-compress-24	ppp_deflate -alias ppp-compress-26	ppp_deflate - - -2.4 System setup under 2.2 series kernels - -Under the 2.2 series kernels, you should add the following to your -/etc/modules.conf or /etc/conf.modules: - -alias tty-ldisc-3	ppp -alias ppp-compress-21	bsd_comp -alias ppp-compress-24	ppp_deflate -alias ppp-compress-26	ppp_deflate - - -3. Getting help with problems ------------------------------ - -If you have problems with your PPP setup, or you just want to ask some -questions, or better yet if you can help others with their PPP -questions, then you should join the linux-ppp mailing list.  Send an -email to majordomo@vger.kernel.org with a line in the body saying - -subscribe linux-ppp - -To leave the mailing list, send an email to majordomo@vger.kernel.org -with a line in the body saying - -unsubscribe linux-ppp - -To send a message to the list, email it to linux-ppp@vger.kernel.org. -You don't have to be subscribed to send messages to the list. - -You can also email me (paulus@linuxcare.com.au) but I am overloaded -with email and I can't respond to most messages I get in a timely -fashion. - -There are also several relevant news groups, such as comp.protocols.ppp, -comp.os.linux.networking, or comp.os.linux.setup. - - -4. Configuring your dial-out PPP connections --------------------------------------------- - -Some Linux distribution makers include tools in their distributions -for setting up PPP connections.  For example, for Red Hat Linux and -derivatives, you should probably use linuxconf or netcfg to set up -your PPP connections. - -The two main windowing environments for Linux, KDE and Gnome, both -come with GUI utilities for configuring and controlling PPP dial-out -connections.  They are convenient and relatively easy to configure. - -A third alternative is to use a PPP front-end package such as wvdial -or ezppp.  These also will handle most of the details of talking to -the modem and setting up the PPP connection for you. - -Assuming that you don't want to use any of these tools, you want to -set up the configuration manually yourself, then read on.  This -document gives a brief description and example.  More details can be -found by reading the pppd and chat man pages and the PPP-HOWTO. - -We assume that you have a modem that uses the Hayes-compatible AT -command set connected to an async serial port (e.g. /dev/ttyS0) and -that you are dialling out to an ISP.   - -The trickiest and most variable part of setting up a dial-out PPP -connection is the part which involves getting the modem to dial and -then invoking PPP service at the far end.  Generally, once both ends -are talking PPP the rest is relatively straightforward. - -Now in fact pppd doesn't know anything about how to get modems to dial -or what you have to say to the system at the far end to get it to talk -PPP.  That's handled by an external program such as chat, specified -with the connect option to pppd.  Chat takes a series of strings to -expect from the modem interleaved with a series of strings to send to -the modem.  See the chat man page for more information.  Here is a -simple example for connecting to an ISP, assuming that the ISP's -system starts talking PPP as soon as it answers the phone: - -pppd connect 'chat -v "" AT OK ATDT5551212 ~' \ -	/dev/ttyS0 57600 crtscts debug defaultroute - -Going through pppd's options in order: -    connect 'chat ...'  This gives a command to run to contact the -    PPP server.  Here the supplied 'chat' program is used to dial a -    remote computer.  The whole command is enclosed in single quotes -    because pppd expects a one-word argument for the 'connect' option. -    The options to 'chat' itself are: - -         -v            verbose mode; log what we do to syslog -         ""            don't wait for any prompt, but instead... -	 AT	       send the string "AT" -	 OK	       expect the response "OK", then -         ATDT5551212   dial the modem, then -         ~             wait for a ~ character, indicating the start -		       of a PPP frame from the server - -    /dev/ttyS0	       specifies which serial port the modem is connected to -    57600	       specifies the baud rate to use -    crtscts	       use hardware flow control using the RTS & CTS signals -    debug	       log the PPP negotiation with syslog -    defaultroute       add default network route via the PPP link - -Pppd will write error messages and debugging logs to the syslogd -daemon using the facility name "daemon".  These messages may already -be logged to the console or to a file like /var/log/messages; consult -your /etc/syslog.conf file to see.  If you want to make all pppd -messages go to a file such as /var/log/ppp-debug, add the line - -daemon.*					/var/log/ppp-debug -        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -           This is one or more tabs. Do not use spaces. - -to syslog.conf; make sure to put one or more TAB characters (not -spaces!) between the two fields.  Then you need to create an empty -/var/log/ppp-debug file with a command such as - -	touch /var/log/ppp-debug - -and then restart syslogd, usually by sending it a SIGHUP signal with a -command like this: - -	killall -HUP syslogd - - -4.1 Is the link up? - -The main way to tell if your PPP link is up and operational is the -ifconfig ("interface configuration") command.  Type - -	/sbin/ifconfig - -at a shell prompt.  It should print a list of interfaces including one -like this example: - -ppp0      Link encap Point-to-Point Protocol -          inet addr 192.76.32.3  P-t-P 129.67.1.165  Mask 255.255.255.0 -          UP POINTOPOINT RUNNING  MTU 1500  Metric 1 -          RX packets 33 errors 0 dropped 0 overrun 0 -          TX packets 42 errors 0 dropped 0 overrun 0 - -Assuming that ifconfig shows the ppp network interface, you can test -the link using the ping command like this: - -	/sbin/ping -c 3 129.67.1.165 - -where the address you give is the address shown as the P-t-P address -in the ifconfig output.  If the link is operating correctly, you -should see output like this: - -  PING 129.67.1.165 (129.67.1.165): 56 data bytes -  64 bytes from 129.67.1.165: icmp_seq=0 ttl=255 time=268 ms -  64 bytes from 129.67.1.165: icmp_seq=1 ttl=255 time=247 ms -  64 bytes from 129.67.1.165: icmp_seq=2 ttl=255 time=266 ms -  --- 129.67.1.165 ping statistics --- -  3 packets transmitted, 3 packets received, 0% packet loss -  round-trip min/avg/max = 247/260/268 ms - | 
