diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-09-16 19:55:45 +0200 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-09-16 19:55:45 +0200 |
commit | c0ce88c586a467665b35d93c2f6962cac8e8dc27 (patch) | |
tree | df24b1ae76338fa83f45c14f8518720f0266705d /package/kernel | |
parent | ffb3f790a5075e5c294420e8348dfe6c429ac921 (diff) | |
download | mtk-20170518-c0ce88c586a467665b35d93c2f6962cac8e8dc27.zip mtk-20170518-c0ce88c586a467665b35d93c2f6962cac8e8dc27.tar.gz mtk-20170518-c0ce88c586a467665b35d93c2f6962cac8e8dc27.tar.bz2 |
mt7xxx proprietary Wifi drivers integration + mac80211 weird changes
Diffstat (limited to 'package/kernel')
-rw-r--r-- | package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 35 | ||||
-rw-r--r-- | package/kernel/mac80211/files/regdb.txt | 2 |
2 files changed, 33 insertions, 4 deletions
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index e6241de..a464cc9 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -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 @@ -505,7 +505,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} \ @@ -596,7 +625,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 .. diff --git a/package/kernel/mac80211/files/regdb.txt b/package/kernel/mac80211/files/regdb.txt index 3d15930..c9d9abc 100644 --- a/package/kernel/mac80211/files/regdb.txt +++ b/package/kernel/mac80211/files/regdb.txt @@ -6,7 +6,7 @@ country 00: # Channel 14. Only JP enables this and for 802.11b only (2474 - 2494 @ 20), (20), NO-IR, NO-OFDM # Channel 36 - 48 - (5170 - 5250 @ 160), (20), NO-IR + (5170 - 5250 @ 160), (20) # Channel 52 - 64 (5250 - 5330 @ 160), (20), NO-IR, DFS # Channel 100 - 144 |