This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| md:openwrt-meshdesk [2021/11/10 08:35] – [captive_portal.json] admin | md: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 info 90%> | ||
| + | Follow these instructions to build the MESHdesk firmware on devices capable of running OpenWRT version 21.02.x | ||
| + | </ | ||
| + | |||
| ===== 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 | + | * 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 | + | * Make sure you followed [[md: |
| ===== 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/ | + | git clone https://github.com/RADIUSdesk/ |
| </ | </ | ||
| * 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/ | + | * The **MESHdesk** folder needs to be copied under the **package** folder (openwrt/ |
| <code bash> | <code bash> | ||
| #cd to the working directory | #cd to the working directory | ||
| - | cp -R ./ | + | cp -R ./ |
| </ | </ | ||
| * 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/ | scripts/ | ||
| </ | </ | ||
| - | * This will result that the MESHdesk Luci application will be listed as one of the available Luci applications. | + | * The result |
| <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. |
| - | * The **Batman** packages are for mesh support | + | * The Batman packages are for mesh support. |
| ^ Package | ^ Package | ||
| - | | **zzz-MESHdesk** | + | | **MESHdesk** |
| | kmod-batman-adv | Kernel Modules -> Network Support | Keep the default options | | | kmod-batman-adv | Kernel Modules -> Network Support | Keep the default options | | ||
| | lua-mosquitto | | lua-mosquitto | ||
| Line 109: | Line 115: | ||
| * After you selected these packages you can save the configuration and issue **make** to build the firmware. | * After you selected these packages you can save the configuration and issue **make** to build the firmware. | ||
| * The firmware you just built will be standard OpenWRT in effect and you can flash your hardware as with normal OpenWRT then access it on **192.168.1.1**. | * The firmware you just built will be standard OpenWRT in effect and you can flash your hardware as with normal OpenWRT then access it on **192.168.1.1**. | ||
| + | * Username and Password is **root** and **admin** for Luci and ssh. | ||
| * 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 **/ | * Refer to the default **/ | ||
| Line 165: | Line 173: | ||
| </ | </ | ||
| * Next look at the **/ | * Next look at the **/ | ||
| - | <file bash network> | + | <file bash wan_network> |
| config interface ' | config interface ' | ||
| option proto ' | option proto ' | ||
| Line 230: | Line 238: | ||
| * Next we will look at the /// | * Next we will look at the /// | ||
| - | + | <WRAP center round tip 90%> | |
| + | * There is a growing list of existing sample **wan_network** files under the /// | ||
| + | * They have a convention of **network_< | ||
| + | * Simply copy that file over // | ||
| + | * Those files will have a matching existing hardware section in the // | ||
| + | </ | ||
| ==== meshdesk ==== | ==== meshdesk ==== | ||
| Line 314: | Line 326: | ||
| ==== captive_portal.json ==== | ==== captive_portal.json ==== | ||
| * Edit the file /// | * Edit the file /// | ||
| - | * This files is a JSON structure that the device uses as a reference to configure itself with a special captive portal when it is not yet managed by the controller. | + | * This file is a JSON structure that the device uses as a reference to configure itself with a special captive portal when it is not yet managed by the controller. |
| * There are only two items that might need to be tweaked | * There are only two items that might need to be tweaked | ||
| * The radio number for the 2.4G band. | * The radio number for the 2.4G band. | ||
| Line 392: | Line 404: | ||
| * Point the device to your controller and reboot it. | * Point the device to your controller and reboot it. | ||
| * If all goes well it will show up in **Unknown Nodes** | * If all goes well it will show up in **Unknown Nodes** | ||
| + | * If it is a new hardware type add it to the controller as described here: [[2021: | ||
| * [[md: | * [[md: | ||
| + | |||
| + | ===== 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 | ||
| + | |/ | ||
| + | |/ | ||
| + | |/ | ||
| + | |/ | ||
| + | |||
| + | * This brings us to the end of the page on how to build MESHdesk firmware for specific hardware. | ||