diff --git a/api/broadcom.h b/api/broadcom.h index c7aa33e..672083c 100644 --- a/api/broadcom.h +++ b/api/broadcom.h @@ -55,6 +55,7 @@ #define WLC_PHY_TYPE_G 2 #define WLC_PHY_TYPE_N 4 #define WLC_PHY_TYPE_LP 5 +#define WLC_PHY_TYPE_HT 7 #define WLC_BAND_5G 1 #define WLC_BAND_2G 2 diff --git a/iwinfo_wl.c b/iwinfo_wl.c index b626b28..57e4acf 100644 --- a/iwinfo_wl.c +++ b/iwinfo_wl.c @@ -592,6 +592,7 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) if (!wl_ioctl(ifname, WLC_GET_PHYTYPE, &phytype, sizeof(phytype)) && !wl_ioctl(ifname, WLC_GET_BANDLIST, band, sizeof(band))) { + *buf = 0; switch (phytype) { case WLC_PHY_TYPE_A: @@ -600,15 +601,16 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) case WLC_PHY_TYPE_B: *buf = IWINFO_80211_B; break; + case WLC_PHY_TYPE_HT: + case WLC_PHY_TYPE_N: + *buf |= IWINFO_80211_N; case WLC_PHY_TYPE_LP: case WLC_PHY_TYPE_G: - case WLC_PHY_TYPE_N: bands = 0; for (i = 1; i <= band[0]; i++) { bands |= band[i]; } - *buf = 0; if (bands & WLC_BAND_5G) *buf |= IWINFO_80211_A; if (bands & WLC_BAND_2G) @@ -616,8 +618,6 @@ static int wl_get_hwmodelist(const char *ifname, int *buf) *buf |= IWINFO_80211_B; *buf |= IWINFO_80211_G; } - if (phytype == WLC_PHY_TYPE_N) - *buf |= IWINFO_80211_N; break; default: return -1;