diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-26 11:34:01 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-26 11:34:01 +0000 | 
| commit | 166805a08e10eee3d68e2e320d6f08d1b7e2eef3 (patch) | |
| tree | eade886aa2a35a1110e3b9abec12760152ae3c77 | |
| parent | fedce2a94df014ad03a010842fba9cae4dca5933 (diff) | |
iw: Add ibss join parameter for beacon interval
NL80211_ATTR_BEACON_INTERVAL already exists, we just have to use it.
Patch from: kentarou matsuyama <matsuyama@thinktube.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25107 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/iw/patches/501-ibss-bintval.patch | 57 | 
1 files changed, 57 insertions, 0 deletions
diff --git a/package/iw/patches/501-ibss-bintval.patch b/package/iw/patches/501-ibss-bintval.patch new file mode 100644 index 000000000..aa18641e6 --- /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 <br1@einfach.org> + +NL80211_ATTR_BEACON_INTERVAL already exists, we just have to use it. + +Signed-off-by: Bruno Randolf <br1@einfach.org> +--- + 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, +-	"<SSID> <freq in MHz> [fixed-freq] [<fixed bssid>] " +-	"[basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] [key d:0:abcde]", ++	"<SSID> <freq in MHz> [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, + 	"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).");  | 
