RADIUSdesk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
md:openwrt-meshdesk [2021/11/10 09:00]
admin [Select Packages To Include With Firmware]
md:openwrt-meshdesk [2022/03/14 12:15] (current)
admin [Select Packages To Include With Firmware]
Line 1: Line 1:
 ====== OpenWRT 21.02.x with MESHdesk packages ====== ====== OpenWRT 21.02.x with MESHdesk packages ======
 +<WRAP center round info 90%>
 +Follow these instructions to build the MESHdesk firmware on devices capable of running OpenWRT version 21.02.x
 +</​WRAP>​
 +
 ===== Minimum Hardware Requirements ===== ===== Minimum Hardware Requirements =====
   * The minimum hardware requirements are:   * The minimum hardware requirements are:
Line 7: Line 11:
   * The hardware does not need a radio on it.    * The hardware does not need a radio on it. 
   * Hardware without radios can be managed using **APdesk**.   * Hardware without radios can be managed using **APdesk**.
-  * Mediatek and Atheros / Qualcomm SOC devices are supported ​(which is probably at least 70%+ of today'​s WiFi Access Points)+  * Mediatek and Atheros / Qualcomm SOC devices are supported.
   * Other target systems are also supported but have not been thoroughly tested to date.   * 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.   * 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.
Line 32: Line 36:
   * In this page we will take a **Xiaomi 4A 100M** Access Point as a sample unit.   * 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.   * You can use the hardware of your choice and simply apply the same principles.
-  * We also assume ​you followed [[md:​openwrt-meshdesk-prep|these]] instructions to prepare the environment.+  * Make sure you followed [[md:​openwrt-meshdesk-prep|these]] instructions to prepare the environment.
  
 ===== Fetching the MESHdesk package ===== ===== Fetching the MESHdesk package =====
Line 38: Line 42:
 <code bash> <code bash>
 #Do this in the working directory e.g. cd 21.02.0 #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+git clone https://github.com/RADIUSdesk/​openwrt-meshdesk.git openwrt-meshdesk
 </​code>​ </​code>​
   * The package has three main components. Each one is located in a unique folder.   * The package has three main components. Each one is located in a unique folder.
-  - **zzz-MESHdesk** - This is the MESHdesk package which will be build by the SDK.+  - **MESHdesk** - This is the MESHdesk package which will be build by the SDK.
   - **files** - This is the override structure containing files to override during the build process.   - **files** - This is the override structure containing files to override during the build process.
   - **luci-app-meshdesk** - This is the Luci application used to enable central control.   - **luci-app-meshdesk** - This is the Luci application used to enable central control.
  
 =====  Copying the three components ===== =====  Copying the three components =====
-  * The **zzz-MESHdesk** folder needs to be copied under the **package** folder (openwrt/​package).+  * The **MESHdesk** folder needs to be copied under the **package** folder (openwrt/​package).
 <code bash> <code bash>
 #cd to the working directory #cd to the working directory
-cp -R ./​openwrt-meshdesk/​zzz-MESHdesk ./​openwrt/​package ​+cp -R ./​openwrt-meshdesk/​MESHdesk ./​openwrt/​package ​
 </​code>​ </​code>​
   *  The **files** folder needs to sit directly under the **openwrt** folder (root level).   *  The **files** folder needs to sit directly under the **openwrt** folder (root level).
Line 71: Line 75:
 scripts/​feeds install luci-app-meshdesk scripts/​feeds install luci-app-meshdesk
 </​code>​ </​code>​
-  * This will result that the MESHdesk Luci application will be listed as one of the available Luci applications.+  * The result ​is that the MESHdesk Luci application will be listed as one of the available Luci applications.
  
 <WRAP center round important 100%> <WRAP center round important 100%>
Line 81: Line 85:
 ===== Select Packages To Include With Firmware ===== ===== Select Packages To Include With Firmware =====
   * Select the following packages when building the firmware.   * Select the following packages when building the firmware.
 +  * When selecting a package there are the options to build it as a module (M) or fully include it (*).
 +  * **Make sure you select with the (*) option to fully include the package.**
   * Package names in bold are required.   * Package names in bold are required.
   * The Mosquitto packages are for MQTT support.   * The Mosquitto packages are for MQTT support.
Line 86: Line 92:
  
 ^ Package ​     ^ Location ​      ^ Comment ​       ^ ^ Package ​     ^ Location ​      ^ Comment ​       ^
-| **zzz-MESHdesk** ​   | Base system ​ |     |+| **MESHdesk** ​   | Base system ​ |     |
 | kmod-batman-adv | Kernel Modules -> Network Support | Keep the default options | | kmod-batman-adv | Kernel Modules -> Network Support | Keep the default options |
 | lua-mosquitto ​ | Languages -> Lua |      | | lua-mosquitto ​ | Languages -> Lua |      |
Line 112: Line 118:
   * The next section will cover the files you have to attend to for the specific hardware tweaks.   * The next section will cover the files you have to attend to for the specific hardware tweaks.
  
-===== Initial File Preperation ​=====+===== Initial File Preparation ​===== 
 +  * Use ssh to gain access to the device in order to tweak these files.
 ==== wan_network ==== ==== wan_network ====
   * Refer to the default **/​etc/​config/​network** file.   * Refer to the default **/​etc/​config/​network** file.
Line 166: Line 173:
 </​file>​ </​file>​
   * Next look at the **/​etc/​MESHdesk/​configs/​wan_network** file that is derived from it.   * Next look at the **/​etc/​MESHdesk/​configs/​wan_network** file that is derived from it.
-<file bash network>+<file bash wan_network>
 config interface '​loopback'​ config interface '​loopback'​
     option proto '​static'​     option proto '​static'​
Line 231: Line 238:
   * Next we will look at the ///​etc/​config/​meshdesk//​ file and tweak it to work with our environment and our hardware.   * Next we will look at the ///​etc/​config/​meshdesk//​ file and tweak it to work with our environment and our hardware.
  
- +<WRAP center round tip 90%> 
 +  * There is a growing list of existing sample **wan_network** files under the ///​openwrt/​package/​MESHdesk/​files/​MESHdesk/​configs//​ folder. 
 +  * They have a convention of **network_<​firmware_id>​** e.g. network_xiaomi_4a_100 
 +  * Simply copy that file over //​openwrt/​package/​MESHdesk/​files/​MESHdesk/​configs/​wan_network//​ 
 +  * Those files will have a matching existing hardware section in the //​openwrt/​package/​MESHdesk/​files/​MESHdesk/​meshdesk//​ file  
 +</​WRAP>​
  
 ==== meshdesk ==== ==== meshdesk ====
Line 395: Line 406:
   * If it is a new hardware type add it to the controller as described here: [[2021:​rd_full_hardware|Hardwares]] (Again Once Off)   * If it is a new hardware type add it to the controller as described here: [[2021:​rd_full_hardware|Hardwares]] (Again Once Off)
   * [[md:​xiaomi-attach|Attach A Device To Demo1 Mesh]]   * [[md:​xiaomi-attach|Attach A Device To Demo1 Mesh]]
 +
 +===== The Final Built =====
 +  * If everything on the device work as intended you can use those tweaked files to build a final version of the firmware for the specific hardware.
 +  * Copy the files to a temporary folder on the machine where you are building the firmware.
 +  * Use the following as a lookup for the location inside the SDK where the tweaked files need to go.
 +
 +^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 ​ |
 +
 +  * This brings us to the end of the page on how to build MESHdesk firmware for specific hardware.