diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-network/Makefile index d34016c..23a1345 100644 --- a/src/packages/fff/fff-network/Makefile +++ b/src/packages/fff/fff-network/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-network -PKG_VERSION:=0.0.7 +PKG_VERSION:=8 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-network diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 index 8180789..6764c64 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 @@ -8,20 +8,5 @@ ETHMESHMAC="w2ap" . /etc/network.mode -#LAN0: default: BATMAN -if [ "${LAN0MODE}" = "BATMAN" ] ; then - BATMAN_PORTS="${BATMAN_PORTS} 5" -elif [ "${LAN0MODE}" = "CLIENT" ] ; then - CLIENT_PORTS="${CLIENT_PORTS} 5" -else - WAN_PORTS="${WAN_PORTS} 5" -fi - -#LAN1: default: BATMAN -if [ "${LAN1MODE}" = "WAN" ] ; then - WAN_PORTS="${WAN_PORTS} 4" -elif [ "${LAN1MODE}" = "CLIENT" ] ; then - CLIENT_PORTS="${CLIENT_PORTS} 4" -else - BATMAN_PORTS="${BATMAN_PORTS} 4" -fi +LAN0PORT=5 +LAN1PORT=4 diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510 index 8180789..6764c64 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 @@ -8,20 +8,5 @@ ETHMESHMAC="w2ap" . /etc/network.mode -#LAN0: default: BATMAN -if [ "${LAN0MODE}" = "BATMAN" ] ; then - BATMAN_PORTS="${BATMAN_PORTS} 5" -elif [ "${LAN0MODE}" = "CLIENT" ] ; then - CLIENT_PORTS="${CLIENT_PORTS} 5" -else - WAN_PORTS="${WAN_PORTS} 5" -fi - -#LAN1: default: BATMAN -if [ "${LAN1MODE}" = "WAN" ] ; then - WAN_PORTS="${WAN_PORTS} 4" -elif [ "${LAN1MODE}" = "CLIENT" ] ; then - CLIENT_PORTS="${CLIENT_PORTS} 4" -else - BATMAN_PORTS="${BATMAN_PORTS} 4" -fi +LAN0PORT=5 +LAN1PORT=4 diff --git a/src/packages/fff/fff-network/ar71xx/network.gl-ar150 b/src/packages/fff/fff-network/ar71xx/network.gl-ar150 index 4e59b86..61ce71a 100644 --- a/src/packages/fff/fff-network/ar71xx/network.gl-ar150 +++ b/src/packages/fff/fff-network/ar71xx/network.gl-ar150 @@ -1,19 +1,12 @@ WANDEV=eth0 SWITCHDEV=eth1 WAN_PORTS= +BATMAN_PORTS="0t" +CLIENT_PORTS="0t" ETHMESHMAC=eth1 ROUTERMAC=eth0 . /etc/network.mode -if [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - CLIENT_PORTS="1 0t" - BATMAN_PORTS="0t" -else - ## Activate BATMAN: - BATMAN_PORTS="1 0t" - CLIENT_PORTS="0t" -fi - +ETHPORT=1 diff --git a/src/packages/fff/fff-network/ar71xx/network.mode b/src/packages/fff/fff-network/ar71xx/network.mode index e891104..09cd715 100644 --- a/src/packages/fff/fff-network/ar71xx/network.mode +++ b/src/packages/fff/fff-network/ar71xx/network.mode @@ -2,7 +2,8 @@ ## This file is used to configure the behavior of network interfaces ## if the routers interfaces differ from the standard WAN+4LAN-Ports ## +2Wireless APs. -## If you want to change their behavior, you can do so below. +## If you want to change their behavior, you should edit the file +## /etc/network.config ## After that you have to reboot the router with following command. #reboot # diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork index 5b06009..c6b3113 100755 --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork @@ -12,6 +12,61 @@ BOARD="$(uci get board.model.name)" . /etc/network.$BOARD +if [ -s /etc/network.config ] ; then + . /etc/network.config +else + echo "CLIENT_PORTS='$CLIENT_PORTS'" > /etc/network.config + echo "BATMAN_PORTS='$BATMAN_PORTS'" >> /etc/network.config + if [ -n "$WAN_PORTS" ] ; then + echo "WAN_PORTS='$WAN_PORTS'" >> /etc/network.config + fi + if [ "$ONE_PORT" = "YES" ] || [ -n "$ETHPORT" ] ; then + echo "ETHMODE='$ETHMODE' # use BATMAN, CLIENT or WAN" >> /etc/network.config + fi + if [ -n "$LAN0PORT" ] ; then + echo "LAN0MODE='$LAN0MODE' # use BATMAN, CLIENT or WAN" >> /etc/network.config + fi + if [ -n "$LAN1PORT" ] ; then + echo "LAN1MODE='$LAN1MODE' # use BATMAN, CLIENT or WAN" >> /etc/network.config + fi + echo "FORCEPARSE='0' # Parse at: 0=first boot only, 1=every reboot, 2=next reboot (once)" >> /etc/network.config +fi + +if [ "$FORCEPARSE" = '2' ] ; then + sed -i '/^FORCEPARSE/d' /etc/network.config + echo "FORCEPARSE='0' # Parse at: 0=first boot only, 1=every reboot, 2=next reboot (once)" >> /etc/network.config + FORCEPARSE='1' +fi + +if [ -n "$ETHPORT" ] ; then + #LAN@AR150: default: BATMAN + if [ "${ETHMODE}" = "BATMAN" ] ; then + BATMAN_PORTS="${BATMAN_PORTS} ${ETHPORT}" + else + CLIENT_PORTS="${CLIENT_PORTS} ${ETHPORT}" + fi +fi +if [ -n "$LAN0PORT" ] ; then + #LAN0@two-port: default: BATMAN + if [ "${LAN0MODE}" = "BATMAN" ] ; then + BATMAN_PORTS="${BATMAN_PORTS} ${LAN0PORT}" + elif [ "${LAN0MODE}" = "CLIENT" ] ; then + CLIENT_PORTS="${CLIENT_PORTS} ${LAN0PORT}" + else + WAN_PORTS="${WAN_PORTS} ${LAN0PORT}" + fi +fi +if [ -n "$LAN1PORT" ] ; then + #LAN1@two-port: default: BATMAN + if [ "${LAN1MODE}" = "WAN" ] ; then + WAN_PORTS="${WAN_PORTS} ${LAN1PORT}" + elif [ "${LAN1MODE}" = "CLIENT" ] ; then + CLIENT_PORTS="${CLIENT_PORTS} ${LAN1PORT}" + else + BATMAN_PORTS="${BATMAN_PORTS} ${LAN1PORT}" + fi +fi + if ! uci -q get network.$SWITCHDEV > /dev/null || [ "$FORCEPARSE" = '1' ] ; then SWITCHHW=$(swconfig list | awk '{ print $4 }') diff --git a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade index 61f2d1f..ab6f2de 100644 --- a/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade +++ b/src/packages/fff/fff-sysupgrade/files/etc/uci-defaults/99-fff-sysupgrade @@ -7,6 +7,6 @@ cat > /etc/sysupgrade.conf <<-__EOF__ /etc/dropbear/dropbear_dss_host_key /etc/dropbear/dropbear_rsa_host_key /etc/dropbear/authorized_keys -/etc/network.mode +/etc/network.config /etc/config/system __EOF__ diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html index 26de8d5..9d54be7 100755 --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html @@ -1,18 +1,32 @@ #!/usr/bin/haserl <% +board_name=$(uci -q get board.model.name) # write if [ "$REQUEST_METHOD" == "POST" ] ; then - sed -i '/^.*# set via WebUI/d' /etc/network.mode - echo "ETHMODE=\"${POST_mode}\" # set via WebUI" >> /etc/network.mode - do_reboot=1 - MSG='Port Modus geändert! Router startet neu...' + if [ "$POST_change_mode" != "" ] ; then + sed -i '/^.*# set via WebUI/d' /etc/network.config + echo "ETHMODE=\"${POST_mode}\" # set via WebUI" >> /etc/network.config + sed -i '/^FORCEPARSE/d' /etc/network.config + echo "FORCEPARSE='2'" >> /etc/network.config + do_reboot=1 + MSG='Port Modus geändert! Router startet neu...' + fi + if [ "$POST_change_twoport" != "" ] ; then + sed -i '/^.*# set via WebUI/d' /etc/network.config + echo "LAN0MODE=\"${POST_mode0}\" # set via WebUI" >> /etc/network.config + echo "LAN1MODE=\"${POST_mode1}\" # set via WebUI" >> /etc/network.config + sed -i '/^FORCEPARSE/d' /etc/network.config + echo "FORCEPARSE='2'" >> /etc/network.config + do_reboot=1 + MSG='Port Modus geändert! Router startet neu...' + fi fi %> <%in /www/ssl/cgi-bin/header %> <%in /www/ssl/cgi-bin/helpers %> <% show_msg %> -
+ <% if swconfig list | grep -q switch0 ; then %> <%# Device has a switch %> @@ -53,10 +67,11 @@ fi <% fi %> -<% if grep -q network.mode /etc/network.$(uci -q get board.model.name) ; then %> +<% if grep -q "ONE_PORT" "/etc/network.$board_name" || grep -q "ETHPORT" "/etc/network.$board_name" ; then %> <% - # Device has only one or two ports and makes use of /etc/network.mode + # Device has a port set by $ETHMODE . /etc/network.mode + . /etc/network.config %> @@ -87,6 +104,52 @@ fi <% fi %> +<% if grep -q "LAN0PORT" "/etc/network.$board_name" || grep -q "LAN1PORT" "/etc/network.$board_name" ; then %> + <% + # Device has two ports + . /etc/network.mode + . /etc/network.config + %> + +<% fi %>
@@ -66,9 +81,11 @@ fi
Anschluss Modus:
+
+ Ethernet Anschlüsse + + + + + + + + + + + + + +
Modus Anschluss 0:Modus Anschluss 1:
+ + + +
+ WAN: Knoten stellt über Ethernet Anschluss Verbindung zum Internet her.
+ Client: Normale Clients stellen über Ethernet Anschluss des Knotens Verbindung zum Freifunk Netz her.
+ BATMAN: Knoten stellt über Ethernet Anschluss Verbindung zu anderen MESH Knoten her.

+ + Wenn diese Einstellung verändert wird, wird eine evtl. vorhandene manuelle Netzwerkkonfiguration in der + /etc/config/network überschrieben.
+ Anschließend wird der Router neugestartet. +
+
+
<%in /www/ssl/cgi-bin/footer %>