# LIC: GPL RP-PPPoE now supports kernel-mode PPPoE on Linux kernels 2.4.x. However, the default "./go" build procedure does not make kernel-mode support. Here's what you need to do: 0) Make sure you are running kernel 2.4.x on the machine you will build rp-pppoe on. You must have the following kernel configuration settings: CONFIG_PPP=m or CONFIG_PPP=y CONFIG_PPP_ASYNC=m or CONFIG_PPP_ASYNC=y CONFIG_PPP_SYNC_TTY=m or CONFIG_PPP_SYNC_TTY=y CONFIG_PPP_DEFLATE=m or CONFIG_PPP_DEFLATE=y CONFIG_PPP_BSDCOMP=m or CONFIG_PPP_BSDCOMP=y CONFIG_PPPOE=m or CONFIG_PPPOE=y CONFIG_N_HDLC=m or CONFIG_N_HDLC=y CONFIG_UNIX98_PTYS=y You also need a /dev/ppp file: mknod --mode=664 /dev/ppp c 108 0 You might want to add these lines to /etc/modules.conf: alias char-major-108 ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-13 n_hdlc alias tty-ldisc-14 ppp_synctty alias net-pf-24 pppoe 1) Check out the latest version of the PPP software from the CVS repository at cvs.samba.org. Here's how to do this: cvs -d :pserver:cvs@pserver.samba.org:/cvsroot login # When prompted for a password, type "cvs" # Change to the directory in which you want to store the PPP source # code. cd /path/to/checked/out/sources # Check out the source cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co ppp 2) The source gets checked out into a subdirectory called ppp. If the source ends up in /path/to/checked/out/sources/ppp, then call that path $PPPDIR. Build and install the checked-out ppp code according to its instructions. 3) Unpack rp-pppoe. 3) In the rp-pppoe directory, change to src/ and type: ./configure --enable-plugin=$PPPDIR where $PPPDIR, of course, refers to the checked-out "ppp" directory from cvs.samba.org. 4) Type make; make install 5) Edit /etc/ppp/pppoe.conf to include this line: LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so After that, adsl-start should use kernel-mode PPPoE. This code is experimental and unsupported. Use at your own risk. -- David F. Skoll <dfs@roaringpenguin.com>