Accel-ppp on OpenWrt with MESHdesk

  • 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 objective is the ability to manage network utilisation.
  • We offer a captive portal to manage bandwidth and data usage.
  • 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.
    • In South Africa (and probably in most other countries) the PPPoE server of choice is provided by Mikrotik's RouterOS.
    • This is combined with the CPE of your choice (usually Ubiquiti).
  • 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 fully open source system for Internet providers.
  • The biggest hurdle was to compile Accel-ppp and get it running on 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 that 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 can serve as a replacement for their current vendor-specific PPPoE servers.
  • When fishing, it's 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 ~15USD per device.

  • Here are the technical details of the AP:

Device Hardware

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
  • We used the Wizard in RADIUSdesk to create a cloud called Jhb-South.
  • We edit the Jhb-South mesh Exit Points:
    • Remove the bridge exit point
    • Add a PPPoE server exit point.
    • This connects then with the Jhb-South Wireless SSID

  • Jhb-South will be our main mesh network to which various APs will connect via WiFi and PPPoE.
  • We create two client mesh networks named Jhb-South-Unit1 and Jhb-South-Unit2.
  • These can typically be a unit in a gated community.

  • 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.

  • We add gateway nodes to our client networks.
  • We specify their Internet Connection as WiFi Client - PPPoE and provide the required information.

  • Now that the client gateway nodes have been added, we can display everything in a grid.

  • 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.

  • Finally we show the active sessions of Unit1 and Unit2 in RADIUS

  • We deliberately opted for low-end hardware, and although we did not perform any stress tests, the memory and CPU utilisation of the node running Accel-ppp looks very good, even when the two client APs are streaming Youtube.

  • Our PPPoE clients are limited to 2Mbps up and down.

  • technical/ppp-meshdesk.txt
  • Last modified: 2024/02/19 10:32
  • by system