Skip to content
Snippets Groups Projects
README.md 6.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • Sukru Senli's avatar
    Sukru Senli committed
    # MAP Controller
    
    Jakob Olsson's avatar
    Jakob Olsson committed
    [Map-Controller](https://dev.iopsys.eu/iopsys/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 section`fh-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
    
    Jakob Olsson's avatar
    Jakob Olsson committed
    '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"}