Skip to content
Snippets Groups Projects

MAP Controller

Map-Controller

Introduction

This package provides the mapcontroller daemon, which is responsible for distributing wireless credentials, vlan configuration and more.

Overview

This READMe will show how to properly setup the mapcontroller configuration file and trigger mapcontroller functionality.

UCI Configuration

A default configuration file may look as such:

config controller 'controller'
	option enabled '1'
	option registrar '5 2'
	option debug '0'
	option al_bridge 'br-lan'

config vlan 'lan'
	option network 'lan'
	option id '1'

config fh-credentials
	option band '5'
	option ssid 'MAP-44D4376AF600-5GHz'
	option encryption 'psk2'
	option key '5YXJOLWWQPGL2H'
	option vlan '1'

config fh-credentials
	option band '2'
	option ssid 'MAP-44D4376AF600-2.4GHz'
	option encryption 'psk2'
	option key '5YXJOLWWQPGL2H'
	option vlan '1'

config bk-credentials
	option band '5'
	option ssid 'MAP-44D4376AF600-BH-5GHz'
	option encryption 'psk2'
	option multi_ap '1'
	option vlan '1'
	option key '5f9f0ce167b43ec3b71915db7561932cb5d1f618ed8a83afd4f6d5db6f08cca8'

config bk-credentials
	option band '2'
	option ssid 'MAP-44D4376AF600-BH-2.4GHz'
	option encryption 'psk2'
	option multi_ap '1'
	option disallow_bsta '0'
	option vlan '1'
	option key '5f9f0ce167b43ec3b71915db7561932cb5d1f618ed8a83afd4f6d5db6f08cca8'

The important part of this configuration file is to properly setup the wireless credentials.

Fronthaul Credentials

The sectionfh-credentials refers to fronthaul credentials (multi_ap '2' by default). The two fh-credentials sections in the provided example above will in practice be setup as follows in the wireless configuration by map-agent:

config wifi-iface 'wl1_ap'
	option ifname 'wl1'
	option network 'lan'
	option ssid 'MAP-44D4376AF600-2.4GHz'
	option key '5YXJOLWWQPGL2H'
	option encryption 'psk2+aes'
	option mode 'ap'
	option device 'wl1'
	option multi_ap '2'
	option ieee80211k '1'
	option ieee80211v '1'
	option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
	option wps '1'
	option wps_pushbutton '1'
	option multi_ap_backhaul_ssid 'MAP-44D4376AF600-BH-2.4GHz'
	option multi_ap_backhaul_key '53c2b08edd53b55d6628c340ce12d0f185ba467d0c928a7fb241becec7d6ee06'

config wifi-iface 'wl0_ap'
	option ifname 'wl0'
	option network 'lan'
	option ssid 'MAP-44D4376AF600-5GHz'
	option key '5YXJOLWWQPGL2H'
	option encryption 'psk2+aes'
	option mode 'ap'
	option device 'wl0'
	option multi_ap '2'
	option ieee80211k '1'
	option ieee80211v '1'
	option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
	option wps '1'
	option wps_pushbutton '1'
	option multi_ap_backhaul_ssid 'MAP-44D4376AF600-BH-5GHz'
	option multi_ap_backhaul_key '53c2b08edd53b55d6628c340ce12d0f185ba467d0c928a7fb241becec7d6ee06'

Backhaul Credentials

The section bk-credentials refers to backhaul credentials (multi_ap '1' by default). The two bk-credentials sections in the provided example will in practice be setup as follows in the wireless configuration by map-agent:

config wifi-iface 'wl1_1_ap'
	option ifname 'wl1.1'
	option network 'lan'
	option ssid 'MAP-44D4376AF600-BH-2.4GHz'
	option key '53c2b08edd53b55d6628c340ce12d0f185ba467d0c928a7fb241becec7d6ee06'
	option encryption 'psk2+aes'
	option mode 'ap'
	option device 'wl1'
	option multi_ap '1'
	option ieee80211k '1'
	option ieee80211v '1'
	option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
	option hidden '1'

config wifi-iface 'wl0_1_ap'
	option ifname 'wl0.1'
	option network 'lan'
	option ssid 'MAP-44D4376AF600-BH-5GHz'
	option key '53c2b08edd53b55d6628c340ce12d0f185ba467d0c928a7fb241becec7d6ee06'
	option encryption 'psk2+aes'
	option mode 'ap'
	option device 'wl0'
	option multi_ap '1'
	option ieee80211k '1'
	option ieee80211v '1'
	option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
	option hidden '1'

Combined Front/Back

If combined fronthaul and backhaul interfaces are to be used, specify a config fh-credentials section, and add an option multi_ap '3' to that section:

config fh-credentials
	option band '5'
	option ssid 'MAP-44D4376AF600-COMBINED-5GHz'
	option encryption 'psk2'
	option key '5YXJOLWWQPGL2H'
	option vlan '1'
        option multi_ap '3'

In turn map-agent will create the interface with multi_ap to set to 3, meaning combined fronthaul/backhaul interface.

config wifi-iface 'wl0_ap'
	option ifname 'wl0'
	option network 'lan'
	option ssid 'MAP-44D4376AF600-COMBINED-5GHz'
	option key '5YXJOLWWQPGL2H'
	option encryption 'psk2+aes'
	option mode 'ap'
	option device 'wl0'
	option multi_ap '3'
	option ieee80211k '1'
	option ieee80211v '1'
	option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
	option wps '1'
	option wps_pushbutton '1'

AP-Autoconfig Renew

Autoconfig Renew will trigger all agents to be reconfigured with updated credentials.

Prerequisites

  • Mapcontroller must be running

How to Trigger

Mapcontroller will re-read the mapcontroller network credentials (and vlan section) upon receiving SIGHUP. In order to trigger AP-Autoconfig Renew the mapcontroller credentials loaded in memory at runtime, must differ from what are in its config, causing mapcontroller to generate a AP-Autoconfig Renew for all agents to be reconfigured.

uBus

root@iopsys:~# ubus -v list map.controller
'map.controller' @2d8adaa3
	"status":{}
	"ap_caps":{"agent":"String"}
	"sta_caps":{"agent":"String","sta":"String","bssid":"String"}
	"channels":{"agent":"String"}
	"bk_steer":{"agent":"String","bssid":"String","channel":"Integer","op_class":"Integer","bksta":"String"}
	"agent_policy":{"agent":"String","radiolist":"Array","bsslist":"Array"}
	"channel":{"agent":"String","radio_id":"String","class_id":"Integer","channel":"Array","preference":"Integer","transmit_power":"Integer"}
	"reconfig_ap":{"agent":"String"}
	"client_steering":{"agent":"String","src_bssid":"String","sta":"Array","target_bssid":"Array","steer_timeout":"Integer","btm_timeout":"Integer","steer_req_mode":"Boolean"}
	"client_assoc_cntlr":{"agent":"String","bssid":"String","assoc_cntl_mode":"Integer","assoc_valid_timeout":"Integer","stalist":"Array"}
	"ap_metric_query":{"agent":"String","bsslist":"Array","radiolist":"Array"}
	"scan":{"agent":"String","radio":"Array","channel":"Array"}
	"sta_metric_query":{"agent":"String","sta":"String"}
	"bk_caps":{"agent":"String"}
	"topology_query":{"agent":"String"}