iw: update to version 4.9
authorRafał Miłecki <rafal@milecki.pl>
Sat, 12 Nov 2016 15:02:57 +0000 (16:02 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Sat, 12 Nov 2016 15:09:19 +0000 (16:09 +0100)
This adds support for "channels" command which displays more details
about channels. It includes e.g. info about available widths.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
package/network/utils/iw/Makefile
package/network/utils/iw/patches/001-nl80211_h_sync.patch
package/network/utils/iw/patches/120-antenna_gain.patch
package/network/utils/iw/patches/200-reduce_size.patch
package/network/utils/iw/patches/300-display_interface_TX_power.patch

index 6b2050facf0ed31fdecb7d6c2e99485ce51d879d..f84978ff25fe078316fad3b1cd4f38339f66bc80 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=iw
-PKG_VERSION:=4.7
+PKG_VERSION:=4.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/network/iw
-PKG_MD5SUM:=c70b4500255c816b202e3561c901af4a
+PKG_MD5SUM:=02d36655b45a0288feb0e87e461e365a
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=GPL-2.0
index cf39a3e5fcda3609e21b6e5f0f299eb841a3b7d8..e395121155d94eb5fdcf58537f98d6d7fe9dd577 100644 (file)
@@ -1,8 +1,8 @@
 --- a/nl80211.h
 +++ b/nl80211.h
-@@ -1817,6 +1817,11 @@ enum nl80211_commands {
-  * @NL80211_ATTR_STA_SUPPORT_P2P_PS: whether P2P PS mechanism supported
-  *    or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status
+@@ -1937,6 +1937,11 @@ enum nl80211_commands {
+  * @NL80211_ATTR_NAN_MATCH: used to report a match. This is a nested attribute.
+  *    See &enum nl80211_nan_match_attributes.
   *
 + * @NL80211_ATTR_PAD: attribute used for padding for 64-bit alignment
 + *
@@ -12,9 +12,9 @@
   * @NUM_NL80211_ATTR: total number of nl80211_attrs available
   * @NL80211_ATTR_MAX: highest attribute number currently defined
   * @__NL80211_ATTR_AFTER_LAST: internal use
-@@ -2197,6 +2202,10 @@ enum nl80211_attrs {
-       NL80211_ATTR_STA_SUPPORT_P2P_PS,
+@@ -2336,6 +2341,10 @@ enum nl80211_attrs {
+       NL80211_ATTR_NAN_FUNC,
+       NL80211_ATTR_NAN_MATCH,
  
 +      NL80211_ATTR_PAD,
 +
        /* add attributes here, update the policy in nl80211.c */
  
        __NL80211_ATTR_AFTER_LAST,
-@@ -2513,6 +2522,7 @@ enum nl80211_sta_bss_param {
-  *    attributes carrying the actual values.
-  * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
-  *    received from the station (u64, usec)
-+ * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
-  * @__NL80211_STA_INFO_AFTER_LAST: internal
-  * @NL80211_STA_INFO_MAX: highest possible station info attribute
-  */
-@@ -2550,6 +2560,7 @@ enum nl80211_sta_info {
-       NL80211_STA_INFO_BEACON_SIGNAL_AVG,
-       NL80211_STA_INFO_TID_STATS,
-       NL80211_STA_INFO_RX_DURATION,
-+      NL80211_STA_INFO_PAD,
-       /* keep last */
-       __NL80211_STA_INFO_AFTER_LAST,
-@@ -2566,6 +2577,7 @@ enum nl80211_sta_info {
-  *    transmitted MSDUs (not counting the first attempt; u64)
-  * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
-  *    MSDUs (u64)
-+ * @NL80211_TID_STATS_PAD: attribute used for padding for 64-bit alignment
-  * @NUM_NL80211_TID_STATS: number of attributes here
-  * @NL80211_TID_STATS_MAX: highest numbered attribute here
-  */
-@@ -2575,6 +2587,7 @@ enum nl80211_tid_stats {
-       NL80211_TID_STATS_TX_MSDU,
-       NL80211_TID_STATS_TX_MSDU_RETRIES,
-       NL80211_TID_STATS_TX_MSDU_FAILED,
-+      NL80211_TID_STATS_PAD,
-       /* keep last */
-       NUM_NL80211_TID_STATS,
-@@ -3011,6 +3024,7 @@ enum nl80211_user_reg_hint_type {
-  *    transmitting data (on channel or globally)
-  * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
-  *    (on this channel or globally)
-+ * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
-  * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
-  *    currently defined
-  * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
-@@ -3026,6 +3040,7 @@ enum nl80211_survey_info {
-       NL80211_SURVEY_INFO_TIME_RX,
-       NL80211_SURVEY_INFO_TIME_TX,
-       NL80211_SURVEY_INFO_TIME_SCAN,
-+      NL80211_SURVEY_INFO_PAD,
-       /* keep last */
-       __NL80211_SURVEY_INFO_AFTER_LAST,
-@@ -3451,6 +3466,7 @@ enum nl80211_bss_scan_width {
-  * @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_PAD: attribute used for padding for 64-bit alignment
-  * @__NL80211_BSS_AFTER_LAST: internal
-  * @NL80211_BSS_MAX: highest BSS attribute
-  */
-@@ -3471,6 +3487,7 @@ enum nl80211_bss {
-       NL80211_BSS_BEACON_TSF,
-       NL80211_BSS_PRESP_DATA,
-       NL80211_BSS_LAST_SEEN_BOOTTIME,
-+      NL80211_BSS_PAD,
-       /* keep last */
-       __NL80211_BSS_AFTER_LAST,
index 63213f88309159d054d32c98c76eb13b7c96cde2..b2194373648d923659bf916637f03760ac417976 100644 (file)
@@ -1,6 +1,6 @@
 --- a/phy.c
 +++ b/phy.c
-@@ -523,3 +523,30 @@ COMMAND(set, antenna, "<bitmap> | all |
+@@ -675,3 +675,30 @@ COMMAND(set, antenna, "<bitmap> | all |
        NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_antenna,
        "Set a bitmap of allowed antennas to use for TX and RX.\n"
        "The driver may reject antenna configurations it cannot support.");
index 2e31cf2ae5c192a9c402246bc77d7631d5649e3c..98836783df9b3b458fcb3dcd130c39cbd3744e7f 100644 (file)
@@ -37,7 +37,7 @@
        case NL80211_CMD_JOIN_IBSS:
                mac_addr_n2a(macbuf, nla_data(tb[NL80211_ATTR_MAC]));
                printf("IBSS %s joined\n", macbuf);
-@@ -610,9 +613,9 @@ static int print_event(struct nl_msg *ms
+@@ -612,9 +615,9 @@ static int print_event(struct nl_msg *ms
        case NL80211_CMD_DEL_WIPHY:
                printf("delete wiphy\n");
                break;
@@ -51,7 +51,7 @@
  
 --- a/info.c
 +++ b/info.c
-@@ -217,6 +217,7 @@ next:
+@@ -197,6 +197,7 @@ next:
                                }
                        }
  
@@ -59,7 +59,7 @@
                        if (tb_band[NL80211_BAND_ATTR_RATES]) {
                        printf("\t\tBitrates (non-HT):\n");
                        nla_for_each_nested(nl_rate, tb_band[NL80211_BAND_ATTR_RATES], rem_rate) {
-@@ -233,6 +234,7 @@ next:
+@@ -213,6 +214,7 @@ next:
                                printf("\n");
                        }
                        }
@@ -67,7 +67,7 @@
                }
        }
  
-@@ -298,6 +300,7 @@ next:
+@@ -278,6 +280,7 @@ next:
                printf("\tCoverage class: %d (up to %dm)\n", coverage, 450 * coverage);
        }
  
@@ -75,7 +75,7 @@
        if (tb_msg[NL80211_ATTR_CIPHER_SUITES]) {
                int num = nla_len(tb_msg[NL80211_ATTR_CIPHER_SUITES]) / sizeof(__u32);
                int i;
-@@ -309,6 +312,7 @@ next:
+@@ -289,6 +292,7 @@ next:
                                        cipher_name(ciphers[i]));
                }
        }
@@ -83,7 +83,7 @@
  
        if (tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX] &&
            tb_msg[NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX])
-@@ -328,11 +332,13 @@ next:
+@@ -308,11 +312,13 @@ next:
                        printf("\t\t * %s\n", iftype_name(nla_type(nl_mode)));
        }
  
@@ -97,7 +97,7 @@
  
        if (tb_msg[NL80211_ATTR_INTERFACE_COMBINATIONS]) {
                struct nlattr *nl_combi;
-@@ -429,6 +435,7 @@ broken_combination:
+@@ -409,6 +415,7 @@ broken_combination:
                        printf("\tinterface combinations are not supported\n");
        }
  
        if (tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS]) {
                printf("\tSupported commands:\n");
                nla_for_each_nested(nl_cmd, tb_msg[NL80211_ATTR_SUPPORTED_COMMANDS], rem_cmd)
-@@ -526,6 +533,7 @@ broken_combination:
+@@ -506,6 +513,7 @@ broken_combination:
                                printf("\t\t * wake up on TCP connection\n");
                }
        }
  
        if (tb_msg[NL80211_ATTR_ROAM_SUPPORT])
                printf("\tDevice supports roaming.\n");
-@@ -564,6 +572,7 @@ broken_combination:
+@@ -544,6 +552,7 @@ broken_combination:
                }
        }
  
        if (tb_msg[NL80211_ATTR_FEATURE_FLAGS]) {
                unsigned int features = nla_get_u32(tb_msg[NL80211_ATTR_FEATURE_FLAGS]);
  
-@@ -622,6 +631,7 @@ broken_combination:
+@@ -602,6 +611,7 @@ broken_combination:
                if (features & NL80211_FEATURE_TDLS_CHANNEL_SWITCH)
                        printf("\tDevice supports TDLS channel switching\n");
        }
  
        if (tb_msg[NL80211_ATTR_EXT_FEATURES]) {
                struct nlattr *tb = tb_msg[NL80211_ATTR_EXT_FEATURES];
-@@ -678,6 +688,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP
+@@ -658,6 +668,7 @@ TOPLEVEL(list, NULL, NL80211_CMD_GET_WIP
         "List all wireless devices and their capabilities.");
  TOPLEVEL(phy, NULL, NL80211_CMD_GET_WIPHY, NLM_F_DUMP, CIB_NONE, handle_info, NULL);
  
  static int handle_commands(struct nl80211_state *state, struct nl_msg *msg,
                           int argc, char **argv, enum id_input id)
  {
-@@ -689,6 +700,7 @@ static int handle_commands(struct nl8021
+@@ -669,6 +680,7 @@ static int handle_commands(struct nl8021
  }
  TOPLEVEL(commands, NULL, NL80211_CMD_GET_WIPHY, 0, CIB_NONE, handle_commands,
         "list all known commands and their decimal & hex value");
                printf("\tbeacon interval: %d TUs\n",
 --- a/util.c
 +++ b/util.c
-@@ -268,6 +268,7 @@ static const char *commands[NL80211_CMD_
+@@ -275,6 +275,7 @@ static const char *commands[NL80211_CMD_
  
  static char cmdbuf[100];
  
  const char *command_name(enum nl80211_commands cmd)
  {
        if (cmd <= NL80211_CMD_MAX && commands[cmd])
-@@ -275,6 +276,7 @@ const char *command_name(enum nl80211_co
+@@ -282,6 +283,7 @@ const char *command_name(enum nl80211_co
        sprintf(cmdbuf, "Unknown command (%d)", cmd);
        return cmdbuf;
  }
index f316c0cb6e9104ac6d83e3dcb5c97957b43cfb42..fe15b8f2e400006376a5fff264d5ed9328d56d56 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
 
 --- a/interface.c
 +++ b/interface.c
-@@ -374,6 +374,13 @@ static int print_iface_handler(struct nl
+@@ -441,6 +441,13 @@ static int print_iface_handler(struct nl
                       indent, txp / 100, txp % 100);
        }