WiFi: Implement MultiAP datamodel based on TR181-2.15

This commit is contained in:
Amin Ben Ramdhane 2021-11-17 11:53:16 +01:00
parent ac86e682b4
commit 591d7ac3c5
12 changed files with 1959 additions and 836 deletions

File diff suppressed because it is too large Load diff

View file

@ -44,6 +44,8 @@ extern DMLEAF tWiFiEndPointProfileSecurityParams[];
extern DMOBJ tWiFiDataElementsObj[];
extern DMOBJ tWiFiDataElementsNetworkObj[];
extern DMLEAF tWiFiDataElementsNetworkParams[];
extern DMLEAF tWiFiDataElementsNetworkSSIDParams[];
extern DMLEAF tWiFiDataElementsNetworkMultiAPSteeringSummaryStatsParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceRadioObj[];
@ -63,7 +65,23 @@ extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanResultOpClassScanChannelScanNeighborBSSParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceRadioScanCapabilityObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanCapabilityParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioScanCapabilityOpClassChannelsParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceRadioCACCapabilityObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCACCapabilityParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceRadioCACCapabilityCACMethodObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCACCapabilityCACMethodParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioCACCapabilityCACMethodOpClassChannelsParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceRadioUnassociatedSTAParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceMultiAPDeviceObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceMultiAPDeviceParams[];
extern DMOBJ tWiFiDataElementsNetworkDeviceMultiAPDeviceBackhaulObj[];
extern DMLEAF tWiFiDataElementsNetworkDeviceMultiAPDeviceBackhaulParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceMultiAPDeviceBackhaulCurrentOperatingClassProfileParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceMultiAPDeviceBackhaulStatsParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceDefault8021QParams[];
extern DMLEAF tWiFiDataElementsNetworkDeviceSSIDtoVIDMappingParams[];
extern DMOBJ tWiFiDataElementsAssociationEventObj[];
extern DMLEAF tWiFiDataElementsAssociationEventParams[];
extern DMLEAF tWiFiDataElementsAssociationEventAssociationEventDataParams[];
@ -71,28 +89,4 @@ extern DMOBJ tWiFiDataElementsDisassociationEventObj[];
extern DMLEAF tWiFiDataElementsDisassociationEventParams[];
extern DMLEAF tWiFiDataElementsDisassociationEventDisassociationEventDataParams[];
struct wifi_radio_args
{
struct dmmap_dup *sections;
};
struct wifi_ssid_args
{
struct dmmap_dup *sections;
char *ifname;
char *linker;
};
struct wifi_enp_args
{
struct dmmap_dup *sections;
char *ifname;
};
struct wifi_acp_args
{
struct dmmap_dup *sections;
char *ifname;
};
#endif

View file

@ -42,7 +42,7 @@
#define BBF_ATTR_UNUSED(x) (void)(x)
#endif
#define DEFAULT_DMVERSION "2.14"
#define DEFAULT_DMVERSION "2.15"
#define DM_STRNCPY(DST, SRC, SIZE) \
do { \

View file

@ -1552,30 +1552,51 @@ unsigned long file_system_size(const char *path, const enum fs_size_type_enum ty
}
}
int get_base64char_value(char b64)
static int get_base64_char(char b64)
{
char *base64C = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
int i;
for (i = 0; i < 64; i++)
for (int i = 0; i < 64; i++)
if (base64C[i] == b64)
return i;
return -1;
}
char *decode64(char *enc)
char *base64_decode(const char *src)
{
int i, j = 0;
size_t decsize = strlen(enc)*6/8;
char *dec = (char *)dmmalloc((decsize +1) * sizeof(char));
for (i = 0; i < strlen(enc)-1; i++) {
dec[j] = (get_base64char_value(enc[i]) << (j%3==0?2:(j%3==1?4:6))) + (get_base64char_value(enc[i+1]) >> (j%3==0?4:(j%3==1? 2:0)));
if (!src)
return "";
size_t decsize = strlen(src)*6/8;
char *out = (char *)dmmalloc((decsize +1) * sizeof(char));
for (i = 0; i < strlen(src)-1; i++) {
out[j] = (get_base64_char(src[i]) << (j%3==0?2:(j%3==1?4:6))) + (get_base64_char(src[i+1]) >> (j%3==0?4:(j%3==1? 2:0)));
if (j%3 == 2)
i++;
j++;
}
dec[j] = '\0';
return dec;
out[j] = '\0';
return out;
}
void string_to_mac(const char *str, size_t str_len, char *out, size_t out_len)
{
unsigned pos = 0;
int i, j;
if (!str || !str_len)
return;
for (i = 0, j = 0; i < str_len; ++i, j += 3) {
pos += snprintf(out + j, out_len - pos, "%02x", str[i] & 0xff);
if (i < str_len - 1)
pos += snprintf(out + j + 2, out_len - pos, "%c", ':');
}
}
char *replace_char(char *str, char find, char replace)

View file

@ -289,7 +289,8 @@ int dm_validate_int_list(char *value, int min_item, int max_item, int max_size,
int dm_validate_unsignedLong_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size);
int dm_validate_long_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size);
int dm_validate_hexBinary_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size);
char *decode64(char *enc);
char *base64_decode(const char *src);
void string_to_mac(const char *str, size_t str_len, char *out, size_t out_len);
bool folder_exists(const char *path);
bool file_exists(const char *path);
bool is_regular_file(const char *path);

View file

@ -985,11 +985,11 @@ static void test_bbf_api_common(void **state)
/*
* Test of decode64 function
* Test of base64_decode function
*/
// decode64: test
value = decode64("YmJmX3VuaXRfdGVzdA");
// base64_decode: test
value = base64_decode("YmJmX3VuaXRfdGVzdA");
assert_string_equal(value, "bbf_unit_test");

View file

@ -0,0 +1,108 @@
config controller 'controller'
option enabled '1'
option registrar '5 2'
option debug '0'
option enable_sta_steer '0'
option enable_bsta_steer '0'
option use_bcn_metrics '0'
option use_usta_metrics '0'
option primary_vid '1'
option primary_pcp '0'
option backhaul_steer '0'
option beacon_metrics '0'
option usta_metrics '0'
option traffic_separation '0'
option coordinated_cac '0'
config ap
option band '5'
option ssid '5GHz-main'
option encryption 'sae-mixed'
option vid '100'
option type 'fronthaul'
option network 'lan'
option key 'M7YrYVYh9ULtm3QG'
config ap
option band '5'
option ssid '5GHz-guest'
option encryption 'sae-mixed'
option vid '200'
option type 'fronthaul'
option network 'lan'
option key 'M7YrYVYh9ULtm3QG'
config ap
option band '2'
option ssid 'MAP-608D26C4983C-2.4GHz'
option encryption 'sae-mixed'
option vid '100'
option type 'fronthaul'
option network 'lan'
option key 'M7YrYVYh9ULtm3QG'
config ap
option band '5'
option ssid 'MAP-608D26C4983C-BH-5GHz'
option encryption 'sae'
option vid '1'
option type 'backhaul'
option network 'lan'
option key 'c12bf5457bc6189133d2a803fb09bb5b49e35b0e05d9abe449a5f6025441cc4'
config ap
option band '2'
option ssid 'MAP-608D26C4983C-BH-2.4GHz'
option encryption 'sae'
option vid '10'
option type 'backhaul'
option network 'lan'
option key 'c12bf5457bc6189133d2a803fb09bb5b49e35b0e05d9abe449a5f6025441cc4'
config node 'node_021111aabbcc'
option agent_id '02:11:11:aa:bb:cc'
option backhaul_ul_macaddr '00:00:00:00:00:01'
option backhaul_dl_macaddr '06:10:20:30:40:50'
option backhaul_type 'none'
option primary_vid '1'
option primary_pcp '0'
option report_sta_assocfails '1'
option report_sta_assocfails_rate '2'
option report_metric_periodic '0'
option report_scan '0'
list steer_exclude '00:aa:bb:cc:dd:11'
list steer_exclude '00:aa:bb:cc:dd:22'
list steer_exclude '00:aa:bb:cc:dd:33'
list steer_exclude_btm '00:aa:bb:cc:dd:44'
list steer_exclude_btm '00:aa:bb:cc:dd:55'
option steer_disallow '0'
option coordinated_cac '1'
option traffic_separation '1'
option sta_steer '1'
config radio
option agent_id '02:11:11:aa:bb:cc'
option macaddr '02:12:12:bb:cc:dd'
option band '5'
option steer_policy '0'
option util_threshold '200'
option rcpi_threshold '60'
option report_rcpi_threshold '0'
option report_rcpi_hysteresis_margin '0'
option report_util_threshold '0'
option include_sta_stats '0'
option include_sta_metric '0'
config radio
option agent_id '02:11:11:aa:bb:cc'
option macaddr '02:12:12:bb:cc:de'
option band '2'
option steer_policy '0'
option util_threshold '200'
option rcpi_threshold '30'
option report_rcpi_threshold '0'
option report_rcpi_hysteresis_margin '0'
option report_util_threshold '0'
option include_sta_stats '0'
option include_sta_metric '0'

View file

@ -0,0 +1,10 @@
{
"fail_no_candidate": 10,
"assoc_cntlr_attempts": 15,
"assoc_cntlr_success": 13,
"assoc_cntlr_fail": 2,
"btm_attempts": 25,
"btm_success": 19,
"btm_fail": 6,
"btm_query_resp": 3
}

View file

@ -1,45 +1,45 @@
{
"date": "Wed Aug 26 04:54:52 2020",
"version": "",
"date": "Thu Dec 9 15:57:41 2021",
"version": "0.2",
"description": "WFA Data Elements",
"TimeStamp": "2020-07-26T04:54:52+01:00",
"TimeStamp": "2021-12-09T15:57:41+01:00",
"name": "wifi",
"data": [
{
"wfa-dataelements:Network": {
"ID": "",
"NumberOfDevices": 2,
"ControllerID": "00:00:00:00:00:00",
"TimeStamp": "",
"NumberOfDevices": 1,
"ControllerID": "02:11:11:aa:bb:cc",
"TimeStamp": "2021-12-09T14:46:53+01:00",
"DeviceList": [
{
"ID": "00:00:00:00:00:00",
"ID": "02:11:11:aa:bb:cc",
"NumberOfRadios": 2,
"CollectionInterval": 0,
"CollectionInterval": 1230,
"RadioList": [
{
"ID": "00:22:07:a2:f0:58",
"Noise": -90,
"ID": "AhISu8zd",
"Noise": 95,
"NumberOfBSS": 1,
"Enabled": true,
"NumberOfCurrOpClass": 1,
"NumberOfUnassocSta": 0,
"Utilization": 0,
"Utilization": 56,
"Transmit": 0,
"ReceiveSelf": 0,
"RecieveOther": 0,
"BSSList": [
{
"BSSID": "00:22:07:a2:f0:58",
"BSSID": "02:12:12:bb:cc:dd",
"SSID": "iopsysWrt-002207A2F052",
"TimeStamp": "",
"TimeStamp": "2021-12-09T14:46:53+01:00",
"Enabled": false,
"LastChange": 0,
"NumberofSTA": 0,
"EstServiceParametersBE": "AAAA\n",
"EstServiceParametersBK": "AAAA\n",
"EstServiceParameterVO": "AAAA\n",
"EstServieParameterVI": "AAAA\n",
"EstServiceParametersBE": "AAAA",
"EstServiceParametersBK": "AAAA",
"EstServiceParameterVO": "AAAA",
"EstServieParameterVI": "AAAA",
"UnicastBytesReceived": 0,
"UnicastBytesSent": 0,
"MulticastBytesReceived": 0,
@ -59,7 +59,7 @@
"MaxTxPower": 20,
"NumberOfNonOperChan": 0,
"NonOperable": [
93
]
},
{
@ -79,8 +79,9 @@
]
}
],
"HTCapabilities": "Dg==\n",
"VHTCapabilities": "AA==\n"
"HTCapabilities": "Dg==",
"VHTCapabilities": "AA==",
"HECapabilities": "AAA="
},
"CurrentOperatingClasses": [
{
@ -109,7 +110,7 @@
{
"StationCount": 1,
"ChannelUtilization": 14,
"BSSID": "00:22:07:9f:b7:fe",
"BSSID": "02:12:12:bb:cc:de",
"SSID": "iopsysWrt-0022079FB7FC",
"SignalStrengh": -32,
"ChannelBandwidth": 0
@ -270,30 +271,30 @@
}
},
{
"ID": "00:22:07:a2:f0:59",
"Noise": -90,
"ID": "AhISu8ze",
"Noise": 90,
"NumberOfBSS": 1,
"Enabled": true,
"NumberOfCurrOpClass": 1,
"NumberOfUnassocSta": 0,
"Utilization": 0,
"Transmit": 0,
"Transmit": 156,
"ReceiveSelf": 0,
"RecieveOther": 0,
"RecieveOther": 121,
"BSSList": [
{
"BSSID": "00:22:07:a2:f0:59",
"BSSID": "02:12:12:bb:cc:de",
"SSID": "iopsysWrt-002207A2F052-new",
"TimeStamp": "",
"TimeStamp": "2021-12-09T14:46:53+01:00",
"Enabled": false,
"LastChange": 0,
"NumberofSTA": 0,
"EstServiceParametersBE": "AAAA\n",
"EstServiceParametersBK": "AAAA\n",
"EstServiceParameterVO": "AAAA\n",
"EstServieParameterVI": "AAAA\n",
"EstServiceParametersBE": "AAAA",
"EstServiceParametersBK": "AAAA",
"EstServiceParameterVO": "AAAA",
"EstServieParameterVI": "AAAA",
"UnicastBytesReceived": 0,
"UnicastBytesSent": 0,
"UnicastBytesSent": 35,
"MulticastBytesReceived": 0,
"MulticastBytesSent": 0,
"BroadcastBytesReceived": 0,
@ -311,7 +312,7 @@
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
93
]
},
{
@ -411,8 +412,9 @@
]
}
],
"HTCapabilities": "Dg==\n",
"VHTCapabilities": "AA==\n"
"HTCapabilities": "Dg==",
"VHTCapabilities": "AA==",
"HECapabilities": "AAA="
},
"CurrentOperatingClasses": [
{
@ -776,693 +778,6 @@
],
"UnassociatedStaList": [
],
"BackhaulSta": {
"MACAddress": "00:00:00:00:00:00"
}
}
]
},
{
"ID": "00:22:07:9f:b7:fc",
"NumberOfRadios": 2,
"CollectionInterval": 0,
"RadioList": [
{
"ID": "00:22:07:9f:b7:fd",
"Noise": 164,
"NumberOfBSS": 1,
"Enabled": true,
"NumberOfCurrOpClass": 1,
"NumberOfUnassocSta": 0,
"Utilization": 0,
"Transmit": 0,
"ReceiveSelf": 0,
"RecieveOther": 0,
"BSSList": [
{
"BSSID": "00:22:07:9f:b7:fd",
"SSID": "iopsysWrt-0022079FB7FC",
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Enabled": false,
"LastChange": 0,
"NumberofSTA": 0,
"EstServiceParametersBE": "AAAA\n",
"EstServiceParametersBK": "AAAA\n",
"EstServiceParameterVO": "AAAA\n",
"EstServieParameterVI": "AAAA\n",
"UnicastBytesReceived": 0,
"UnicastBytesSent": 0,
"MulticastBytesReceived": 0,
"MulticastBytesSent": 17,
"BroadcastBytesReceived": 0,
"BroadcastBytesSent": 0,
"STAList": [
]
}
],
"Capabilites": {
"NumberOfOpClass": 13,
"OperatingClasses": [
{
"Class": 115,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 118,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 121,
"MaxTxPower": 30,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 116,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 119,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 122,
"MaxTxPower": 30,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 117,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 120,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 123,
"MaxTxPower": 30,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 125,
"MaxTxPower": 30,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 128,
"MaxTxPower": 30,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 129,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 130,
"MaxTxPower": 23,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
}
],
"HTCapabilities": "AA==\n",
"VHTCapabilities": "AA==\n"
},
"CurrentOperatingClasses": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 100,
"Class": 128,
"TxPower": 30
}
],
"ScanResultList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"NumberOfOpClassScans": 4,
"OpClassScanList": [
{
"OperatingClass": 115,
"NumberOfChannelScans": 2,
"ChannelScanList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 36,
"NumberofNeighbors": 1,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
{
"StationCount": 0,
"ChannelUtilization": 0,
"BSSID": "00:22:07:a2:f0:59",
"SSID": "iopsysWrt-002207A2F052-new",
"SignalStrengh": 234,
"ChannelBandwidth": 0
}
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 0,
"NumberofNeighbors": 0,
"Noise": 0,
"Utilization": 0,
"NeighborList": [
]
}
]
},
{
"OperatingClass": 118,
"NumberOfChannelScans": 4,
"ChannelScanList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 52,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 56,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 60,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 64,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
}
]
},
{
"OperatingClass": 121,
"NumberOfChannelScans": 11,
"ChannelScanList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 100,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 104,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 108,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 112,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 116,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 120,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 124,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 128,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 132,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 136,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 140,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
}
]
},
{
"OperatingClass": 125,
"NumberOfChannelScans": 6,
"ChannelScanList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 149,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 153,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 157,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 161,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 165,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 169,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
}
]
}
]
}
],
"UnassociatedStaList": [
],
"BackhaulSta": {
"MACAddress": "00:00:00:00:00:00"
}
},
{
"ID": "00:22:07:9f:b7:fe",
"Noise": 171,
"NumberOfBSS": 1,
"Enabled": true,
"NumberOfCurrOpClass": 1,
"NumberOfUnassocSta": 0,
"Utilization": 0,
"Transmit": 0,
"ReceiveSelf": 0,
"RecieveOther": 0,
"BSSList": [
{
"BSSID": "00:22:07:9f:b7:fe",
"SSID": "iopsysWrt-0022079FB7FC",
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Enabled": false,
"LastChange": 0,
"NumberofSTA": 1,
"EstServiceParametersBE": "AAAA\n",
"EstServiceParametersBK": "AAAA\n",
"EstServiceParameterVO": "AAAA\n",
"EstServieParameterVI": "AAAA\n",
"UnicastBytesReceived": 0,
"UnicastBytesSent": 0,
"MulticastBytesReceived": 25,
"MulticastBytesSent": 29,
"BroadcastBytesReceived": 0,
"BroadcastBytesSent": 0,
"STAList": [
{
"MACAddress": "0a:68:d4:d2:2e:77",
"TimeStamp": "2020-07-26T04:54:21+01:00",
"SignalStrength": -49,
"HTCapabilities": "AA==\n",
"VHTCapabilities": "AAAAAAAA\n",
"EstMACDataRateDownlink": 0,
"EstMACDataRateUplink": 0,
"LastDataUplinkRate": 65,
"UtilizationTransmit": 0,
"UtilizationReceive": 0,
"LastConnectTime": 24,
"Hostname": "",
"BytesSent": 26232,
"BytesReceived": 56718,
"PacketsSent": 245,
"PacketsReceived": 486,
"ErrorsSent": 1,
"ErrorsReceived": 0,
"NumberOfMeasureReports": 0,
"Measurementreport": [
]
}
]
}
],
"Capabilites": {
"NumberOfOpClass": 3,
"OperatingClasses": [
{
"Class": 81,
"MaxTxPower": 20,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 83,
"MaxTxPower": 20,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
},
{
"Class": 84,
"MaxTxPower": 20,
"NumberOfNonOperChan": 0,
"NonOperable": [
]
}
],
"HTCapabilities": "AA==\n",
"VHTCapabilities": "AA==\n"
},
"CurrentOperatingClasses": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 1,
"Class": 4,
"TxPower": 30
}
],
"ScanResultList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"NumberOfOpClassScans": 1,
"OpClassScanList": [
{
"OperatingClass": 81,
"NumberOfChannelScans": 12,
"ChannelScanList": [
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 1,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 2,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 3,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 4,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 5,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 6,
"NumberofNeighbors": 1,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
{
"StationCount": 0,
"ChannelUtilization": 0,
"BSSID": "50:0f:f5:89:20:41",
"SSID": "404 not found",
"SignalStrengh": 228,
"ChannelBandwidth": 0
}
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 7,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 8,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 9,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 10,
"NumberofNeighbors": 0,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 11,
"NumberofNeighbors": 1,
"Noise": 100,
"Utilization": 50,
"NeighborList": [
{
"StationCount": 0,
"ChannelUtilization": 0,
"BSSID": "00:22:07:a2:f0:58",
"SSID": "iopsysWrt-002207A2F052",
"SignalStrengh": 227,
"ChannelBandwidth": 0
}
]
},
{
"TimeStamp": "2020-07-26T04:54:21+01:00",
"Channel": 0,
"NumberofNeighbors": 0,
"Noise": 0,
"Utilization": 0,
"NeighborList": [
]
}
]
}
]
}
],
"UnassociatedStaList": [
],
"BackhaulSta": {
"MACAddress": "00:00:00:00:00:00"

View file

@ -0,0 +1,204 @@
{
"num_ssid": 1,
"ssidlist": [
{
"ssid": "5GHz-main",
"band": "5GHz",
"vid": 100,
"security": "WPA"
},
{
"ssid": "5GHz-guest",
"band": "5GHz",
"vid": 200,
"security": "WPA"
},
{
"ssid": "MAP-608D26C4983C-2.4GHz",
"band": "2.4GHz",
"vid": 100,
"security": "WPA"
},
{
"ssid": "MAP-608D26C4983C-BH-5GHz",
"band": "5GHz",
"vid": 100,
"security": "WPA"
},
{
"ssid": "MAP-608D26C4983C-BH-2.4GHz",
"band": "2.4GHz",
"vid": 100,
"security": "WPA"
}
],
"num_ap_devices":1,
"APDeviceList": [
{
"macaddr": "02:11:11:aa:bb:cc",
"manufacturer": "IOPSYS",
"oui": "00:22:07",
"product_class": "AP",
"serialnumber": "12345",
"version": "6.4",
"last_connect_time": "TODO",
"backhaul_type": "TODO",
"backhaul_macaddr": "TODO",
"backhaul_tx_bytes": 0,
"backhaul_rx_bytes": 0,
"backhaul_utilization": 0,
"backhaul_rcpi": 0,
"radar_detections": [
],
"MaxReportingRate": 80,
"MultiAPProfile": "TODO",
"MaxVIDs": 4095,
"DFSEnable": true,
"EasyMeshControllerOperationMode": "TODO",
"EasyMeshAgentOperationMode": "TODO",
"Backhaul_BackhaulMACAddress": "TODO",
"Backhaul_BackhaulDeviceID": "TODO",
"Backhaul_CurrentOperatingClassProfileNumberOfEntries": 1,
"Backhaul_CurrentOperatingClassProfile": [
{
"Class": 10,
"Channel": 15,
"TxPower": -50,
"TimeStamp": "TODO"
}
],
"Backhaul_BytesSent": 1,
"Backhaul_BytesReceived": 2,
"Backhaul_PacketsSent": 3,
"Backhaul_PacketsReceived": 4,
"Backhaul_ErrorsSent": 5,
"Backhaul_ErrorsReceived": 6,
"Backhaul_LinkUtilization": 7,
"Backhaul_SignalStrength": 8,
"Backhaul_LastDataDownlinkRate": 9,
"Backhaul_LastDataUplinkRate": 10,
"Backhaul_TimeStamp": "TODO",
"num_radios": 2,
"RadioList": [
{
"ID": "AhISu8zd",
"band": 2,
"standard": "ax",
"channel": 8,
"bandwidth": 40,
"channel_ext": 1,
"mcs": 7,
"txpower": 23,
"channels": [
],
"num_bss": 1,
"APList": [
{
"bssid": "",
"ssid": "",
"num_steer_assoc_control": 12,
"num_steer_btm": 5,
"num_steer_btm_query": 1,
"num_stations": 1,
"StationList": [
{
"macaddr": "",
"standard": "a",
"active": true,
"connect_time": 51,
"dl_rate": -52,
"ul_rate": -40,
"rcpi": 55,
"noise": -90,
"tx_bytes": 1,
"rx_bytes": 2,
"tx_packets": 3,
"rx_packets": 4,
"tx_error_packets": 5,
"rx_error_packets": 6,
"tx_retrans_packets": 7
}
]
}
],
"scan_boot_only": true,
"scan_impact": 2,
"scan_interval": 50,
"scan_num_opclass": 1,
"OpClassChannels": [
{
"OpClass": 10,
"ChannelList": "TODO"
}
],
"num_CACMethod": 1,
"CACMethod": [
{
"Method": 12
}
]
},
{
"ID": "AhISu8ze",
"band": 2,
"standard": "ax",
"channel": 8,
"bandwidth": 40,
"channel_ext": 1,
"mcs": 7,
"txpower": 23,
"channels": [
],
"num_bss": 1,
"APList": [
{
"bssid": "",
"ssid": "",
"num_steer_assoc_control": 12,
"num_steer_btm": 5,
"num_steer_btm_query": 1,
"num_stations": 1,
"StationList": [
{
"macaddr": "",
"standard": "a",
"active": true,
"connect_time": 51,
"dl_rate": -52,
"ul_rate": -40,
"rcpi": 55,
"noise": -90,
"tx_bytes": 1,
"rx_bytes": 2,
"tx_packets": 3,
"rx_packets": 4,
"tx_error_packets": 5,
"rx_error_packets": 6,
"tx_retrans_packets": 7
}
]
}
],
"scan_boot_only": true,
"scan_impact": 2,
"scan_interval": 50,
"scan_num_opclass": 1,
"OpClassChannels": [
{
"OpClass": 10,
"ChannelList": "TODO"
}
],
"num_CACMethod": 1,
"CACMethod": [
{
"Method": 12
}
]
}
]
}
]
}

View file

@ -0,0 +1,17 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
case "$1" in
list)
echo '{ "steer_summary" : {} }'
;;
call)
case "$2" in
steer_summary)
cat /tmp/mapcontroller_steer_summary.data 2>/dev/null
;;
esac
;;
esac

View file

@ -4,7 +4,7 @@
case "$1" in
list)
echo '{ "dump" : {}, "event": {} }'
echo '{ "dump" : {}, "event": {}, "dump2": {} }'
;;
call)
case "$2" in
@ -14,6 +14,9 @@ case "$1" in
event)
cat /tmp/wifi.dataelements.collector.event.data 2>/dev/null
;;
dump2)
cat /tmp/wifi.dataelements.collector.dump2.data 2>/dev/null
;;
esac
;;
esac