mirror of https://github.com/hak5/openwrt.git
broadcom-wl: fix band reporting
Modify the band reporting for broadcom devices to correctly report HW capability. Currently, 802.11na devices report "bgn"; but should be reporting "an". Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 38749lede-17.01
parent
cac4ccca2f
commit
40e8eb2dda
|
@ -0,0 +1,41 @@
|
|||
--- a/driver/wl_iw.c
|
||||
+++ b/driver/wl_iw.c
|
||||
@@ -314,7 +314,7 @@
|
||||
)
|
||||
{
|
||||
int phytype, err;
|
||||
- uint band[3];
|
||||
+ uint i, band[3], bands;
|
||||
char cap[5];
|
||||
|
||||
WL_TRACE(("%s: SIOCGIWNAME\n", dev->name));
|
||||
@@ -335,16 +335,20 @@
|
||||
break;
|
||||
case WLC_PHY_TYPE_LP:
|
||||
case WLC_PHY_TYPE_G:
|
||||
- if (band[0] >= 2)
|
||||
- strcpy(cap, "abg");
|
||||
- else
|
||||
- strcpy(cap, "bg");
|
||||
- break;
|
||||
case WLC_PHY_TYPE_N:
|
||||
- if (band[0] >= 2)
|
||||
- strcpy(cap, "abgn");
|
||||
- else
|
||||
- strcpy(cap, "bgn");
|
||||
+ bands = 0;
|
||||
+ for (i = 1; i <= band[0]; i++) {
|
||||
+ bands |= dtoh32(band[i]);
|
||||
+ }
|
||||
+ strcpy(cap, "");
|
||||
+ if (bands & WLC_BAND_5G)
|
||||
+ strcat(cap, "a");
|
||||
+ if (bands & WLC_BAND_2G)
|
||||
+ strcat(cap, "bg");
|
||||
+ if (phytype == WLC_PHY_TYPE_N)
|
||||
+ strcat(cap, "n");
|
||||
+ break;
|
||||
+ default:
|
||||
break;
|
||||
}
|
||||
done:
|
Loading…
Reference in New Issue