From: Christian Lamparter Date: Tue, 11 Oct 2011 11:15:25 +0000 (+0200) Subject: iw: fix HT PHY BSS Membership selector value encoding X-Git-Tag: v3.2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fd19c397234b604a553b8156bd46baa88404aab;p=thirdparty%2Fiw.git iw: fix HT PHY BSS Membership selector value encoding IEEE 802.11n 7.3.2.2 extended the supported rate IE to support a special encoding for HT rate support. iw needs to be updated in order to recognize the magic value and parse it accordingly. e.g.: > Extended supported rates: 63.5* now becomes: > Extended supported rates: HT* Signed-off-by: Christian Lamparter --- diff --git a/scan.c b/scan.c index d083591..bf844fc 100644 --- a/scan.c +++ b/scan.c @@ -158,6 +158,8 @@ static void print_ssid(const uint8_t type, uint8_t len, const uint8_t *data) printf("\n"); } +#define BSS_MEMBERSHIP_SELECTOR_HT_PHY 127 + static void print_supprates(const uint8_t type, uint8_t len, const uint8_t *data) { int i; @@ -166,7 +168,13 @@ static void print_supprates(const uint8_t type, uint8_t len, const uint8_t *data for (i = 0; i < len; i++) { int r = data[i] & 0x7f; - printf("%d.%d%s ", r/2, 5*(r&1), data[i] & 0x80 ? "*":""); + + if (r == BSS_MEMBERSHIP_SELECTOR_HT_PHY) + printf("HT"); + else + printf("%d.%d", r/2, 5*(r&1)); + + printf("%s ", data[i] & 0x80 ? "*" : ""); } printf("\n"); }