Follow these instructions to include the MESHdesk package on devices capable of running OpenWRT version 23.05.x
These steps are ONCE ONLY when introducing new hardware.
To structure the documentation better we have dedicated pages to discuss these files including their function and how to tweak them for your specific device.
This is a once only process so after you have made the tweaks to the files you can skip this step in future and simply use those device specific files when you need to build new firmware for the same hardware.
#Do this in the working directory e.g. cd 23.05.2 (on the same level as the openwrt directory) git clone https://github.com/RADIUSdesk/openwrt-meshdesk.git openwrt-meshdesk
#cd to the working directory cp -R ./openwrt-meshdesk/MESHdesk ./openwrt/package
#cd to the working directory cp -R ./openwrt-meshdesk/files ./openwrt
#cd to the working directory cp -R ./openwrt-meshdesk/luci-app-meshdesk ./openwrt/feeds/luci/applications
#cd to the working directory cd ./openwrt scripts/feeds update -i #Install the package to make it visible scripts/feeds install luci-app-meshdesk
#cd to the working directory cd openwrt make menuconfig
Location | Package | Comment |
---|---|---|
Base system | MESHdesk | |
Kernel Modules → Network Support | kmod-batman-adv | Keep the default options |
Kernel Modules → Netfilter Extensions | kmod-nft-bridge | Include if you want to block or speed limit users |
Languages → Lua | lua-mosquitto | |
Languages → Lua | libiwinfo-lua | |
Languages → Lua | luasocket | |
Libraries | libuci-lua | |
Luci → Collections | luci | |
Luci → Modules | luci-compat | Needs this modules for our package VERY IMPORTANT |
Luci → Applications | luci-app-meshdesk | Luci App to enable and disable central management |
Luci → Themes | luci-theme-material | Modern theme that is easy to customize |
Luci → Libraries | luci-lib-httpclient | |
Luci → Libraries | luci-lib-httpprotoutils | |
Luci → Libraries | luci-lib-json | |
Luci → Libraries | luci-lib-jsonc | |
Network → Captive Portals | coova-chilli | Select OpenSSL as SSL Library. Also select Enable the JSON interface.. and ..Coova miniportal… |
Network → File Transfer | curl | |
Network → Firewall | iptables-nft | Very important for backward compatibly of iptables |
Network → Routing and Redirection | relayd | |
Network → WirelessAPD | wpad IEEE 802.1x Auth/Supplicant (built-in full) | Un-select wpad-basic also required for Hotspot 2.0 |
Network | batctl-full | Un-select batctl-default |
Network | mosquitto-client-ssl | Note the CLIENT package |
Network | iw-full | Required for Hotspot 2.0 |
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist make[2]: Entering directory '/home/system/Documents/fw_sdk/23.05.2/openwrt/scripts/config' make[2]: 'conf' is up to date. make[2]: Leaving directory '/home/system/Documents/fw_sdk/23.05.2/openwrt/scripts/config' make[1] world make[2] target/compile make[3] -C target/linux compile
Use ssh to gain access to the device in order to tweak these files.
On Device | On SDK |
---|---|
/etc/MESHdesk/configs/wan_network | openwrt/package/MESHdesk/files/MESHdesk/configs/ |
/etc/config/meshdesk | openwrt/package/MESHdesk/files/MESHdesk/ |
/etc/MESHdesk/configs/captive_config.json | openwrt/package/MESHdesk/files/MESHdesk/configs/ |
/etc/MESHdesk/reporting/report_to_server.lua | openwrt/package/MESHdesk/files/MESHdesk/reporting |