diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 88f6f53..b30e942 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -28,9 +28,6 @@ hasInternet() { return 1 } -chan2ghz="1" -chan5ghz="36" - # Hidden AP check if [ -f /tmp/hiddenapflag ]; then @@ -78,12 +75,17 @@ else fi #now we look for phy and add this for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do - radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" - radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" - [ -n "$radio5" ] && radio="$radio5" + radio="$(wifiAddPhyCond "$phy" "2" "auto")" + radio5="$(wifiAddPhyCond "$phy" "5" "auto5")" + if [ -n "$radio5" ] ; then + radio="$radio5" + staiface="w5sta" + else + staiface="w2sta" + fi #and here we add the station - if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta"; then + if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta" "$staiface" ; then echo "Can't add Sta interface on $radio." exit 1 else @@ -128,17 +130,22 @@ if [ -s /tmp/keyxchangev2data ]; then json_get_var mesh_essid mesh_essid json_get_var essid essid json_get_var ntpip ntp_ip - # i think the next things we don't active this in the first version! we can do it later - #json_get_var channel2 channel2 + # Additional parameters may be activated in future versions + json_get_var chan2ghz channel2 #json_get_var mode2 mode2 json_get_var mesh_type2 mesh_type2 - #json_get_var channel5 channel5 + json_get_var chan5ghz channel5 #json_get_var mode5 mode5 json_get_var mesh_type5 mesh_type5 #json_get_var protocol protocol json_select ".." # back to root + if ! ([ -n "$chan2ghz" ] && [ -n "$chan5ghz" ]) ; then + # If channel is missing, do nothing + exit 0 + fi + echo "Setting hood name: $hood" uci set "system.@system[0].hood=$hood" diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless index 7e418c2..b1ff5a9 100644 --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless @@ -25,7 +25,10 @@ wifiAddPhy() { local channel=$2 local radio="radio$(echo "$phy" | tr -d -C "0-9")" local hwmode="11g" - if [ "$channel" -gt "14" ]; then + if [ "$channel" = "auto5" ] ; then + hwmode="11a" + channel="auto" + elif ( ! [ "$channel" = "auto" ] ) && [ "$channel" -gt "14" ]; then hwmode="11a" fi @@ -60,7 +63,7 @@ wifiAddPhyCond() { local freq=$2 local channel=$3 local radio="" - + if iw phy "$phy" info | grep -q -m1 "${freq}... MHz"; then radio="$(wifiAddPhy "$phy" "$channel")" if [ -z "$radio" ]; then @@ -148,21 +151,17 @@ wifiAddAP() { } wifiAddSta() { - if [ $# -ne "3" ] + if [ $# -ne "4" ] then - echo "Usage: wifiAddSta " + echo "Usage: wifiAddSta " return 1 fi local radio=$1 local essid=$2 local network=$3 + local iface=$4 - local channel=$(uci get "wireless.${radio}.channel") - local iface="w2sta" - if [ "$channel" -gt "14" ]; then - iface="w5sta" - fi uci batch <<-__EOF__ set wireless.${iface}='wifi-iface' set wireless.${iface}.device='${radio}'