RADIUSdesk

This is an old revision of the document!


OpenWRT 17.01.x with MESHdesk packages

Follow these instructions to build the MESHdesk firmware on devices capable of running OpenWRT version 21.02.x

Minimum Hardware Requirements

  • The minimum hardware requirements are:
    • 8M Flash
    • 64M RAM
  • Although the system can potentially support hardware with less resources, supporting them in 2021 is not practical any more.
  • The hardware does not need a radio on it.
  • Hardware without radios can be managed using APdesk.
  • Mediatek and Atheros / Qualcomm SOC devices are supported.
  • Other target systems are also supported but have not been thoroughly tested to date.
  • If you are not sure if your hardware will work please visit the OpenWRT website and check. They have an ever growing list of supported hardware.
  • Next we will look at the steps you need to take to get MESHdesk working with it.

Steps In Adding New Hardware

The Very First Time (Draft)

These steps you have to do ONCE ONLY

  1. Build OpenWRT with MESHdesk firmware (MESHdesk disabled).
  2. Flash your device.
  3. Prepare the wan_network file for specific device.
  4. Prepare meshdesk config file for specific device.
  5. Prepare captive_config.json file for specific device.

Afterwards (Final)

  1. Build OpenWRT with MESHdesk firmware containing the device specific files for
    1. wan_network
    2. captive_config.json
    3. meshdesk
  2. Flash your device with the final built of firmware.
  • So without further ado, lets get going with the first draft built.
  • In this page we will take a Xiaomi 4A 100M Access Point as a sample unit.
  • You can use the hardware of your choice and simply apply the same principles.
  • Make sure you followed these instructions to prepare the environment.

Fetching the MESHdesk package

  • Check out the OpenWRT-MESHdesk package from the SourceForge repository.
#Do this in the working directory e.g. cd 21.02.0
git clone git://git.code.sf.net/p/radiusdesk/openwrt-meshdesk openwrt-meshdesk
  • The package has three main components. Each one is located in a unique folder.
  1. zzz-MESHdesk - This is the MESHdesk package which will be build by the SDK.
  2. files - This is the override structure containing files to override during the build process.
  3. luci-app-meshdesk - This is the Luci application used to enable central control.

Copying the three components

  • The zzz-MESHdesk folder needs to be copied under the package folder (openwrt/package).
#cd to the working directory
cp -R ./openwrt-meshdesk/zzz-MESHdesk ./openwrt/package 
  • The files folder needs to sit directly under the openwrt folder (root level).
#cd to the working directory
cp -R ./openwrt-meshdesk/files ./openwrt 
  • The luci-app-meshdesk folder needs to be copied under the feeds/luci/applications folder.
#cd to the working directory
cp -R ./openwrt-meshdesk/luci-app-meshdesk ./openwrt/feeds/luci/applications

Updating the available packages

  • Since we added a Luci application, we need to tell the SDK about it.
  • After you copied the packages across issue the following command:
#cd to the working directory
cd ./openwrt
scripts/feeds update -i
#Install the package to make it visible 
scripts/feeds install luci-app-meshdesk
  • The result is that the MESHdesk Luci application will be listed as one of the available Luci applications.
  • These instructions are for the 21.02.x branch.
  • If you wish to build the firmware for older versions there are some tweaks that has to be done for it to work as intended.
  • These tweaks are discussed in their own dedicated Wiki page.