|
|
|
@ -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;
|
|
|
|
|