X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Fnetwork%2Futils%2Fiw%2Fpatches%2F001-nl80211_h_sync.patch;h=7de225859b71c2bb7627503b676aa7f2a122ccd9;hp=ce706daf91aeb68b3ab31704221f31772eaf672f;hb=c9cb3f4d1cd63b924d95733f30c7c7d1759c987b;hpb=a86a5699d9b5c669bf41e19736a044b035da0332 diff --git a/package/network/utils/iw/patches/001-nl80211_h_sync.patch b/package/network/utils/iw/patches/001-nl80211_h_sync.patch index ce706daf91..7de225859b 100644 --- a/package/network/utils/iw/patches/001-nl80211_h_sync.patch +++ b/package/network/utils/iw/patches/001-nl80211_h_sync.patch @@ -1,21 +1,111 @@ --- a/nl80211.h +++ b/nl80211.h -@@ -1761,6 +1761,9 @@ enum nl80211_commands { +@@ -10,6 +10,7 @@ + * Copyright 2008, 2009 Luis R. Rodriguez + * Copyright 2008 Jouni Malinen + * Copyright 2008 Colin McCabe ++ * Copyright 2015 Intel Deutschland GmbH + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above +@@ -328,7 +329,15 @@ + * partial scan results may be available + * + * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain +- * intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL. ++ * intervals and certain number of cycles, as specified by ++ * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is ++ * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified, ++ * scheduled scan will run in an infinite loop with the specified interval. ++ * These attributes are mutually exculsive, ++ * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if ++ * NL80211_ATTR_SCHED_SCAN_PLANS is defined. ++ * If for some reason scheduled scan is aborted by the driver, all scan ++ * plans are canceled (including scan plans that did not start yet). + * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS) + * are passed, they are used in the probe requests. For + * broadcast, a broadcast SSID must be passed (ie. an empty +@@ -1761,6 +1770,22 @@ enum nl80211_commands { * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device * is operating in an indoor environment. * ++ * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for ++ * scheduled scan supported by the device (u32), a wiphy attribute. ++ * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for ++ * a scan plan (u32), a wiphy attribute. ++ * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in ++ * a scan plan (u32), a wiphy attribute. ++ * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan. ++ * Each scan plan defines the number of scan iterations and the interval ++ * between scans. The last scan plan will always run infinitely, ++ * thus it must not specify the number of iterations, only the interval ++ * between scans. The scan plans are executed sequentially. ++ * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan. ++ * + * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce + * transmit power to stay within regulatory limits. u32, dBi. + * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined * @__NL80211_ATTR_AFTER_LAST: internal use -@@ -2130,6 +2133,8 @@ enum nl80211_attrs { +@@ -2130,6 +2155,13 @@ enum nl80211_attrs { NL80211_ATTR_REG_INDOOR, ++ NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS, ++ NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL, ++ NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS, ++ NL80211_ATTR_SCHED_SCAN_PLANS, ++ + NL80211_ATTR_WIPHY_ANTENNA_GAIN, + /* add attributes here, update the policy in nl80211.c */ __NL80211_ATTR_AFTER_LAST, +@@ -3364,6 +3396,9 @@ enum nl80211_bss_scan_width { + * (not present if no beacon frame has been received yet) + * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and + * @NL80211_BSS_TSF is known to be from a probe response (flag attribute) ++ * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry ++ * was last updated by a received frame. The value is expected to be ++ * accurate to about 10ms. (u64, nanoseconds) + * @__NL80211_BSS_AFTER_LAST: internal + * @NL80211_BSS_MAX: highest BSS attribute + */ +@@ -3383,6 +3418,7 @@ enum nl80211_bss { + NL80211_BSS_CHAN_WIDTH, + NL80211_BSS_BEACON_TSF, + NL80211_BSS_PRESP_DATA, ++ NL80211_BSS_LAST_SEEN_BOOTTIME, + + /* keep last */ + __NL80211_BSS_AFTER_LAST, +@@ -4589,4 +4625,28 @@ enum nl80211_tdls_peer_capability { + NL80211_TDLS_PEER_WMM = 1<<2, + }; + ++/** ++ * enum nl80211_sched_scan_plan - scanning plan for scheduled scan ++ * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved ++ * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In ++ * seconds (u32). ++ * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this ++ * scan plan (u32). The last scan plan must not specify this attribute ++ * because it will run infinitely. A value of zero is invalid as it will ++ * make the scan plan meaningless. ++ * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number ++ * currently defined ++ * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use ++ */ ++enum nl80211_sched_scan_plan { ++ __NL80211_SCHED_SCAN_PLAN_INVALID, ++ NL80211_SCHED_SCAN_PLAN_INTERVAL, ++ NL80211_SCHED_SCAN_PLAN_ITERATIONS, ++ ++ /* keep last */ ++ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST, ++ NL80211_SCHED_SCAN_PLAN_MAX = ++ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1 ++}; ++ + #endif /* __LINUX_NL80211_H */