summaryrefslogtreecommitdiffstats
path: root/package/network/utils/iw/patches/100-rx_rate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils/iw/patches/100-rx_rate.patch')
-rw-r--r--package/network/utils/iw/patches/100-rx_rate.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/network/utils/iw/patches/100-rx_rate.patch b/package/network/utils/iw/patches/100-rx_rate.patch
new file mode 100644
index 000000000..cc23e0750
--- /dev/null
+++ b/package/network/utils/iw/patches/100-rx_rate.patch
@@ -0,0 +1,60 @@
+--- a/station.c
++++ b/station.c
+@@ -43,7 +43,7 @@ static void print_power_mode(struct nlat
+ }
+ }
+
+-void parse_tx_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen)
++void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen)
+ {
+ int rate = 0;
+ char *pos = buf;
+@@ -107,6 +107,7 @@ static int print_sta_handler(struct nl_m
+ [NL80211_STA_INFO_SIGNAL] = { .type = NLA_U8 },
+ [NL80211_STA_INFO_T_OFFSET] = { .type = NLA_U64 },
+ [NL80211_STA_INFO_TX_BITRATE] = { .type = NLA_NESTED },
++ [NL80211_STA_INFO_RX_BITRATE] = { .type = NLA_NESTED },
+ [NL80211_STA_INFO_LLID] = { .type = NLA_U16 },
+ [NL80211_STA_INFO_PLID] = { .type = NLA_U16 },
+ [NL80211_STA_INFO_PLINK_STATE] = { .type = NLA_U8 },
+@@ -177,10 +178,17 @@ static int print_sta_handler(struct nl_m
+ if (sinfo[NL80211_STA_INFO_TX_BITRATE]) {
+ char buf[100];
+
+- parse_tx_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf));
++ parse_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf));
+ printf("\n\ttx bitrate:\t%s", buf);
+ }
+
++ if (sinfo[NL80211_STA_INFO_RX_BITRATE]) {
++ char buf[100];
++
++ parse_bitrate(sinfo[NL80211_STA_INFO_RX_BITRATE], buf, sizeof(buf));
++ printf("\n\trx bitrate:\t%s", buf);
++ }
++
+ if (sinfo[NL80211_STA_INFO_LLID])
+ printf("\n\tmesh llid:\t%d",
+ nla_get_u16(sinfo[NL80211_STA_INFO_LLID]));
+--- a/iw.h
++++ b/iw.h
+@@ -170,7 +170,7 @@ enum print_ie_type {
+ void print_ies(unsigned char *ie, int ielen, bool unknown,
+ enum print_ie_type ptype);
+
+-void parse_tx_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen);
++void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen);
+
+ DECLARE_SECTION(set);
+ DECLARE_SECTION(get);
+--- a/link.c
++++ b/link.c
+@@ -165,7 +165,7 @@ static int print_link_sta(struct nl_msg
+ if (sinfo[NL80211_STA_INFO_TX_BITRATE]) {
+ char buf[100];
+
+- parse_tx_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf));
++ parse_bitrate(sinfo[NL80211_STA_INFO_TX_BITRATE], buf, sizeof(buf));
+ printf("\ttx bitrate: %s\n", buf);
+ }
+