Accel-ppp on OpenWrt with MESHdesk
Background
One of the main goals of MESHdesk is to enable fast WiFi deployment with commercial off-the-shelf (COTS) hardware and open source firmware.
Another goal is the ability to manage network usage.
For bandwidth and data usage management we include a captive portal.
An alternative to a captive portal is PPPoE.
In 2021 we introduced PPPoE client support in MESHdesk and APdesk.
PPPoE is used by most WISPs.
There is already a solid and feature-rich open source PPPoE server called Accel-ppp for Linux.
As we strongly believe in open source we want to offer a completely open source system for Internet providers.
The biggest hurdle was compiling Accel-ppp and getting it to run under OpenWrt.
Then we had to integrate it with MESHdesk and APdesk.
This was no easy task but thanks to the work that others have done in the past we were able to draw on this knowledge and develop this last missing piece of the puzzle.
Now that this part is complete we can offer Internet providers a managed alternative that could serve as a drop-in replacement for their current vendor-specific PPPoE servers.
POC using a $15 AP
When fishing, it is much more fun to catch a big fish with a light line.
For this Proof Of Concept (POC), we decided to go light on the hardware too.
The Xiaomi 4C was on special offer, so we grabbed a couple of them.
The price of the special offer was equivalent to ~15USD per device.
Model | SoC | CPU MHz | Flash MB | RAM MB | WLAN Hardware | WLAN2.4 | WLAN5.0 | 100M ports |
Mi Router 4C | MediaTek MT7628AN | 580 | 16 | 64 | MT7628AN | b/g/n | - | 3 |
POC networks
Jhb-South (Main Mesh)
Client Mesh Networks
PPPoE RADIUS users
We create permanent users that are used by the gateway AP of the client mesh networks.
Since Accel-ppp can serve as replacement for Mikrotik, we can use the old Mikrotik attributes as they are.
Accel-ppp will interpret them and apply the desired shaping.
Accel-ppp also supports the advanced shaping functions that the Mikrotik PPPoE server do such as bursting.
Again, there is no need to change any of the current Mikrotik reply attributes from RADIUS. It will interpret and apply even the advanced Mikrotik reply values.
Add gateway nodes to client networks
Up and running overview
A few important points about the screenshot above.
The Jhb-South mesh has two nodes: PPPoE-GW and Node-2.
The Internet connection for PPPoE-GW is via Ethernet (
LAN).
The Internet connection for Node-2 is the mesh.
The nodes in the client networks use WiFi for the Internet (WiFi with PPPoE)
Although not shown here, one client AP is connected to the WiFi of the PPPoE-GW. The other client AP is connected to the WiFi of Node-2.
If it is necessary to extend the coverage of the client networks (Unit1 and Unit2), you can simply add more mesh nodes to the client networks.
RADIUS Activity
Load on PPPoE server
We deliberately chose low-end hardware, and although we did not perform any stress tests, the memory and CPU utilization of the node running Accel-ppp looks very good, even when the two client APs are streaming Youtube.