RADIUSdesk

logo

This is an old revision of the document!


meshdesk file

Background

  • MESHdesk use the LEDs of the device it is installed on to signal about the environment.
    • During startup one LED signals about the method it uses to try and fetch settings from the controller.
    • After startup, if the device is used in a mesh network it, this LED signals how many neighboring nodes it sees.
    • A second LED is used to indicate if the device has proper contact with the controller. (The LED can be either ON or OFF in such a case)
    • Finally on mesh networks we can also specify a third LED that will indicate mesh traffic flowing through a node.

Exploring our hardware

  • Lets look at the Xiaomi 4A 100M as a sample.
#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 neighbor counts.
  • We can also use the yellow LED to light up if communication to the controller is broken.
  • There is however not a third LED so we will not define one for the mesh traffic.

Add a hardware section for our device

  • With this info we can create a hardware section in /etc/config/meshdesk
config hardware 'xiaomi_4a_100'
	option morse_led '/sys/class/leds/blue:power/brightness'
	option internet_led '/sys/class/leds/yellow:power/brightness'
	option wifi_led 'led0'
  • This have to match the value for hardware under the settings section
config settings 'settings'
	option hardware 'xiaomi_4a_100'
	option id_if 'eth0'
	option lan_up_file '/tmp/lan_up'
  • Don't make the name of the hardware section more than 14characters. Longer names break things during deployment.
  • 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.
  • The final tweak for the hardware in the config file is the interface that must be used as the id_if.
    • It will typically be eth0.
    • On devices like the MT7621 based boards it will typically be wan.
  • Since we want the yellow LED to be off when the comms to the controller is fine we need to check what the current setup is.
vi /etc/MESHdesk/reporting/report_to_server.lua 
#Look for this section
    if(ok_flag)then                                 
        internetLED('0'); -- NOTE Here we can swap thme around eg make it 0 to turn off a red LED when the internet is OK
        checkForContollerReboot('1');                   
    else                                                                             
        internetLED('1');                                                        
        checkForContollerReboot('0');                  
    end
  • The following table lists some of the important items with comments
Item Typical value Comment
settings → hardware xiaomi_4a_100 Must match a hw definition in the file itself
settings → id_if eth0 eg eth0, eth1 or wan - NOT eth0.1 (for those boards its just eth0)
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

Tweaks For Our Environment

  • The following table lists some of the important items with comments
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
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 nearly done. The last stop is to edit the captive_config.json file to fit our specific hardware.