Commit bcd3fb4f authored by nbd's avatar nbd
Browse files

mac80211/hostapd: fix HT mode setup for RSN ad-hoc networks


Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44100 3c298f89-4303-0410-b956-a3cf2f4a3e73
parent 55ea881e
......@@ -490,6 +490,38 @@ mac80211_setup_supplicant() {
wpa_supplicant_run "$ifname" ${hostapd_ctrl:+-H $hostapd_ctrl}
}
mac80211_setup_adhoc_htmode() {
case "$htmode" in
VHT20|HT20) ibss_htmode=HT20;;
HT40*|VHT40|VHT80|VHT160)
case "$hwmode" in
a)
case "$(( ($channel / 4) % 2 ))" in
1) ibss_htmode="HT40+" ;;
0) ibss_htmode="HT40-";;
esac
;;
*)
case "$htmode" in
HT40+) ibss_htmode="HT40+";;
HT40-) ibss_htmode="HT40-";;
*)
if [ "$channel" -lt 7 ]; then
ibss_htmode="HT40+"
else
ibss_htmode="HT40-"
fi
;;
esac
;;
esac
[ "$auto_channel" -gt 0 ] && ibss_htmode="HT40+"
;;
*) ibss_htmode="" ;;
esac
}
mac80211_setup_adhoc() {
json_get_vars bssid ssid key mcast_rate
......@@ -523,35 +555,6 @@ mac80211_setup_adhoc() {
mcval=
[ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate"
case "$htmode" in
VHT20|HT20) ibss_htmode=HT20;;
HT40*|VHT40|VHT80|VHT160)
case "$hwmode" in
a)
case "$(( ($channel / 4) % 2 ))" in
1) ibss_htmode="HT40+" ;;
0) ibss_htmode="HT40-";;
esac
;;
*)
case "$htmode" in
HT40+) ibss_htmode="HT40+";;
HT40-) ibss_htmode="HT40-";;
*)
if [ "$channel" -lt 7 ]; then
ibss_htmode="HT40+"
else
ibss_htmode="HT40-"
fi
;;
esac
;;
esac
[ "$auto_channel" -gt 0 ] && ibss_htmode="HT40+"
;;
*) ibss_htmode="" ;;
esac
iw dev "$ifname" ibss join "$ssid" $freq $ibss_htmode fixed-freq $bssid \
${beacon_int:+beacon-interval $beacon_int} \
${brstr:+basic-rates $brstr} \
......@@ -602,6 +605,7 @@ mac80211_setup_vif() {
;;
adhoc)
wireless_vif_parse_encryption
mac80211_setup_adhoc_htmode
if [ "$wpa" -gt 0 -o "$auto_channel" -gt 0 ]; then
mac80211_setup_supplicant || failed=1
else
......
......@@ -596,7 +596,8 @@ wpa_supplicant_add_network() {
}
local ht_str
[ -n "$ht" ] && append network_data "htmode=$ht" "$N$T"
[[ "$_w_mode" = adhoc ]] || ibss_htmode=
[ -n "$ibss_htmode" ] && append network_data "htmode=$ibss_htmode" "$N$T"
cat >> "$_config" <<EOF
network={
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment