From 1b8747eb75c2e68910fe619a968e6dc19bd809a2 Mon Sep 17 00:00:00 2001 From: Jakob Olsson <jakob.olsson@iopsys.eu> Date: Thu, 8 Jun 2023 15:33:13 +0200 Subject: [PATCH] README: add dpp section --- README.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 97508e96..74191f4b 100644 --- a/README.md +++ b/README.md @@ -527,7 +527,6 @@ To enable Guest WiFi and Easymesh Traffic Segregation, the option 'primary_vid' and 'enable_ts' must be set to a non-zero value in the map-controller config's global section. -NOTE: Currently, only primary_vid = '1' is supported: ``` config controller 'controller' @@ -659,6 +658,62 @@ To easily identify a backhaul BSS, a vendor extension TLV is optionally added to Topology Response CMDUs and parsed by map-controller. This is merely a cosmetic improvement in the map-controller `status` UBUS API. +## DPP Easy Connect + +NOTE: The enrollee and the controller/configurator device must be operating at +the same channel, as off channeling listening for DPP Chirp messages is +currently not supported. + +To perform DPP Easy Connect, the enrollees bootstrap information must provided +to the map-controller via its UBUS API: + +``` +ubus call map.controller dpp_enrollee_uri '{"uri":"DPP:C:128/44;M:44d43771bb2f;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADa1Eoz/Lz0u0XO+Y+786MMst2kqGFJmCb8iOQWcekwS8=;;"}' +``` + +All provided URIs are stored in reboot persistent memory in +`/etc/multiap/dpp_uris.json`: + +``` +root@eagle-44d43771bf50:~# cat /etc/multiap/dpp_uris.json +{"uris":[{"uri":"DPP:C:81\/1;M:44d43771bb2e;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQiHpcmOs5LhdwCBylPoDRdVS21swh6nrM+XQxGnGpG0=;;","type":"qr"}]} +``` + +If map-controller is compiled with the ubus debug method (default) it can +additionally be observed from its debug object: + +``` +root@eagle-44d43771bf50:~# ubus call map.controller.dbg list_uris +{ + "uris": [ + { + "macadr": "44:d4:37:71:bb:2e", + "type": "qrcode", + "uri": "DPP:C:81/1;M:44d43771bb2e;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQiHpcmOs5LhdwCBylPoDRdVS21swh6nrM+XQxGnGpG0=;;", + "hashlen": 32, + "frames": [ + + ] + } + ] +} +``` + +For map-controller to accept the URI, some optional fields are mandated: +* Opclass/Channel list must be provided. In the case of multiple, each +Opclass/Channel must be provided separately, i.e. C:128/44,128/36; +* The enrolle mac address must be included and match the backhaul station mac address +of the enrollee. + + +Once the map-controller has received the enrollee URI, it will listen and parse +its chirps and proceed to onboard the enrollee onto the network. + +NOTE: Legacy AKMs are strongly recommended, as backhaul configuration Request/Response/Result +are not yet implemented, fronthaul configurations relies on AP-Autoconfiguration, +which does not support passing DPP AKMs. With this said, it is possible to onboard +via DPP only AKMs and establish a connection. + ## UBUS APIs Map-controller offers a variety of UBUS APIs, most of them map to CMDU request @@ -670,10 +725,12 @@ each agent * `steer_summary` and `steer_history` - Maps to TR-181 data model. ``` -root@iopsys-021000000001:~# ubus -v list map.controller -'map.controller' @35515cda +root@eagle-44d43771bf50:~# ubus -v list map.controller +'map.controller' @52dd51f5 "status":{} + "status_full":{} "timers":{} + "dpp_enrollee_uri":{"uri":"String","type":"String"} "steer_summary":{"sta":"String"} "steer_history":{"sta":"String"} "ap_caps":{"agent":"String"} @@ -701,4 +758,6 @@ root@iopsys-021000000001:~# ubus -v list map.controller "higher_layer_data":{"agent":"String","protocol":"Integer","data":"String"} "send_combined_metrics":{"agent":"String","bssid":"String"} "sync":{"agent":"String"} + "dpp_cce_indication":{"agent":"String","cce_advertise":"Boolean"} + ``` -- GitLab