PPPoE is a Point-to-Point Protocol over Ethernet client used to connect to many ADSL Internet Service Providers. The RP-PPPoE client started out as a usermode application and has since been superseded by a Kernel Mode PPPoE client.
To use PPPD and rp-pppoe.so Kennel Mode client, you must ensure the following Kernel features have been enabled:
Device Drivers -> Network device support -> PPP (point-to-point protocol) support Device Drivers -> Network device support -> PPP Deflate compression Device Drivers -> Network device support -> PPP over Ethernet
The PPPoE client requires the host to have the PPPd (Point-to-Point Protocol Daemon) and the PPP-generic kernel module installed.
To build and install PPPd:
wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.6.tar.gz tar -xzf ppp-2.4.6.tar.gz cd ppp-2.4.6/ ./configure make CC=arm-linux-gnueabi-gcc make install DESTDIR=<Destination Root Directory> INSTALL="install --strip-program=arm-linux-gnueabi-strip"
Many of the makefiles are set up to strip the symbol tables using a X86 version of install -s and throws an error. We pass install the arm-linux-gnueabi-strip executable and where install has not been called without -s (strip), install is likely to display a WARNING: ignoring --strip-program option as -s option was not specified.
Create /etc/ppp/pap-secrets and /etc/ppp/chap-secrets containing your username and password:
"isp_username" * "password"
Create /etc/ppp/options containing the following:
plugin /lib/pppd/2.4.6/rp-pppoe.so name <isp_username> noipdefault defaultroute mtu 1492 mru 1492 lock ipv6 , usepeerdns
To start your connection, simply run:
pppd eth0