diff --git a/src/cntlr.h b/src/cntlr.h
index 97adc8706f9bcd3219cae3bce891abfa03b2a4aa..c31898426e5d50cbb6362d01a1e80677903255b6 100644
--- a/src/cntlr.h
+++ b/src/cntlr.h
@@ -167,6 +167,7 @@ struct netif_iface {
 	int capacity;				/* TODO unused */
 
 	struct node *agent;
+	struct netif_radio *radio;
 	uint8_t upstream_bssid[6]; /* in the case of the interface is a bsta interface */
 
 	struct wifi_bss_element *bss;
diff --git a/src/cntlr_map.c b/src/cntlr_map.c
index b473ff20bb4a1e4deb7c5fdef038126adaf0f607..3a3d438b986e3eac5fada7ffb246c9a5a51ae2fc 100644
--- a/src/cntlr_map.c
+++ b/src/cntlr_map.c
@@ -300,6 +300,8 @@ static int topology_response_vext(struct controller *c, struct node *n, struct t
 				fh->bss->is_bbss = true;
 				fh->bss->is_fbss = false;
 
+				fh->radio = r;
+
 				offset += 6; /* macaddr */
 			}
 		}
@@ -1810,6 +1812,8 @@ int handle_oper_channel_report(void *cntlr, struct cmdu_buff *cmdu, struct node
 		uint8_t mac[6] = {0};
 		uint8_t *p = (uint8_t *)tv[0][idx++]->data;
 		struct netif_radio *r;
+		struct netif_iface *fh = NULL;
+		enum wifi_band band = BAND_UNKNOWN;
 		uint8_t channel;
 		uint8_t opclass;
 		uint8_t txpower;
@@ -1838,6 +1842,12 @@ int handle_oper_channel_report(void *cntlr, struct cmdu_buff *cmdu, struct node
 		}
 		offset++;
 
+		/* setup band */
+		band = wifi_opclass_get_band(r->radio_el->cur_opclass.opclass[0].id);
+		list_for_each_entry(fh, &r->iflist, list) {
+			fh->band = band;
+		}
+
 		cntlr_radio_cur_opclass_dump(r->radio_el);
 	}
 
diff --git a/src/cntlr_ubus.c b/src/cntlr_ubus.c
index d9dcd902ea18995f100f68a79bddc5971b4dfcf6..9a6e71ebb2ac0053c12e94fcc9669f7f04e3af67 100644
--- a/src/cntlr_ubus.c
+++ b/src/cntlr_ubus.c
@@ -563,6 +563,22 @@ static void add_array_meas_reportlist(struct blob_buf *bb,
 	blobmsg_close_array(bb, t);
 }
 
+static char *band_str(enum wifi_band band)
+{
+	switch (band) {
+	case BAND_2:
+		return "2.4GHz";
+	case BAND_5:
+		return "5GHz";
+	case BAND_6:
+		return "6GHz";
+	default:
+		return "unknown";
+	}
+
+	return "unknown";
+}
+
 static int _cntlr_status(struct ubus_context *ctx, struct ubus_object *obj,
 			 struct ubus_request_data *req, const char *method,
 			 struct blob_attr *msg, bool full)
@@ -673,6 +689,9 @@ static int _cntlr_status(struct ubus_context *ctx, struct ubus_object *obj,
 
 		blobmsg_add_string(&bb, "macaddr", stastr);
 		blobmsg_add_string(&bb, "bssid", bssstr);
+		blobmsg_add_string(&bb, "ssid", s->fh->bss->ssid);
+		blobmsg_add_string(&bb, "band", band_str(s->fh->band));
+		blobmsg_add_u32(&bb, "utilization", s->fh->bss->ch_util);
 		blobmsg_add_u16(&bb, "conntime", s->de_sta->conn_time);
 		blobmsg_add_u32(&bb, "time_delta", s->time_delta);
 		blobmsg_add_u32(&bb, "dl_rate", s->de_sta->dl_rate);