broadcom-wl: align with mac80211 config

- Support HT40 instead of HT40+/HT40- like mac80211
 - Enable 11n if htmode is HT20 or HT40

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 43063
This commit is contained in:
Jo-Philipp Wich
2014-10-25 18:43:18 +00:00
parent 7a5002ec9d
commit aeecc6ec12
2 changed files with 15 additions and 6 deletions

View File

@@ -199,11 +199,20 @@ enable_broadcom() {
}
# Use 'chanspec' instead of 'channel' for 'N' modes (See bcmwifi.h)
[ ${nmode:-0} -ne 0 -a -n "$band" -a -n "$channel" ] && {
[ -n "$nmode" -a -n "$band" -a -n "$channel" ] && {
case "$htmode" in
HT40-) chanspec=$(printf 0x%x%x%02x $band 0xe $(($channel - 2))); channel=;;
HT40+) chanspec=$(printf 0x%x%x%02x $band 0xd $(($channel + 2))); channel=;;
HT20) chanspec=$(printf 0x%x%x%02x $band 0xb $channel); channel=;;
HT40)
if [ -n "$gmode" ]; then
[ $channel -lt 7 ] && htmode="HT40+" || htmode="HT40-"
else
[ $(( ($channel / 4) % 2 )) -eq 1 ] && htmode="HT40+" || htmode="HT40-"
fi
;;
esac
case "$htmode" in
HT40-) chanspec=$(printf 0x%x%x%02x $band 0xe $(($channel - 2))); nmode=1; channel=;;
HT40+) chanspec=$(printf 0x%x%x%02x $band 0xd $(($channel + 2))); nmode=1; channel=;;
HT20) chanspec=$(printf 0x%x%x%02x $band 0xb $channel); nmode=1; channel=;;
*) ;;
esac
}