RADIUSdesk

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
md:openwrt-meshdesk [2021/11/10 17:28] – [Minimum Hardware Requirements] adminmd:openwrt-meshdesk [2022/03/14 12:15] (current) – [Select Packages To Include With Firmware] admin
Line 1: Line 1:
 ====== OpenWRT 21.02.x with MESHdesk packages ====== ====== OpenWRT 21.02.x with MESHdesk packages ======
-<WRAP center round tip 90%>+<WRAP center round info 90%>
 Follow these instructions to build the MESHdesk firmware on devices capable of running OpenWRT version 21.02.x Follow these instructions to build the MESHdesk firmware on devices capable of running OpenWRT version 21.02.x
 </WRAP> </WRAP>
Line 36: 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 42: 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 85: 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 90: 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 116: 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 170: 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 235: 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 399: 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.