@ -551,7 +551,7 @@ mac80211_prepare_vif() {
case " $mode " in
monitor| mesh)
[ " $auto_channel " -gt 0 ] || iw dev " $ifname " set channel " $channel " $ htmode
[ " $auto_channel " -gt 0 ] || iw dev " $ifname " set channel " $channel " $ iw_ htmode
; ;
esac
@ -625,40 +625,40 @@ mac80211_setup_supplicant_noctl() {
fi
}
mac80211_setup_adhoc _htmode( ) {
mac80211_prepare_iw _htmode( ) {
case " $htmode " in
VHT20| HT20) i bss _htmode= HT20; ;
VHT20| HT20) i w _htmode= HT20; ;
HT40*| VHT40| VHT160)
case " $hwmode " in
a)
case " $(( ( $channel / 4 ) % 2 )) " in
1) i bss _htmode= "HT40+" ; ;
0) i bss _htmode= "HT40-" ; ;
1) i w _htmode= "HT40+" ; ;
0) i w _htmode= "HT40-" ; ;
esac
; ;
*)
case " $htmode " in
HT40+) i bss _htmode= "HT40+" ; ;
HT40-) i bss _htmode= "HT40-" ; ;
HT40+) i w _htmode= "HT40+" ; ;
HT40-) i w _htmode= "HT40-" ; ;
*)
if [ " $channel " -lt 7 ] ; then
i bss _htmode= "HT40+"
i w _htmode= "HT40+"
else
i bss _htmode= "HT40-"
i w _htmode= "HT40-"
fi
; ;
esac
; ;
esac
[ " $auto_channel " -gt 0 ] && i bss _htmode= "HT40+"
[ " $auto_channel " -gt 0 ] && i w _htmode= "HT40+"
; ;
VHT80)
i bss _htmode= "80MHZ"
i w _htmode= "80MHZ"
; ;
NONE| NOHT)
i bss _htmode= "NOHT"
i w _htmode= "NOHT"
; ;
*) i bss _htmode= "" ; ;
*) i w _htmode= "" ; ;
esac
}
@ -701,7 +701,7 @@ mac80211_setup_adhoc() {
mcval =
[ -n " $mcast_rate " ] && wpa_supplicant_add_rate mcval " $mcast_rate "
iw dev " $ifname " ibss join " $ssid " $freq $i bss _htmode fixed-freq $bssid \
iw dev " $ifname " ibss join " $ssid " $freq $i w _htmode fixed-freq $bssid \
beacon-interval $beacon_int \
${ brstr : +basic-rates $brstr } \
${ mcval : +mcast-rate $mcval } \
@ -721,40 +721,7 @@ mac80211_setup_mesh() {
[ -n " $mcast_rate " ] && wpa_supplicant_add_rate mcval " $mcast_rate "
[ -n " $mesh_id " ] && ssid = " $mesh_id "
case " $htmode " in
VHT20| HT20) mesh_htmode = HT20; ;
HT40*| VHT40)
case " $hwmode " in
a)
case " $(( ( $channel / 4 ) % 2 )) " in
1) mesh_htmode = "HT40+" ; ;
0) mesh_htmode = "HT40-" ; ;
esac
; ;
*)
case " $htmode " in
HT40+) mesh_htmode = "HT40+" ; ;
HT40-) mesh_htmode = "HT40-" ; ;
*)
if [ " $channel " -lt 7 ] ; then
mesh_htmode = "HT40+"
else
mesh_htmode = "HT40-"
fi
; ;
esac
; ;
esac
; ;
VHT80)
mesh_htmode = "80Mhz"
; ;
VHT160)
mesh_htmode = "160Mhz"
; ;
*) mesh_htmode = "NOHT" ; ;
esac
iw dev " $ifname " mesh join " $ssid " freq $freq $mesh_htmode \
iw dev " $ifname " mesh join " $ssid " freq $freq $iw_htmode \
${ mcval : +mcast-rate $mcval } \
beacon-interval $beacon_int
}
@ -799,7 +766,6 @@ mac80211_setup_vif() {
; ;
adhoc)
wireless_vif_parse_encryption
mac80211_setup_adhoc_htmode
if [ " $wpa " -gt 0 -o " $auto_channel " -gt 0 ] ; then
freq = " $( get_freq " $phy " " $channel " ) "
mac80211_setup_supplicant_noctl $vif_enable || failed = 1
@ -926,6 +892,7 @@ drv_mac80211_setup() {
for_each_interface "sta adhoc mesh" mac80211_set_noscan
[ -n " $has_ap " ] && mac80211_hostapd_setup_base " $phy "
mac80211_prepare_iw_htmode
for_each_interface "sta adhoc mesh monitor" mac80211_prepare_vif
NEWAPLIST =
for_each_interface "ap" mac80211_prepare_vif