From: Jo-Philipp Wich Date: Sat, 21 Nov 2009 02:10:13 +0000 (+0000) Subject: libs/iwinfo: support txpwrlist() for madwifi master devices X-Git-Tag: 0.10.0~937 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=a1ab9b51109d551edbff50a26c1ce127cfc5cbdc libs/iwinfo: support txpwrlist() for madwifi master devices --- diff --git a/libs/iwinfo/src/iwinfo_madwifi.c b/libs/iwinfo/src/iwinfo_madwifi.c index 83829cf39..33307022e 100644 --- a/libs/iwinfo/src/iwinfo_madwifi.c +++ b/libs/iwinfo/src/iwinfo_madwifi.c @@ -435,7 +435,29 @@ int madwifi_get_assoclist(const char *ifname, char *buf, int *len) int madwifi_get_txpwrlist(const char *ifname, char *buf, int *len) { - return wext_get_txpwrlist(ifname, buf, len); + int rc = -1; + char cmd[256]; + + /* A wifiX device? */ + if( madwifi_iswifi(ifname) ) + { + sprintf(cmd, "wlanconfig ath-txpwr create nounit " + "wlandev %s wlanmode ap >/dev/null", ifname); + + if( ! WEXITSTATUS(system(cmd)) ) + { + rc = wext_get_txpwrlist("ath-txpwr", buf, len); + (void) WEXITSTATUS(system("wlanconfig ath-txpwr destroy")); + } + } + + /* Its an athX ... */ + else if( madwifi_isvap(ifname, NULL) ) + { + rc = wext_get_txpwrlist(ifname, buf, len); + } + + return rc; } int madwifi_get_scanlist(const char *ifname, char *buf, int *len)