aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/iw/patches/010-dynack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils/iw/patches/010-dynack.patch')
-rw-r--r--package/network/utils/iw/patches/010-dynack.patch94
1 files changed, 0 insertions, 94 deletions
diff --git a/package/network/utils/iw/patches/010-dynack.patch b/package/network/utils/iw/patches/010-dynack.patch
deleted file mode 100644
index 00e4bf2467..0000000000
--- a/package/network/utils/iw/patches/010-dynack.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-Add auto parameter to set distance command in order to enable ACK timeout
-estimation algorithm (dynack). Dynack is automatically disabled setting valid
-value for coverage class. Currently dynack is supported just by ath9k
-
-This patch is based on "configure dynack through mac80211/cfg80211 stack"
-patchset sent on linux-wireless
-
-Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
----
- info.c | 2 ++
- nl80211.h | 12 ++++++++++++
- phy.c | 43 +++++++++++++++++++++++++------------------
- 3 files changed, 39 insertions(+), 18 deletions(-)
-
---- a/info.c
-+++ b/info.c
-@@ -551,6 +551,8 @@ broken_combination:
- printf("\tDevice supports scan flush.\n");
- if (features & NL80211_FEATURE_AP_SCAN)
- printf("\tDevice supports AP scan.\n");
-+ if (features & NL80211_FEATURE_ACKTO_ESTIMATION)
-+ printf("\tDevice supports ACK timeout estimation.\n");
- }
-
- if (tb_msg[NL80211_ATTR_TDLS_SUPPORT])
---- a/phy.c
-+++ b/phy.c
-@@ -362,39 +362,46 @@ static int handle_distance(struct nl8021
- int argc, char **argv,
- enum id_input id)
- {
-- char *end;
-- unsigned int distance, coverage;
--
- if (argc != 1)
- return 1;
-
- if (!*argv[0])
- return 1;
-
-- distance = strtoul(argv[0], &end, 10);
-+ if (strcmp("auto", argv[0]) == 0) {
-+ NLA_PUT_FLAG(msg, NL80211_ATTR_WIPHY_DYN_ACK);
-+ } else {
-+ char *end;
-+ unsigned int distance, coverage;
-
-- if (*end)
-- return 1;
-+ distance = strtoul(argv[0], &end, 10);
-
-- /*
-- * Divide double the distance by the speed of light in m/usec (300) to
-- * get round-trip time in microseconds and then divide the result by
-- * three to get coverage class as specified in IEEE 802.11-2007 table
-- * 7-27. Values are rounded upwards.
-- */
-- coverage = (distance + 449) / 450;
-- if (coverage > 255)
-- return 1;
-+ if (*end)
-+ return 1;
-+
-+ /*
-+ * Divide double the distance by the speed of light
-+ * in m/usec (300) to get round-trip time in microseconds
-+ * and then divide the result by three to get coverage class
-+ * as specified in IEEE 802.11-2007 table 7-27.
-+ * Values are rounded upwards.
-+ */
-+ coverage = (distance + 449) / 450;
-+ if (coverage > 255)
-+ return 1;
-
-- NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_COVERAGE_CLASS, coverage);
-+ NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_COVERAGE_CLASS, coverage);
-+ }
-
- return 0;
- nla_put_failure:
- return -ENOBUFS;
- }
--COMMAND(set, distance, "<distance>",
-+COMMAND(set, distance, "<auto|distance>",
- NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_distance,
-- "Set appropriate coverage class for given link distance in meters.\n"
-+ "Enable ACK timeout estimation algorithm (dynack) or set appropriate\n"
-+ "coverage class for given link distance in meters.\n"
-+ "To disable dynack set valid value for coverage class.\n"
- "Valid values: 0 - 114750");
-
- static int handle_txpower(struct nl80211_state *state,