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 - |