These steps are performed ONLY ONCE when you introduce new hardware.
This is a one-time process. Once you have customized the files, you can skip this step in the future and simply use the device-specific files if you need to create new firmware for the same hardware.
#Do this in the working directory e.g. cd 24.10.1 (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 | |
Base system | sqm-scripts | |
Kernel Modules → Netfilter Extensions | kmod-nft-bridge | Include if you want to block or speed limit users |
Kernel Modules → Network Devices | kmod-dummy | Include for internal VLAN (Dynamic RADIUS based VLANs on AP) |
Kernel Modules → Network Support | kmod-batman-adv | Keep the default options |
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 → Applications | luci-app-sqm | |
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 |
Location | Package | Comment |
---|---|---|
Kernel modules → USB Support | kmod-usb-net-cdc-mbim | |
Kernel modules → USB Support | kmod-usb-net-qmi-wwan | |
Kernel modules → USB Support | kmod-usb-serial-option | optional - for AT commands |
Kernel modules → USB Support | kmod-usb-serial-qualcomm | |
Kernel modules → USB Support | kmod-usb-serial-sierrawireless | |
Kernel modules → USB Support | kmod-usb-wdm | |
Network → WWAN | uqmi | |
Utilities | usb-modeswitch | Used with LTE USB dongles |
Utilities → Terminal | minicom |
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/24.10.1/openwrt/scripts/config' make[2]: 'conf' is up to date. make[2]: Leaving directory '/home/system/Documents/fw_sdk/24.10.1/openwrt/scripts/config' make[1] world make[2] target/compile make[3] -C target/linux compile
Use ssh to gain access to the device to modify these files.
On Device | On SDK |
---|---|
/etc/MESHdesk/configs/wan_network | openwrt/files/etc/MESHdesk/configs/ |
/etc/config/meshdesk | openwrt/files/etc/config |
/etc/MESHdesk/configs/captive_config.json | openwrt/files/etc/MESHdesk/configs/ |
/etc/MESHdesk/reporting/report_to_server.lua | openwrt/files/etc/MESHdesk/reporting |