meshdesk file
Introduction
- The meshdesk configuration file follows the UCI conventions that are standard for OpenWrt.
- It has a couple of named sections.
- The only two sections you will typically tweak is internet and settings.
internet section with the name 'internet'
- This section is used to activate or deactivate the central control of the hardware.
- The FQDN and IP address of the RADIUSdesk server and the URLs for certain actions are specified here.
settings section named 'settings'
- This section is the only section which is unique according to the hardware.
- It will list the hardware id and the LEDs as well as the interface used for identity.
- It also includes other settings which tweak the behavior of the device when it is centrally managed.
Background on LEDs
- MESHdesk use the LEDs of the device on which it is installed to display information about the environment.
- During startup a LED indicates the method used to retrieve the settings from the controller.
- After startup when the device is used in a mesh network, this LED indicates how many neighboring nodes it sees.
- A second LED indicates whether the device is in proper contact with the controller. (The LED can be either ON or OFF in such a case)
- Finally, for mesh networks, we can also specify a third LED that indicates the mesh traffic flowing through a node.
Exploring our hardware
- Let us take a look at the Xiaomi 4A 100M as an example.
#change directory to where the LEDs are cd /sys/class/leds/ ls #These are the LEDs available blue:power mt76-phy0 mt76-phy1 yellow:power #turn it off echo "0" > yellow\:power/brightness #turn it on echo "1" > yellow\:power/brightness #turn it off echo "0" > blue\:power/brightness #turn it on echo "1" > blue\:power/brightness
- We can use the blue LED to signal during startup and neighbour counting (morse_led).
- We can also use the yellow LED to signal that communication with the controller is interrupted (internet_led).
- However, since there is no third LED, we will not define one for mesh traffic (wifi_led).
Incorporating this in the settings section
- As we said earlier, the settings section is the only section which is unique according to the hardware.
- We can thus modify the settings section as follows:
config settings 'settings' option hardware 'xiaomi_4a_100' option id_if 'eth0' option morse_led '/sys/class/leds/blue:power/brightness' option internet_led '/sys/class/leds/yellow:power/brightness' option internet_led_alarm '1' option wifi_led '/dev/null' option lan_up_file '/tmp/lan_up'
- hardware - must match the value of a hardware id in RADIUSdesk's Hardware applet.
- id_if - must match the interface specified in the wan_network file.
- internet_led_alarm - We set it to 1 to use it as an alarm (e.g. turn it on when the Internet is down).
- Do not make the name of the hardware section longer than 14 characters. Longer names lead to problems during provisioning.
- For devices where the interface used in wan_network is eth0.1, simply use eth0 here.
- Later we will also use the value of xiaomi_4a_100 to define the hardware on the controller.
Review new hardware
- The following table lists the most important points with comments
Key hardware items
Item | Typical value | Comment |
---|---|---|
settings → hardware | xiaomi_4a_100 | Must match the value of a hardware id in RADIUSdesk's Hardware applet. |
settings → id_if | eth0 | eg eth0, eth1 or wan - NOT eth0.1 (for those boards its just eth0) |
settings → morse_led | /sys/class/leds/blue:power/brightness | LED to signal during startup and neighbour counting |
settings → internet_led | /sys/class/leds/yellow:power/brightness | LED to signal connection to controller |
settings → internet_led_alarm | 1 | If Internet LED should be used as an alarm or not |
settings → wifi_led | /dev/null | LED used to show mesh traffic |
settings → skip_radio_0 | 0 | set to 1 when radio0 is a 5G radio and you don't want to use it for config SSID |
Remember Your Environment
- Finally you need to adjust some items to match up with your controller and its environment.
- The following table lists some of the important items with comments
Key environment items
Item | Typical value | Comment |
---|---|---|
internet1 → disabled | 1 | change it to 0 in order for the device to be centrally controlled |
internet1 → dns | cloud.radiusdesk.com | Supply Dummy Value If Not Using DNS System e.g. nohost.radiusdesk.com |
internet1 → protocol | https | Can be http or https |
internet1 → ip | 176.31.15.210 | Fallback when FQDN does not resolve on FQDN not used |
- We are almost finished. The last stop is to edit the captive_config.json file to customise it to our specific hardware.