if grep -q net4801 /var/run/dmesg.boot then env4801 -i fi IP="10.43.0.13/16" GW=10.43.0.1 SSID="apachecon" ### radio plan CHAN_B_1=1 CHAN_B_1=11 CHAN_A_1=36 CHAN_A_2=48 WIFI_A="" WIFI_B="" LAN="sis0" ## setup LAN ifconfig $LAN $IP up route add default $GW INTS=`ifconfig -l` ## setup bridge if [ `echo $INTS | grep -c bridge0` = 0 ] then ifconfig bridge0 create fi ifconfig brigde0 addm $LAN # check wifi option searching wi and ath0 capabilities for INT in $INTS do AB="" case $INT in wi*|ath*) INT_COUNT=$((INT_COUNT+1)) WIFI="$INT" A=`ifconfig -m $INT | grep -c 11a` B=`ifconfig -m $INT | grep -c 11b` if [ ! $A = 0 ] then AB="A" fi if [ ! $B = 0 ] then AB="${AB}B" fi WLANS="$WLANS $INT" ;; esac ## list options for 11b and 11a wnic's case $AB in A) aps_a="$aps_a $INT" ;; B) aps_b="$aps_b $INT" ;; AB) aps_ab="$aps_ab $INT" ;; esac done ## debug info #echo "a - $aps_a b - $aps_b - ab $aps_ab" #exit ## setup wifi configuration for ap_ab in $aps_ab do if [ $aps_b ] then aps_a="$aps_aa $ap_ab" else aps_b="$aps_b $ap_ab" fi done ## debug info #echo "a - $aps_a b - $aps_b - ab $aps_ab" COUNT=0 for ap_b in $aps_b do COUNT=$((COUNT+1)) case $COUNT in 1) CHAN=$CHAN_B_1 ;; 2) CHAN=$CHAN_B_2 ;; esac ifconfig $ap_b mediaopt hostap channel $CHAN ssid $SSID up done COUNT=0 for ap_a in $aps_a do COUNT=$((COUNT+1)) case $COUNT in 1) CHAN=$CHAN_A_1 ;; 2) CHAN=$CHAN_A_2 ;; esac ifconfig $ap_a mediaopt hostap channel $CHAN ssid $SSID up done ### Wifi interfaces to the bridge # and better performance bridge options for WLAN in $WLANS do ifconfig bridge0 addm $WLAN ifconfig bridge0 edge $WLAN ifconfig bridge0 -autoedge $WLAN ifconfig bridge0 -autoptp $WLAN done