diff options
| -rw-r--r-- | package/iw/patches/001-nl80211_sync.patch | 60 | 
1 files changed, 49 insertions, 11 deletions
diff --git a/package/iw/patches/001-nl80211_sync.patch b/package/iw/patches/001-nl80211_sync.patch index b3482d70e..3f01fbf0d 100644 --- a/package/iw/patches/001-nl80211_sync.patch +++ b/package/iw/patches/001-nl80211_sync.patch @@ -55,19 +55,41 @@    *    * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.    *	We recommend using nested, driver-specific attributes within this. -@@ -787,6 +801,11 @@ enum nl80211_commands { +@@ -787,6 +801,33 @@ enum nl80211_commands {    *      This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING    *      for non-automatic settings.    *  + * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly  + *	means support for per-station GTKs.  + * ++ * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting. ++ *	This can be used to mask out antennas which are not attached or should ++ *	not be used for transmitting. If an antenna is not selected in this ++ *	bitmap the hardware is not allowed to transmit on this antenna. ++ * ++ *	Each bit represents one antenna, starting with antenna 1 at the first ++ *	bit. Depending on which antennas are selected in the bitmap, 802.11n ++ *	drivers can derive which chainmasks to use (if all antennas belonging to ++ *	a particular chain are disabled this chain should be disabled) and if ++ *	a chain has diversity antennas wether diversity should be used or not. ++ *	HT capabilities (STBC, TX Beamforming, Antenna selection) can be ++ *	derived from the available chains after applying the antenna mask. ++ *	Non-802.11n drivers can derive wether to use diversity or not. ++ *	Drivers may reject configurations or RX/TX mask combinations they cannot ++ *	support by returning -EINVAL. ++ * ++ * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving. ++ *	This can be used to mask out antennas which are not attached or should ++ *	not be used for receiving. If an antenna is not selected in this bitmap ++ *	the hardware should not be configured to receive on this antenna. ++ *	For a more detailed descripton see @NL80211_ATTR_WIPHY_ANTENNA_TX. ++ *  + * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS  + *    * @NL80211_ATTR_MAX: highest attribute number currently defined    * @__NL80211_ATTR_AFTER_LAST: internal use    */ -@@ -951,6 +970,13 @@ enum nl80211_attrs { +@@ -951,6 +992,16 @@ enum nl80211_attrs {   	NL80211_ATTR_RX_FRAME_TYPES,   	NL80211_ATTR_FRAME_TYPE, @@ -76,12 +98,15 @@  +  +	NL80211_ATTR_SUPPORT_IBSS_RSN,  + ++	NL80211_ATTR_WIPHY_ANTENNA_TX, ++	NL80211_ATTR_WIPHY_ANTENNA_RX, ++  +	NL80211_ATTR_MCAST_RATE,  +   	/* add attributes here, update the policy in nl80211.c */   	__NL80211_ATTR_AFTER_LAST, -@@ -1006,6 +1032,8 @@ enum nl80211_attrs { +@@ -1006,6 +1057,8 @@ enum nl80211_attrs {    * @NL80211_IFTYPE_WDS: wireless distribution interface    * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames    * @NL80211_IFTYPE_MESH_POINT: mesh point @@ -90,7 +115,7 @@    * @NL80211_IFTYPE_MAX: highest interface type number currently defined    * @NUM_NL80211_IFTYPES: number of defined interface types    * -@@ -1022,6 +1050,8 @@ enum nl80211_iftype { +@@ -1022,6 +1075,8 @@ enum nl80211_iftype {   	NL80211_IFTYPE_WDS,   	NL80211_IFTYPE_MONITOR,   	NL80211_IFTYPE_MESH_POINT, @@ -99,7 +124,7 @@   	/* keep last */   	NUM_NL80211_IFTYPES, -@@ -1111,6 +1141,8 @@ enum nl80211_rate_info { +@@ -1111,6 +1166,8 @@ enum nl80211_rate_info {    * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)    * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this    *	station) @@ -108,7 +133,7 @@    */   enum nl80211_sta_info {   	__NL80211_STA_INFO_INVALID, -@@ -1124,6 +1156,8 @@ enum nl80211_sta_info { +@@ -1124,6 +1181,8 @@ enum nl80211_sta_info {   	NL80211_STA_INFO_TX_BITRATE,   	NL80211_STA_INFO_RX_PACKETS,   	NL80211_STA_INFO_TX_PACKETS, @@ -117,7 +142,20 @@   	/* keep last */   	__NL80211_STA_INFO_AFTER_LAST, -@@ -1382,6 +1416,17 @@ enum nl80211_reg_rule_flags { +@@ -1277,7 +1336,11 @@ enum nl80211_bitrate_attr { +  * 	wireless core it thinks its knows the regulatory domain we should be in. +  * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an +  * 	802.11 country information element with regulatory information it +- * 	thinks we should consider. ++ * 	thinks we should consider. cfg80211 only processes the country ++ *	code from the IE, and relies on the regulatory domain information ++ *	structure pased by userspace (CRDA) from our wireless-regdb. ++ *	If a channel is enabled but the country code indicates it should ++ *	be disabled we disable the channel and re-enable it upon disassociation. +  */ + enum nl80211_reg_initiator { + 	NL80211_REGDOM_SET_BY_CORE, +@@ -1382,6 +1445,17 @@ enum nl80211_reg_rule_flags {    * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved    * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel    * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) @@ -135,7 +173,7 @@    * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number    *	currently defined    * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use -@@ -1390,6 +1435,12 @@ enum nl80211_survey_info { +@@ -1390,6 +1464,12 @@ enum nl80211_survey_info {   	__NL80211_SURVEY_INFO_INVALID,   	NL80211_SURVEY_INFO_FREQUENCY,   	NL80211_SURVEY_INFO_NOISE, @@ -148,7 +186,7 @@   	/* keep last */   	__NL80211_SURVEY_INFO_AFTER_LAST, -@@ -1636,11 +1687,14 @@ enum nl80211_auth_type { +@@ -1636,11 +1716,14 @@ enum nl80211_auth_type {    * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key    * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key    * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS) @@ -163,7 +201,7 @@   };   /** -@@ -1671,6 +1725,9 @@ enum nl80211_wpa_versions { +@@ -1671,6 +1754,9 @@ enum nl80211_wpa_versions {    *	CCMP keys, each six bytes in little endian    * @NL80211_KEY_DEFAULT: flag indicating default key    * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key @@ -173,7 +211,7 @@    * @__NL80211_KEY_AFTER_LAST: internal    * @NL80211_KEY_MAX: highest key attribute    */ -@@ -1682,6 +1739,7 @@ enum nl80211_key_attributes { +@@ -1682,6 +1768,7 @@ enum nl80211_key_attributes {   	NL80211_KEY_SEQ,   	NL80211_KEY_DEFAULT,   	NL80211_KEY_DEFAULT_MGMT,  | 
