X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=README.linux;h=569d05fe905b8d5b6f971444e28f2841a6e0502a;hp=6df8c66d197e4e3e64653efe3b7b47a995ee4a8c;hb=212b4a928b92d9f8f56192e390f0f0d7cf5c9efb;hpb=8000b9241650fc01778c2a89cfae0184e424703f;ds=sidebyside diff --git a/README.linux b/README.linux index 6df8c66..569d05f 100644 --- a/README.linux +++ b/README.linux @@ -12,6 +12,9 @@ Al Longyear longyear@netcom.com CHANGES FROM THE PREVIOUS VERSION FUTURE PLANS INSTALLATION + PROBLEMS WHICH MAY OCCUR WHILE BUILDING THE KERNEL + A REFERENCE TO UNDEFINED _mod_use_count_ + BLOCK ON FREELIST AT nnnnnn ISN'T FREE GENERAL NETWORK CONFIGURATION CONNECTING TO A PPP SERVER IF IT WORKS @@ -27,11 +30,11 @@ Al Longyear longyear@netcom.com INTRODUCTION -This file is substantially derived from the previous version for -the pppd process 2.2.0. Michael Callahan wrote that version. This -particular version was written, modified, hacked, changed, whatever, -by Al Longyear. If you find errors in this document, they are probably -mine and not Michael's. +This file is substantially derived from the previous version for the +pppd process 2.2.0, which itself was derived from earlier works by +Michael Callahan. This particular version was written, modified, +hacked, changed, whatever, by Al Longyear. If you find errors in this +document, they are probably mine and not Michael's. This is a PPP driver for Linux. It has been used by many people and seems to be quite stable. It is capable of being used either as a @@ -44,7 +47,7 @@ about it.) 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, UPAP and CHAP, for negotiating link options and for +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 @@ -70,8 +73,8 @@ Linux has no support for asynchronous I/O, so I hacked an ioctl into the PPP kernel module that provides a signal when packets appear and made pppd use this instead. -Al Longyear ported version 2.2 of pppd (from the free package -ppp-2.2.0) to Linux. He also provided several enhancements to both +Al Longyear ported version 2.0 of pppd (from the free package +ppp-2.0.0) to Linux. He also provided several enhancements to both the kernel driver and the OS-independent part of pppd. His contributions to Linux PPP have been immense, and so this release is being distributed over both our names. @@ -90,13 +93,6 @@ of '16 channel' support obsolete. CHANGES FROM THE PREVIOUS VERSION -- The number of devices for the PPP device has been made dynamic. It was - previously configured with the default value of four devices. - -- The problems dealing with other systems such as Windows NT and their - authenticiation has been corrected. It will now generate the proper - responses to allow the system to choose a valid authentication protocol. - - The kernel debug value has changed. Previously it was a level. It is now a bit map with various bits meaning certain types of debug information. @@ -117,43 +113,24 @@ CHANGES FROM THE PREVIOUS VERSION actions. - Support is added for compression control protocol. At the present time - only the BSD-Compress compression protocol is supported. - -- There are two queues for output frames. This avoids some problems which - occured with the previous version and some PPP packages which exchanged - echo frames with Linux. - -- The echo frames are now proper. Previously, it would generate extra - characters and this caused some providers to not respond to the 'junk'. - -- The max-echo-failure option will now properly disconnect the line. - -- There are other changes which are listed in the general README file. Please - read that file as well for changes. - -- There is no limit to the number of ppp devices which you may use. Jim Freeman - has added code to create them upon demand and to re-use the ones which have - been closed. There is no code, nor plans to write code, to remove (delete) - the un-used devices. So, if your system goes to a spurt and uses 3000 ppp - devices, it will remain at that level until you next reload the kernel. - + the BSD-Compress and 'deflate' compression protocols are supported. A + testing version of the predictor-1 compression protocol was developed but + it is not included in this package due to unfortunate Motorola patent + considerations. FUTURE PLANS -The IPX support is still minimal. There is code which will only work with -the 1.3 version of the networking software. The pppd process will still -require changes to support the IPXCP and a change to the driver to properly -enable/disable the IPX frames. Jim Freeman is reportily working on the IPX -support. +These are to be determined. INSTALLATION -This version of PPP has been tested on 1.1.x (x>=14) It will probably -not work on kernels much earlier than this due to a change in the -routing code. If you have an earlier kernel, please upgrade. +This version of PPP has been tested on kernel version 1.3.100. It will +probably not work on kernels much earlier than this due to earlier problems +with the kernels. If you have an earlier kernel, please upgrade to the 2.0 +kernel (when it is available). joining the PPP channel of linux-activists: @@ -216,6 +193,7 @@ automated installation procedure be performed. Use the following procedure for all kernel versions. There are six steps numbered one through six. Please do them in order and not skip one. + 1. Issue the command: ./configure @@ -225,6 +203,7 @@ contains this README.linux file. The result of this will be to build a set of symbolic links to the makefiles. They should link 'Makefile' to 'Makefile.linux' in each of the directories. + 2. Issue the command: make kernel @@ -274,22 +253,39 @@ You are free to run the installation script as many times as you wish. The additional executions will only change the files which have not been changed. + 3. Build the kernel. You must rebuild the kernel with this package. The driver is totally -new and will not work with the older daemon and the newer daemon will +new and may not work with the older daemon and the newer daemon will not work with the older kernel driver. If you don't know how to build a kernel, then you should read the README file in the kernel source directory. If you wish module support then you need to have the 'modules-1.1.87' package installed as the minimum version. Earlier versions of the module -support will not work properly. +support will not work properly. All of the later ones will. + +As of this time, the current version for the modules package is +1.2.0. Even 1.1.87 is old. However, if you only have 1.1.87 then it +will do as it permits the symbol table references. Please consider +upgrading the module package however. Instructions on building the kernel with modules are given in the README.modules in the kernel source directory. -4. Build the programs. + +4. Install the kernel + +If you are using the Yggdrasil distribution then you need to 'install' +the kernel at this point. Refer to their documentation on the procedures +to install the kernel. + +Distributions other than the Yggdrasil will normally install the +kernel when you build it. + + +5. Build the programs. The programs are built next. The command to build the programs is fairly simple. Just issue the command: @@ -298,45 +294,77 @@ make from the top level directory where this README.linux file is located. -5. Install the programs. + +6. Install the programs. You may use the command make install to install the various programs. They will be installed into the -/usr/lib/ppp directory. You may not like this directory for the +/usr/sbin directory. You may not like this directory for the executables. The directory name is called BINDIR and is set in the file 'linux/Makefile.linux'. -6. Reboot to the new kernel. +Earlier versions of the pppd package used /usr/lib/ppp as the +directory. This has been changed. If you still have code in +/usr/lib/ppp then you should remove it as it is probably the 2.1 +version of the code. That version will not work with the current ppp.c +drivers in the kernel. + + +7. Reboot to the new kernel. After building the new kernel, you will need to actually use it. Reboot the Linux system and you may then use the new pppd program. -7. Load optional modules. -If you are using loadable modules for the ppp or bsd compression then -you must load them after the kernel has been started. The following -relative order must be maintained. +8. Load optional modules. + +If you are using loadable modules for the ppp then you must load them +after the kernel has been started. The following relative order must +be maintained. Sequence Module Description 1 slhc.o VJ header compression 2 ppp.o PPP driver 3 bsd_comp.o BSD compression for PPP's compression protocol. +If you only have the bsd comprssor as a module then you may load it without +regard to any order. Likewise you may load the deflate compressor without +regard to any order with the BSD one. The idea is that the ppp.o code must +be loaded to use the compressor and the VJ header compression code must be +loaded to use ppp.o. + You may elect not to load the BSD compression module if you desire. There is a controversy regarding a Motorola software patent and while it is believed that this code does not infringe upon the patent, it is however an optional component. -In addition, if memory is a premium, do not run the BSD compression. It +The deflate compressor has been stated by Morotola to not infringe upon +their patent. However, it is also new. You may not find many systems which +use this compressor. + +In addition, if memory is a premium, do not run the compressors. It may take large amounts of memory (up to 2.6 meg) for high compression lengths to hold the compression dictionaries. -Without the BSD compression module, the PPP driver will not accept PPP's -compression control protocol for BSD compression. +Without the compression modules, the PPP driver will not accept PPP's +compression control protocol for that type. If you have no compressors +loaded then no compression will be performed. If you don't have the BSD +compressor loaded then the BSD compression will not be performed, even +if the peer system supports it. Likewise with the deflate compressor. + +Compressors are unique to their type. If you have the deflate compressor +loaded and the peer system has the BSD version, still no compression must +be loaded. BOTH systems must support the same compression protocols. + +PROBLEMS WHICH MAY OCCUR WHILE BUILDING THE KERNEL + +At this time with the 1.3.100 and pre-2.0 series kernels, soon to have the +2.0 series kernel, there should not be a problem with the compilation of the +drivers. GENERAL NETWORK CONFIGURATION @@ -379,10 +407,10 @@ will use. For example: 192.1.1.23 chelseapc.president.whitehouse.gov chelseapc where my IP address is 192.1.1.17 and my hostname is -billpc.president.whitehouse.gov. (Not really, you understand.) If -your PPP server does dynamic IP address assignment, give a guess as to -an address you might get (see also "Dynamic Address Assignment" -below). +billpc.president.whitehouse.gov. (Not really, but you should +understand my meaning.) If your PPP server does dynamic IP address +assignment, give a guess as to an address you might get (see also +"Dynamic Address Assignment" below). Finally, you need to configure the domain name system by putting appropriate lines in /etc/resolv.conf . It should look something like @@ -429,6 +457,9 @@ Going through pppd's options in order: "" send a return (null text followed by usual return) ogin: ppp word: whitewater log in. + Please refer to the chat man page, chat.8, for more information + on the chat utility. + /dev/cua1 specify the callout serial port cua1 38400 specify baud rate debug log status in syslog @@ -484,6 +515,8 @@ want the service "blackice". It logs in, waits for a shell prompt ("black%"), then starts PPP. The -t60 argument sets the timeout to a minute, since things here are sometimes very slow. +(The sendbreak program is not included in this package.) + The "&& sleep 5" causes the script to pause for 5 seconds, unless chat fails in which case it exits immediately. This is just to give the PPP server time to start (it's very slow). Also, the "stty -echo"