(Prerequisites)
Line 1: Line 1:
  
== Cross Compiling RP-PPPoE for ARM ==
+
== Cross Compiling Kernel Mode PPPoE & PPPD for ARM ==
  
RP-PPPoE is a Point-to-Point Protocol over Ethernet client used to connect to many ADSL Internet Service Providers.
+
PPPoE is a Point-to-Point Protocol over Ethernet client used to connect to many ADSL Internet Service Providers. The [http://www.roaringpenguin.com/products/pppoe RP-PPPoE client] started out as a usermode application and has since been superseded by a Kernel Mode PPPoE client.
  
== Prerequisites ==
+
== Kernel Configuration ==
  
The RP-PPPoE client requires the host to have the PPPd (Point-to-Point Protocol Daemon) and the PPP-generic kernel module installed.
+
To use PPPD and rp-pppoe.so Kennel Mode client, you must ensure the following Kernel features have been enabled:
 +
 
 +
<PRE>
 +
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
 +
</PRE>
 +
 
 +
== PPPD ==
 +
 
 +
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:
 
To build and install PPPd:
Line 21: Line 31:
 
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.
 
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.
  
== RP-PPPoE Client ==
+
== Configuration ==
  
Now you can build the [http://www.roaringpenguin.com/products/pppoe PPPoE client]:
+
Create /etc/ppp/pap-secrets and /etc/ppp/chap-secrets containing your username and password:
  
 
<PRE>
 
<PRE>
wget http://www.roaringpenguin.com/files/download/rp-pppoe-3.11.tar.gz
+
"isp_username"      *      "password"
tar -xzf rp-pppoe-3.11.tar.gz
+
cd rp-pppoe-3.11/src
+
./configure --target=arm-linux-gnueabi --prefix=
+
make
+
make install DESTDIR=<Destination Root Directory>
+
 
</PRE>
 
</PRE>
  
== Configuration ==
+
Create /etc/ppp/options containing the following:
  
Once rp-pppoe has been installed on your host, run pppoe-setup to configure credentials for your ISP.
+
<PRE>
 +
plugin /lib/pppd/2.4.6/rp-pppoe.so
 +
name <isp_username>
 +
noipdefault
 +
defaultroute
 +
mtu 1492
 +
mru 1492
 +
lock
 +
ipv6 ,
 +
</PRE>
 +
 
 +
To start your connection, simply run:
 +
 
 +
<PRE>
 +
pppd eth0
 +
</PRE>

Revision as of 12:21, 17 May 2014

Cross Compiling Kernel Mode PPPoE & PPPD for ARM

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.

Kernel Configuration

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 

PPPD

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.

Configuration

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 ,

To start your connection, simply run:

pppd eth0