[source] mac80211: Allow HT/VHT rates when running unencrypted mesh.

LEDE Commits lede-commits at lists.infradead.org
Mon Jan 2 07:48:07 PST 2017


jow pushed a commit to source.git, branch master:
https://git.lede-project.org/fd718c50256536ed082852d735dc7690d7604418

commit fd718c50256536ed082852d735dc7690d7604418
Author: Alexis Green <agreen at cococorp.com>
AuthorDate: Wed Dec 21 15:17:01 2016 -0800

    mac80211: Allow HT/VHT rates when running unencrypted mesh.
    
    Signed-off-by: Alexis Green <agreen at cococorp.com>
---
 .../mac80211/files/lib/netifd/wireless/mac80211.sh | 37 +++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index e3d612e..1fa39b8 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -611,7 +611,42 @@ mac80211_setup_vif() {
 				mcval=
 				[ -n "$mcast_rate" ] && wpa_supplicant_add_rate mcval "$mcast_rate"
 
-				iw dev "$ifname" mesh join "$mesh_id" ${mcval:+mcast-rate $mcval}
+				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
+
+				freq="$(get_freq "$phy" "$channel")"
+				iw dev "$ifname" mesh join "$mesh_id" freq $freq $mesh_htmode ${mcval:+mcast-rate $mcval}
 			fi
 
 			for var in $MP_CONFIG_INT $MP_CONFIG_BOOL $MP_CONFIG_STRING; do



More information about the lede-commits mailing list