From f95111bf3d4090db16009824c75424ed3d2e5cf3 Mon Sep 17 00:00:00 2001 From: Janusz Dziedzic <janusz.dziedzic@iopsys.eu> Date: Tue, 25 Feb 2025 17:02:19 +0100 Subject: [PATCH] apmld status fix --- wifimngr.c | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/wifimngr.c b/wifimngr.c index fccdb45..277b4de 100644 --- a/wifimngr.c +++ b/wifimngr.c @@ -5245,6 +5245,7 @@ int wl_apmld_status(struct ubus_context *ctx, struct ubus_object *obj, a = blobmsg_open_array(&bb, "links"); for (i = 0; i < num; i++) { + struct wifi_ap ap = {}; char std_buf2[32] = "802.11"; char sec_str[128] = {0}; char std_buf[32] = {0}; @@ -5260,30 +5261,32 @@ int wl_apmld_status(struct ubus_context *ctx, struct ubus_object *obj, blobmsg_add_u32(&bb, "ccfs0", link[i].ccfs0); blobmsg_add_u32(&bb, "ccfs1", link[i].ccfs1); blobmsg_add_u32(&bb, "bandwidth", bw_value(link[i].bandwidth)); - blobmsg_add_u32(&bb, "puncture_bitmap", (int)BUF_GET_LE16(link[i].ap.bss.puncture)); - blobmsg_add_macaddr(&bb, "macaddr", link[i].macaddr); - wifi_security_str(link[i].ap.bss.security, sec_str); - blobmsg_add_string(&bb, "security", sec_str); - blobmsg_add_string(&bb, "encryption", etostr(link[i].ap.bss.rsn.pair_ciphers, - enc_buf, sizeof(enc_buf), 14, wifi_cipherstr)); - snprintf(std_buf2 + strlen(std_buf2), 31, "%s", - etostr(link[i].ap.bss.oper_std, std_buf, sizeof(std_buf), WIFI_NUM_STD, standard_str)); - blobmsg_add_string(&bb, "standard", std_buf2); - - blobmsg_add_u32(&bb, "num_stations", link[i].ap.bss.load.sta_count); - blobmsg_add_u32(&bb, "max_stations", link[i].ap.assoclist_max); - blobmsg_add_u32(&bb, "utilization", link[i].ap.bss.load.utilization); - blobmsg_add_u32(&bb, "adm_capacity", link[i].ap.bss.load.available); - blobmsg_add_u8(&bb, "hidden", !link[i].ap.ssid_advertised ? true : false); - - wl_dump_supp_security(&bb, link[i].ap.sec.supp_modes); - wl_dump_capabilities(link[i].ap.bss.band, &bb, - &link[i].ap.bss.caps, - link[i].ap.bss.cbitmap, - sizeof(link[i].ap.bss.cbitmap)); - //wl_ap_wmm_status(&bb, link[i].ap.ac); + if (!wifi_ap_info_band(ifname, link[i].band, &ap)) { + blobmsg_add_u32(&bb, "puncture_bitmap", (int)BUF_GET_LE16(ap.bss.puncture)); + wifi_security_str(ap.bss.security, sec_str); + blobmsg_add_string(&bb, "security", sec_str); + blobmsg_add_string(&bb, "encryption", etostr(ap.bss.rsn.pair_ciphers, + enc_buf, sizeof(enc_buf), 14, wifi_cipherstr)); + + snprintf(std_buf2 + strlen(std_buf2), 31, "%s", + etostr(ap.bss.oper_std, std_buf, sizeof(std_buf), WIFI_NUM_STD, standard_str)); + blobmsg_add_string(&bb, "standard", std_buf2); + + blobmsg_add_u32(&bb, "num_stations", ap.bss.load.sta_count); + blobmsg_add_u32(&bb, "max_stations", ap.assoclist_max); + blobmsg_add_u32(&bb, "utilization", ap.bss.load.utilization); + blobmsg_add_u32(&bb, "adm_capacity", ap.bss.load.available); + blobmsg_add_u8(&bb, "hidden", !ap.ssid_advertised ? true : false); + + wl_dump_supp_security(&bb, ap.sec.supp_modes); + wl_dump_capabilities(ap.bss.band, &bb, + &ap.bss.caps, + ap.bss.cbitmap, + sizeof(ap.bss.cbitmap)); + //wl_ap_wmm_status(&bb, link[i].ap.ac); + } blobmsg_close_table(&bb, t); } blobmsg_close_array(&bb, a); -- GitLab