|
|
@@ -88,7 +88,7 @@ mac80211_hostapd_setup_base() {
|
|
|
|
|
|
[ "$auto_channel" -gt 0 ] && channel=acs_survey
|
|
|
|
|
|
- json_get_vars noscan htmode
|
|
|
+ json_get_vars noscan
|
|
|
json_get_values ht_capab_list ht_capab
|
|
|
|
|
|
ieee80211n=1
|
|
|
@@ -523,7 +523,36 @@ mac80211_setup_adhoc() {
|
|
|
mcval=
|
|
|
[ -n "$mcast_rate" ] && hostapd_add_rate mcval "$mcast_rate"
|
|
|
|
|
|
- iw dev "$ifname" ibss join "$ssid" $freq $htmode fixed-freq $bssid \
|
|
|
+ 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} \
|
|
|
${mcval:+mcast-rate $mcval} \
|
|
|
@@ -614,7 +643,7 @@ drv_mac80211_setup() {
|
|
|
country chanbw distance \
|
|
|
txpower antenna_gain \
|
|
|
rxantenna txantenna \
|
|
|
- frag rts beacon_int
|
|
|
+ frag rts beacon_int htmode
|
|
|
json_get_values basic_rate_list basic_rate
|
|
|
json_select ..
|
|
|
|