diff --git a/src/agent.c b/src/agent.c index b9fe375ab2939d91651c368beec73bf60080c543..9c8eb0c9de966ce3d061c5864d8ed6f694ec10c5 100644 --- a/src/agent.c +++ b/src/agent.c @@ -4481,6 +4481,8 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type, struct radio_apcfg_state { char name[16]; enum autocfg_state state; + uint16_t mid; + uint16_t wsc_mid; } apcfg_state[WIFI_DEVICE_MAX_NUM] = {0}; struct agent *a = (struct agent *)req->priv; struct json_object *json_msg; @@ -4511,6 +4513,9 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type, strncpy(apcfg_state[i].name, a->radios[i].name, IFNAMSIZ - 1); apcfg_state[i].state = a->radios[i].state; + apcfg_state[i].mid = a->radios[i].mid; + apcfg_state[i].wsc_mid = a->radios[i].wsc_mid; + } prev_len = a->num_radios; /* clears radio apcfg states */ @@ -4542,6 +4547,8 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type, if (!strncmp(apcfg_state[j].name, a->radios[i].name, IFNAMSIZ - 1)) { a->radios[i].state = apcfg_state[j].state; + a->radios[i].mid = apcfg_state[j].mid; + a->radios[i].wsc_mid = apcfg_state[j].wsc_mid; } } @@ -6034,6 +6041,8 @@ int wifiagent_get_status(struct ubus_context *ctx, blobmsg_add_u32(&bb, "bandwidth", re->current_bandwidth); blobmsg_add_u32(&bb, "opclass", re->current_opclass); blobmsg_add_u32(&bb, "autocfg_state", re->state); + blobmsg_add_u32(&bb, "autocfg_search_mid", re->mid); + blobmsg_add_u32(&bb, "autocfg_wsc_mid", re->wsc_mid); blobmsg_close_table(&bb, t); } blobmsg_close_array(&bb, a);