W55RP20 PPPoE Example
PPPoE is a method of transporting Point-to-Point Protocol (PPP) over Ethernet.

Introduction to PPPoE
Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol that encapsulates Point-to-Point Protocol (PPP) frames inside Ethernet frames. This combination allows traditional dial-up protocols, such as authentication, encryption, and compression, to be used over high-speed Ethernet networks. PPPoE is widely used by Internet Service Providers (ISPs) to manage connections and allocate IP addresses dynamically to end users.
PPPoE works by establishing a virtual point-to-point connection between a client device and an ISP's access concentrator. This is done through two primary phases:
- Discovery Phase: The client device discovers a PPPoE server (access concentrator) on the network, identifying itself and initiating a session.
- Session Phase: Once a session is established, PPP frames are transmitted over the Ethernet link, enabling secure communication and IP address assignment.
This protocol is commonly used in DSL and fiber-to-the-home networks to authenticate users and manage bandwidth allocation effectively. Its integration into various embedded systems, such as the W55RP20-EVB-Pico, makes it a versatile solution for implementing PPPoE in lightweight, resource-constrained environments.
The rest of this guide will cover how to set up a PPPoE server on Linux and configure the W55RP20-EVB-Pico to dial in and acquire an IP address. By the end, you’ll have a fully functional system demonstrating practical use of PPPoE in embedded applications.
Setting Up a PPPoE Server
Download the PPPoE Software
Download the rp-pppoe-3.12.tar.gz
package, which contains the necessary software for setting up a PPPoE server.
Extract the Package
Extract the downloaded package using the following command:
Install Required Packages
Install the essential development tools and dependencies:
- Make:
- GCC (GNU Compiler Collection):
Build the PPPoE Software
Navigate to the source directory and configure the build environment:
Configure PPPoE Settings
After building the software, proceed to configure your PPPoE environment to suit your network requirements.
Editing the PPPoE Server Configuration File
To configure the PPPoE server, you need to edit the pppoe-server-options
file. This file defines the server's options and behavior.
$ sudo nano /etc/ppp/pppoe-server-options
Configuring CHAP or PAP Authentication for PPPoE Server
To set up CHAP or PAP authentication, you need to modify the PPPoE server's configuration files to specify which authentication method to use and provide valid user credentials.
To ensure the PPPoE ID and password are set the same in the main
code of your PPPoE example, you need to locate the section where the PPPoE credentials are defined and configure them accordingly.
- For CHAP (Challenge Handshake Authentication Protocol):