iw: Add more VHT capabilities reporting
PATCH 1/1 iw: Add more VHT capabilities reporting
Add extra reporting for VHT capabilities. These were not previously shown.
--- scan.c | 12 ++++++++++++ util.c | 26 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+)
scan.c +12 -0
@@ -1508,6 +1508,8 @@ static void print_vht_capa(const uint8_t type, uint8_t len, const uint8_t *data,static void print_vht_oper (const uint8_t type,uint8_t len,const uint8_t *data,const struct print_ies_data *ie_buffer) { +__u16 tmp; +int i;const char *chandwidths[] = { [0 ] ="20 or 40 MHz" , [1 ] ="80 MHz" ,
@@ -1521,6 +1523,16 @@ static void print_vht_oper(const uint8_t type, uint8_t len, const uint8_t *data,printf ("\t\t * center freq segment 1: %d\n" , data[1 ]);printf ("\t\t * center freq segment 2: %d\n" , data[2 ]);printf ("\t\t * VHT basic MCS set: 0x%.2x%.2x\n" , data[4 ], data[3 ]); + tmp = data[3 ] | (data[4 ] <<8 ); +for (i =1 ; i <=8 ; i++) { +printf ("\t\t\t%d streams: " , i); +switch ((tmp >> ((i-1 )*2 ) ) &3 ) { +case 0 :printf ("MCS 0-7\n" );break ; +case 1 :printf ("MCS 0-8\n" );break ; +case 2 :printf ("MCS 0-9\n" );break ; +case 3 :printf ("not supported\n" );break ; + } + } } static void print_supp_op_classes(const uint8_t type, uint8_t len,
util.c +26 -0
@@ -1125,16 +1125,42 @@ void print_vht_info(__u32 capa, const __u8 *mcs)PRINT_VHT_CAPA (6 ,"short GI (160/80+80 MHz)" );PRINT_VHT_CAPA (7 ,"TX STBC" );/* RX STBC */ +switch ((capa &0x700 ) >>8 ) { +case 1 :printf ("\t\t\tRX STBC 1-stream\n" );break ; +case 2 :printf ("\t\t\tRX STBC 2-streams\n" );break ; +case 3 :printf ("\t\t\tRX STBC 3-streams\n" );break ; +case 4 :printf ("\t\t\tRX STBC 4-streams\n" );break ; +case 5 :printf ("\t\t\tRX STBC 5-streams\n" );break ; +case 6 :printf ("\t\t\tRX STBC 6-streams\n" );break ; +case 7 :printf ("\t\t\tRX STBC 7-streams\n" );break ; +default :printf ("\t\t\tNo RX STBC\n" ); + }PRINT_VHT_CAPA (11 ,"SU Beamformer" );PRINT_VHT_CAPA (12 ,"SU Beamformee" );/* compressed steering */ +printf ("\t\t\tCompressed Steering Number of Beamformer Antennas: %d\n" , + ((capa &0xe000 ) >>13 ) +1 );/* # of sounding dimensions */ +printf ("\t\t\tNumber of Sounding Dimensions: %d\n" , + ((capa &0x70000 ) >>16 ) +1 );PRINT_VHT_CAPA (19 ,"MU Beamformer" );PRINT_VHT_CAPA (20 ,"MU Beamformee" );PRINT_VHT_CAPA (21 ,"VHT TXOP PS" );PRINT_VHT_CAPA (22 ,"+HTC-VHT" );/* max A-MPDU */ +printf ("\t\t\tMax A-MPDU Length: %d (exponent: %d)\n" , + (1 << (((capa &0x3800000 ) >>23 ) +13 )) -1 , + ((capa &0x3800000 ) >>23 ));/* VHT link adaptation */ +if (capa &0xc000000 ) { +printf ("\t\t\tVHT Link Adaptation: " ); +switch ((capa &0xc000000 ) >>26 ) { +case 1 :printf ("(reserved)\n" );break ; +case 2 :printf ("Unsolicited\n" );break ; +case 3 :printf ("Both Solicited and Unsolicited\n" );break ; +default :printf ("No Feedback\n" );break ; + } + }PRINT_VHT_CAPA (28 ,"RX antenna pattern consistency" );PRINT_VHT_CAPA (29 ,"TX antenna pattern consistency" );
Signature · 1 line
2.30.2