====== Compile Accel-ppp on OpenWrt ======
===== Getting the code =====
* This page contains the instructions for compiling Accel-ppp on OpenWrt version 23.05.x
* We assume you have already checked out the OpenWrt SDK.
* You can find more details here: https://www.radiusdesk.com/wiki/technical/openwrt-prep.
* Make sure you include install the packages needed for Accel-ppp.
#Do this under the openwrt directory
cd openwrt
./scripts/feeds install libpcre
./scripts/feeds install libopenssl
./scripts/feeds install libpthread
./scripts/feeds install librt
./scripts/feeds install libatomic
./scripts/feeds install libucontext
./scripts/feeds install kmod-sched-core
./scripts/feeds install kmod-pptp
./scripts/feeds install kmod-pppoe
./scripts/feeds install kmod-ppp
* The Accel-ppp package is part of the MESHdesk code:
#Do this in the working directory e.g. cd 23.05.0 (on the same level as the openwrt directory)
git clone https://github.com/RADIUSdesk/openwrt-meshdesk.git openwrt-meshdesk
===== Adding the package =====
* The **openwrt-accel-ppp** folder needs to be copied under the package folder (openwrt/package).
#cd to the working directory
cp -R ./openwrt-meshdesk/openwrt-accel-ppp ./openwrt/package
===== Selecting the package =====
* The package will be listed under **Network**.
* You can select it and run **make** to build the firmware.
{{:technical:pppoe:openwrt_select_accel.png?nolink|}}
===== Ensuring smooth startup =====
* When we include Accel-ppp along with the MESHdesk package we do an initial prep before calling the start-up script.
* See the code below as reference
function rdAccel.__prepAccel(self)
os.execute('/etc/init.d/accel-ppp disable');
os.execute('mkdir /var/log/accel-ppp');
os.execute('ln -s /usr/lib/accel-ppp/libconnlimit.so /usr/lib');
os.execute('ln -s /usr/lib/accel-ppp/libvlan-mon.so /usr/lib');
os.execute('ln -s /usr/lib/accel-ppp/libradius.so /usr/lib');
end