============================================================================= PPP-compile guide... (1-28-98) You can get the latest version of ppp from the home site of ppp. ftp://cs.anu.edu.au/pub/software/ppp <-Home site.) ppp-2.3.3.tar.gz etc. ============================================================================= ~# tar xzvf ppp-2.3.3.tar.gz ppp-2.3.3# configure # make kernel <-Then compile the kernel, # make see below.) # make install # cp -r scripts /etc/ppp If your service provider uses (c)all (b)ack (c)onfiguration (p)rotocol, you have to compile ppp-2.?.? to support cbcp. Do this in ppp-2.?.? to get cbcp support. ppp-2.3.3# patch -p1 < README.cbcp If you want microsoft ms-chap-80 support do this below in ppp-2.3.3/pppd/Makefile.linux. # Uncomment the next 2 lines to include support for Microsoft's # MS-CHAP authentication protocol. CHAPMS=y USE_CRYPT=y Read: ppp-2.3.3/README.MSCHAP80 You need to have 'libdes.a' on your system to compile ppp-2.?.? with ms-chap-80 support, either in /lib/libdes.a or /usr/lib/libdes.a, also put 'des.h' from libdes in /usr/include/des.h. If you happen to have /usr/lib/libcrypt.a or libcrypt.so.? on your system you don't need to get libdes, ppp-2.3.3 will use it instead. You can get libdes from: ftp://ftp.psy.uq.oz.au/pub/Crypto/DES "libdes-4.01.tar.gz" 4.01 is the latest as of this writing, there's also a patch for 4.01 libdes-4.01.patch1. libdes-4.01# patch -p0 < libdes-4.01.patch1 libdes-4.01# make x86-elf <-To compile on linux elf system.) I have no experience with cbcp or ms-chap-80, but a sample options file might look like this. Sample /etc/ppp/options file. lock defaultroute noipdefault modem /dev/modem 38400 crtscts debug passive callback "7771818" user "jerry" remotename "foo.boo.com" Your "phone number" for the callback, include the quotation marks. The 'user' option is just required for pap, chap, or ms-chap, it would be your username when you login to your service provider. In addition to the name option ms-chap-80 requires the remotename option, it would be your service providers domain name. If your service provider is using PAP, your /etc/ppp/pap-secrets file should look like this. # Username Server Password jerry * password If your service provider is using CHAP, your /etc/ppp/chap-secrets file should look like this. # Username Server Password jerry foo.boo.com password foo.boo.com jerry password The Server should be your internet service providers domain name, if not sure just put * for Server. The Password should be the password for jerry. The permissions on /etc/ppp/pap-secrets or chap-secrets should be. ~# chmod 600 /etc/ppp/pap-secrets More and more service providers are using PAP or CHAP for authentication, you should ask your ISP if they are using PAP or CHAP, it could save you a lot of wasted time. If you're having a problem making the ppp connection, look at the /var/log/messages and or debug file for the output from pppd and chat. The output from pppd and chat should also be in the /var/log/pppd.chat file if you're using pppsetup. ============================================================================= Compiling PPP as a module... ============================================================================= ~# dmesg | grep -i ppp PPP: version 2.?.? <-You have PPP in the kernel.) If you have PPP compiled in the kernel, you'll have to compile the whole kernel for the new ppp. If you don't have PPP compiled in the kernel you don't have to compile the whole kernel, just answer yes to these questions below and (m)odule for ppp. If your present kernel is 2.0.33, the kernel source in /usr/src/linux must be from 2.0.33 also etc. ~# uname -r <-To see what kernel version you're running.) 2.0.33 Look at /usr/src/linux/Makefile, it should say 2.0.33 also etc. VERSION = 2 PATCHLEVEL = 0 SUBLEVEL = 33 If your kernel was 2.0.33 and the kernel source in /usr/src/linux was 2.0.34 for example, you could change it to 2.0.33. VERSION = 2 PATCHLEVEL = 0 SUBLEVEL = 34 VERSION = 2 <-Change it to match 'uname -r' then put it PATCHLEVEL = 0 back after 'make modules_install' below. SUBLEVEL = 33 ~# cd /usr/src/linux /usr/src/linux# make config <-Configure kernel source.) It doesn't matter how you answer all the other questions, you can just press enter and accept the defaults, just be sure that these questions below are answered like this. etc... Enable loadable module support (CONFIG_MODULES) [Y/n/?] y etc... Networking support (CONFIG_NET) [Y/n/?] y etc... TCP/IP networking (CONFIG_INET) [Y/n/?] y etc... Network device support (CONFIG_NETDEVICES) [Y/n/?] y etc... PPP (point-to-point) support (CONFIG_PPP) [N/y/m/?] m <-Answer (m)odule.) etc... /usr/src/linux# make modules <-Compile ppp module.) # make modules_install <-Install ppp etc. modules.) You should have a /lib/modules/2.0.33/net directory with these modules in it. ppp.o slhc.o bsd_comp.o ppp_deflate.o ~# depmod -a <-Create /lib/modules/?/modules.dep file.) # modprobe slhc <-You should load slhc also.) # modprobe ppp <-To load the ppp module.) # lsmod <-To see what modules are loaded.) # rmmod slhc <-To unload slhc.) # rmmod ppp <-To unload ppp.) If you have any linux ppp questions or problems, you can post them to these newsgroups. comp.os.linux.networking comp.protocols.ppp End... (By Kent Robotti) (1-28-98) =============================================================================