broadcom-wl: simplify processing of 'hwmode'
Default gmode to "GOnly" unless explicitly overwridden. This corrects processing for 11ng to specify "GOnly" for gmode instead of "Auto" (which translated to "bg"). Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 38754
This commit is contained in:
parent
d1c55bb33e
commit
aa6a5baf88
1 changed files with 22 additions and 20 deletions
|
@ -165,32 +165,34 @@ enable_broadcom() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
[ ${channel:-0} -ge 1 -a ${channel:-0} -le 14 ] && band=2
|
local gmode=2 nmode=0 nreqd=
|
||||||
[ ${channel:-0} -ge 36 ] && band=1
|
case "$hwmode" in
|
||||||
|
*a) gmode=;;
|
||||||
|
*b) gmode=0;;
|
||||||
|
*bg) gmode=1;;
|
||||||
|
*g) gmode=2;;
|
||||||
|
*gst) gmode=4;;
|
||||||
|
*lrs) gmode=5;;
|
||||||
|
*) nmode=1; nreqd=0;;
|
||||||
|
esac
|
||||||
|
|
||||||
case "$hwmode" in
|
case "$hwmode" in
|
||||||
*na) nmode=1; nreqd=0;;
|
n|11n) nmode=1; nreqd=1;;
|
||||||
*a) nmode=0;;
|
*n*) nmode=1; nreqd=0;;
|
||||||
*ng) gmode=1; nmode=1; nreqd=0;;
|
|
||||||
*n) nmode=1; nreqd=1;;
|
|
||||||
*b) gmode=0; nmode=0;;
|
|
||||||
*bg) gmode=1; nmode=0;;
|
|
||||||
*g) gmode=2; nmode=0;;
|
|
||||||
*gst) gmode=4; nmode=0;;
|
|
||||||
*lrs) gmode=5; nmode=0;;
|
|
||||||
*) case "$band" in
|
|
||||||
2) gmode=1; nmode=1; nreqd=0;;
|
|
||||||
1) nmode=1; nreqd=0;;
|
|
||||||
*) gmode=1; nmode=1; nreqd=0;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Use 'nmode' for N-Phy only
|
# Use 'nmode' for N-Phy only
|
||||||
[ "$(wlc ifname $device phytype)" = 4 ] || nmode=
|
[ "$(wlc ifname "$device" phytype)" = 4 ] || nmode=
|
||||||
|
|
||||||
|
local band chanspec
|
||||||
|
[ ${channel:-0} -ge 1 -a ${channel:-0} -le 14 ] && band=2
|
||||||
|
[ ${channel:-0} -ge 36 ] && {
|
||||||
|
band=1
|
||||||
|
gmode=
|
||||||
|
}
|
||||||
|
|
||||||
# Use 'chanspec' instead of 'channel' for 'N' modes (See bcmwifi.h)
|
# Use 'chanspec' instead of 'channel' for 'N' modes (See bcmwifi.h)
|
||||||
[ ${nmode:-0} -ne 0 -a -n "$band" ] && {
|
[ ${nmode:-0} -ne 0 -a -n "$band" -a -n "$channel" ] && {
|
||||||
case "$htmode" in
|
case "$htmode" in
|
||||||
HT40-) chanspec=$(printf 0x%x%x%02x $band 0xe $(($channel - 2))); channel=;;
|
HT40-) chanspec=$(printf 0x%x%x%02x $band 0xe $(($channel - 2))); channel=;;
|
||||||
HT40+) chanspec=$(printf 0x%x%x%02x $band 0xd $(($channel + 2))); channel=;;
|
HT40+) chanspec=$(printf 0x%x%x%02x $band 0xd $(($channel + 2))); channel=;;
|
||||||
|
@ -352,7 +354,7 @@ enable_broadcom() {
|
||||||
wlc ifname "$device" stdin <<EOF
|
wlc ifname "$device" stdin <<EOF
|
||||||
$ifdown
|
$ifdown
|
||||||
|
|
||||||
${nmode:+band ${band:-0}}
|
band ${band:-0}
|
||||||
${nmode:+nmode $nmode}
|
${nmode:+nmode $nmode}
|
||||||
${nmode:+${nreqd:+nreqd $nreqd}}
|
${nmode:+${nreqd:+nreqd $nreqd}}
|
||||||
${gmode:+gmode $gmode}
|
${gmode:+gmode $gmode}
|
||||||
|
|
Loading…
Reference in a new issue