From: Felix Fietkau Date: Wed, 26 Jan 2011 11:34:01 +0000 (+0000) Subject: iw: Add ibss join parameter for beacon interval X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3bb98c5e1aa25056ea0e08f50405df6dcd964e30;p=openwrt%2Fstaging%2Faparcar.git iw: Add ibss join parameter for beacon interval NL80211_ATTR_BEACON_INTERVAL already exists, we just have to use it. Patch from: kentarou matsuyama SVN-Revision: 25107 --- diff --git a/package/iw/patches/501-ibss-bintval.patch b/package/iw/patches/501-ibss-bintval.patch new file mode 100644 index 0000000000..aa18641e60 --- /dev/null +++ b/package/iw/patches/501-ibss-bintval.patch @@ -0,0 +1,57 @@ +iw: Add ibss join parameter for beacon interval + +From: Bruno Randolf + +NL80211_ATTR_BEACON_INTERVAL already exists, we just have to use it. + +Signed-off-by: Bruno Randolf +--- + ibss.c | 19 ++++++++++++++++--- + 1 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/ibss.c b/ibss.c +index ed2c73a..9c9c133 100644 +--- a/ibss.c ++++ b/ibss.c +@@ -26,6 +26,7 @@ static int join_ibss(struct nl80211_state *state, + int n_rates = 0; + char *value = NULL, *sptr = NULL; + float rate; ++ int bintval; + + if (argc < 2) + return 1; +@@ -57,6 +58,17 @@ static int join_ibss(struct nl80211_state *state, + } + } + ++ if (argc > 1 && strcmp(argv[0], "beacon-interval") == 0) { ++ argv++; ++ argc--; ++ bintval = strtoul(argv[0], &end, 10); ++ if (*end != '\0') ++ return 1; ++ NLA_PUT_U32(msg, NL80211_ATTR_BEACON_INTERVAL, bintval); ++ argv++; ++ argc--; ++ } ++ + /* basic rates */ + if (argc > 1 && strcmp(argv[0], "basic-rates") == 0) { + argv++; +@@ -122,11 +134,12 @@ COMMAND(ibss, leave, NULL, + NL80211_CMD_LEAVE_IBSS, 0, CIB_NETDEV, leave_ibss, + "Leave the current IBSS cell."); + COMMAND(ibss, join, +- " [fixed-freq] [] " +- "[basic-rates ] [mcast-rate ] [key d:0:abcde]", ++ " [fixed-freq] [] [beacon-interval " ++ "] [basic-rates ] [mcast-rate ] [key d:0:abcde]", + NL80211_CMD_JOIN_IBSS, 0, CIB_NETDEV, join_ibss, + "Join the IBSS cell with the given SSID, if it doesn't exist create\n" + "it on the given frequency. When fixed frequency is requested, don't\n" + "join/create a cell on a different frequency. When a fixed BSSID is\n" + "requested use that BSSID and do not adopt another cell's BSSID even\n" +- "if it has higher TSF and the same SSID."); ++ "if it has higher TSF and the same SSID. If an IBSS is created, create\n" ++ "it with the specified basic-rates and beacon-interval (in TU).");