diff options
Diffstat (limited to 'package/network/utils/iw/patches/301-ibss_add_VHT80.patch')
-rw-r--r-- | package/network/utils/iw/patches/301-ibss_add_VHT80.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/package/network/utils/iw/patches/301-ibss_add_VHT80.patch b/package/network/utils/iw/patches/301-ibss_add_VHT80.patch deleted file mode 100644 index 0627bccb46..0000000000 --- a/package/network/utils/iw/patches/301-ibss_add_VHT80.patch +++ /dev/null @@ -1,102 +0,0 @@ -From: "Janusz.Dziedzic@tieto.com" <Janusz.Dziedzic@tieto.com> -Date: Thu, 10 Sep 2015 12:04:13 +0200 -Subject: ibss: add VHT80 support for IBSS - -Add VHT80 support for IBSS. - -eg. iw wlan0 ibss join 5180 80MHZ - iw wlan0 ibbs join 5220 80MHZ - -Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> -[fix formatting] -Signed-off-by: Johannes Berg <johannes.berg@intel.com> ---- - ibss.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 41 insertions(+), 8 deletions(-) - ---- a/ibss.c -+++ b/ibss.c -@@ -16,6 +16,39 @@ - - SECTION(ibss); - -+struct chanmode { -+ const char *name; -+ unsigned int width; -+ int freq1_diff; -+ int chantype; /* for older kernel */ -+}; -+ -+static int get_cf1(const struct chanmode *chanmode, unsigned long freq) -+{ -+ int cf1 = freq, j; -+ int vht80[] = { 5180, 5260, 5500, 5580, 5660, 5745 }; -+ -+ switch (chanmode->width) { -+ case NL80211_CHAN_WIDTH_80: -+ /* setup center_freq1 */ -+ for (j = 0; j < ARRAY_SIZE(vht80); j++) { -+ if (freq >= vht80[j] && freq < vht80[j] + 80) -+ break; -+ } -+ -+ if (j == ARRAY_SIZE(vht80)) -+ break; -+ -+ cf1 = vht80[j] + 30; -+ break; -+ default: -+ cf1 = freq + chanmode->freq1_diff; -+ break; -+ } -+ -+ return cf1; -+} -+ - static int join_ibss(struct nl80211_state *state, - struct nl_msg *msg, - int argc, char **argv, -@@ -30,12 +63,8 @@ static int join_ibss(struct nl80211_stat - int bintval; - int i; - unsigned long freq; -- static const struct { -- const char *name; -- unsigned int width; -- int freq1_diff; -- int chantype; /* for older kernel */ -- } *chanmode_selected = NULL, chanmode[] = { -+ const struct chanmode *chanmode_selected = NULL; -+ static const struct chanmode chanmode[] = { - { .name = "HT20", - .width = NL80211_CHAN_WIDTH_20, - .freq1_diff = 0, -@@ -60,6 +89,10 @@ static int join_ibss(struct nl80211_stat - .width = NL80211_CHAN_WIDTH_10, - .freq1_diff = 0, - .chantype = -1 }, -+ { .name = "80MHZ", -+ .width = NL80211_CHAN_WIDTH_80, -+ .freq1_diff = 0, -+ .chantype = -1 }, - }; - - if (argc < 2) -@@ -90,7 +123,7 @@ static int join_ibss(struct nl80211_stat - NLA_PUT_U32(msg, NL80211_ATTR_CHANNEL_WIDTH, - chanmode_selected->width); - NLA_PUT_U32(msg, NL80211_ATTR_CENTER_FREQ1, -- freq + chanmode_selected->freq1_diff); -+ get_cf1(chanmode_selected, freq)); - if (chanmode_selected->chantype != -1) - NLA_PUT_U32(msg, - NL80211_ATTR_WIPHY_CHANNEL_TYPE, -@@ -192,7 +225,7 @@ COMMAND(ibss, leave, NULL, - NL80211_CMD_LEAVE_IBSS, 0, CIB_NETDEV, leave_ibss, - "Leave the current IBSS cell."); - COMMAND(ibss, join, -- "<SSID> <freq in MHz> [HT20|HT40+|HT40-|NOHT|5MHZ|10MHZ] [fixed-freq] [<fixed bssid>] [beacon-interval <TU>]" -+ "<SSID> <freq in MHz> [HT20|HT40+|HT40-|NOHT|5MHZ|10MHZ|80MHZ] [fixed-freq] [<fixed bssid>] [beacon-interval <TU>]" - " [basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] " - "[key d:0:abcde]", - NL80211_CMD_JOIN_IBSS, 0, CIB_NETDEV, join_ibss, |