FreeBSD: Enable channel control
This patch enables FreeBSD channel control. I have tested on FreeBSD 7.2 with these cases. [hostapd] RSN-PSK(CCMP)/WPA-PSK(TKIP) [wpa_supplicant(STA)] RSN-PSK(CCMP)/WPA-PSK(TKIP) [wpa_supplicant(AP)] RSN-PSK(CCMP)/WPA-PSK(TKIP)
This commit is contained in:
parent
e1b1309b6a
commit
362468d117
1 changed files with 5 additions and 5 deletions
|
@ -537,6 +537,7 @@ bsd_set_freq(void *priv, u16 channel)
|
||||||
struct bsd_driver_data *drv = priv;
|
struct bsd_driver_data *drv = priv;
|
||||||
#ifdef SIOCS80211CHANNEL
|
#ifdef SIOCS80211CHANNEL
|
||||||
struct ieee80211chanreq creq;
|
struct ieee80211chanreq creq;
|
||||||
|
#endif /* SIOCS80211CHANNEL */
|
||||||
u32 mode;
|
u32 mode;
|
||||||
|
|
||||||
if (channel < 14)
|
if (channel < 14)
|
||||||
|
@ -551,15 +552,14 @@ bsd_set_freq(void *priv, u16 channel)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SIOCS80211CHANNEL
|
||||||
os_memset(&creq, 0, sizeof(creq));
|
os_memset(&creq, 0, sizeof(creq));
|
||||||
os_strlcpy(creq.i_name, drv->ifname, sizeof(creq.i_name));
|
os_strlcpy(creq.i_name, drv->ifname, sizeof(creq.i_name));
|
||||||
creq.i_channel = channel;
|
creq.i_channel = channel;
|
||||||
return ioctl(drv->sock, SIOCS80211CHANNEL, &creq);
|
return ioctl(drv->sock, SIOCS80211CHANNEL, &creq);
|
||||||
#else
|
#else /* SIOCS80211CHANNEL */
|
||||||
wpa_printf(MSG_ERROR, "bsd_set_freq: SIOCS80211CHANNEL not "
|
return set80211param(priv, IEEE80211_IOC_CHANNEL, channel);
|
||||||
"defined");
|
#endif /* SIOCS80211CHANNEL */
|
||||||
return -1;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue