iwinfo: add current hw and ht mode to info call
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
This commit is contained in:
parent
aaa08366e6
commit
efe51f41d6
1 changed files with 44 additions and 0 deletions
44
iwinfo.c
44
iwinfo.c
|
@ -290,6 +290,48 @@ rpc_iwinfo_call_hwmodes(const char *name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void rpc_iwinfo_call_hw_ht_mode()
|
||||||
|
{
|
||||||
|
const char *hwmode_str;
|
||||||
|
const char *htmode_str;
|
||||||
|
int32_t htmode = 0;
|
||||||
|
|
||||||
|
if (iw->htmode(ifname, &htmode))
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (htmode) {
|
||||||
|
case IWINFO_HTMODE_HT20:
|
||||||
|
htmode_str = "HT20";
|
||||||
|
hwmode_str = "n";
|
||||||
|
break;
|
||||||
|
case IWINFO_HTMODE_HT40:
|
||||||
|
htmode_str = "HT40";
|
||||||
|
hwmode_str = "n";
|
||||||
|
break;
|
||||||
|
case IWINFO_HTMODE_VHT80:
|
||||||
|
htmode_str = "VHT80";
|
||||||
|
hwmode_str = "ac";
|
||||||
|
break;
|
||||||
|
case IWINFO_HTMODE_VHT80_80:
|
||||||
|
htmode_str = "VHT80+80";
|
||||||
|
hwmode_str = "ac";
|
||||||
|
break;
|
||||||
|
case IWINFO_HTMODE_VHT160:
|
||||||
|
htmode_str = "VHT160";
|
||||||
|
hwmode_str = "ac";
|
||||||
|
break;
|
||||||
|
case IWINFO_HTMODE_NOHT:
|
||||||
|
htmode_str = "20";
|
||||||
|
hwmode_str = "a/g";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
htmode_str = hwmode_str = "unknown";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
blobmsg_add_string(&buf, "hwmode", hwmode_str);
|
||||||
|
blobmsg_add_string(&buf, "htmode", htmode_str);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rpc_iwinfo_call_str(const char *name, int (*func)(const char *, char *))
|
rpc_iwinfo_call_str(const char *name, int (*func)(const char *, char *))
|
||||||
{
|
{
|
||||||
|
@ -341,6 +383,8 @@ rpc_iwinfo_info(struct ubus_context *ctx, struct ubus_object *obj,
|
||||||
rpc_iwinfo_call_htmodes("htmodes");
|
rpc_iwinfo_call_htmodes("htmodes");
|
||||||
rpc_iwinfo_call_hwmodes("hwmodes");
|
rpc_iwinfo_call_hwmodes("hwmodes");
|
||||||
|
|
||||||
|
rpc_iwinfo_call_hw_ht_mode();
|
||||||
|
|
||||||
c = blobmsg_open_table(&buf, "hardware");
|
c = blobmsg_open_table(&buf, "hardware");
|
||||||
rpc_iwinfo_call_hardware_id("id");
|
rpc_iwinfo_call_hardware_id("id");
|
||||||
rpc_iwinfo_call_str("name", iw->hardware_name);
|
rpc_iwinfo_call_str("name", iw->hardware_name);
|
||||||
|
|
Loading…
Reference in a new issue