From patchwork Thu Sep 15 19:45:20 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [RFC,v3] Fixed Problems with Port mode changing From: Jan Kraus X-Patchwork-Id: 226 Message-Id: <1473968720-3692-1-git-send-email-mayosemmel@gmail.com> To: franken-dev@freifunk.net Cc: Jan Kraus Date: Thu, 15 Sep 2016 21:45:20 +0200 cleaned up config files (moved commands to script) Signed-off-by: Jan Kraus Tested-by: Christian Dresel Reviewed-by: Christian Dresel Tested-by: Jan Kraus --- Dieser Patch ist ungetest. Ă„nderungen in v3: -reset von sysctl entfernt -check auf "CLIENT/WAN/BATMAN" in network.$board im WebUi entfernt --- src/packages/fff/fff-network/ar71xx/network.mode | 3 +- .../fff/fff-network/ar71xx/network.tl-mr3020-v1 | 23 ++------------ .../fff/fff-network/ar71xx/network.tl-wa850re-v1 | 23 ++------------ .../fff/fff-network/ar71xx/network.tl-wa860re-v1 | 23 ++------------ .../fff/fff-network/ar71xx/network.ubnt-bullet-m | 22 ++------------ .../fff/fff-network/ar71xx/network.ubnt-loco-m-xw | 24 ++------------- .../fff/fff-network/ar71xx/network.ubnt-nano-m | 22 ++------------ .../fff/fff-network/ar71xx/network.ubnt-unifi | 22 ++------------ .../fff-network/files/usr/sbin/configurenetwork | 35 ++++++++++++++++++++++ .../fff/fff-web/files/www/ssl/cgi-bin/ports.html | 9 ++---- 10 files changed, 52 insertions(+), 154 deletions(-) diff --git a/src/packages/fff/fff-network/ar71xx/network.mode b/src/packages/fff/fff-network/ar71xx/network.mode index 6c07f68..124d93f 100644 --- a/src/packages/fff/fff-network/ar71xx/network.mode +++ b/src/packages/fff/fff-network/ar71xx/network.mode @@ -3,8 +3,7 @@ ## 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. -## After that you have to reset the config with following commands. -#cp /rom/etc/sysctl.conf /etc/sysctl.conf +## After that you have to reboot the router with following command. #reboot # ### The canonical syntax of this file is: diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 index 1198c3d..62f456a 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1 @@ -3,28 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC=eth0 -ROUTERMAC=eth0 - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" - ETH0MAC="w2ap" -fi +ROUTERMAC=eth0 \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 index e745b21..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 @@ -3,28 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" - ETH0MAC="w2ap" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 index e745b21..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 @@ -3,28 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" - ETH0MAC="w2ap" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m index c16993d..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m @@ -3,27 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw index 2298117..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw @@ -3,29 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" -uci set network.eth0.mtu="1500" - - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m index c16993d..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m @@ -3,27 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi index c16993d..307a201 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi @@ -3,27 +3,9 @@ SWITCHDEV=eth0 CLIENT_PORTS="" WAN_PORTS="" BATMAN_PORTS="" +ONE_PORT="YES" . /etc/network.mode ETHMESHMAC= -ROUTERMAC=w2mesh - -uci set network.$SWITCHDEV=interface -uci set network.$SWITCHDEV.ifname=$SWITCHDEV -uci set network.mesh.ifname="bat0" - -if [ "$ETHMODE" = "WAN" ] ; then - ## Activate for WAN: - echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf - echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf - uci set network.wan.ifname=$WANDEV -elif [ "$ETHMODE" = "CLIENT" ] ; then - ## Activate Client: - uci set network.mesh.ifname="bat0 $SWITCHDEV" -else - ## Activate BATMAN: - uci set network.ethmesh.ifname="$SWITCHDEV" -fi +ROUTERMAC=w2mesh \ No newline at end of file diff --git a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork index 3b21411..7c8429a 100755 --- a/src/packages/fff/fff-network/files/usr/sbin/configurenetwork +++ b/src/packages/fff/fff-network/files/usr/sbin/configurenetwork @@ -65,6 +65,41 @@ if ! uci get network.$SWITCHDEV.ifname; then /etc/init.d/network restart fi +if [ "$ONE_PORT" = "YES" ]; then + uci set network.$SWITCHDEV=interface + uci set network.$SWITCHDEV.ifname=$SWITCHDEV + if [ "$ETHMODE" = "WAN" ]; then + echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 1" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 1" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.autoconf = 1" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 1" >> /etc/sysctl.conf + uci set network.mesh.ifname="bat0" + uci set network.wan.ifname="$WANDEV" + uci del uci set network.ethmesh.ifname + uci del network.eth0.macaddr + elif [ "$ETHMODE" = "CLIENT" ] ; then + echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >> /etc/sysctl.conf + uci set network.mesh.ifname="bat0 $SWITCHDEV" + uci set network.wan.ifname="eth1" #eth1 because it is default in config file + uci del network.ethmesh.ifname + uci del network.eth0.macaddr + elif [ "$ETHMODE" = "BATMAN" ] ; then + echo "net.ipv6.conf.$WANDEV.accept_ra_defrtr = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_pinfo = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.autoconf = 0" >> /etc/sysctl.conf + echo "net.ipv6.conf.$WANDEV.accept_ra_rtr_pref = 0" >> /etc/sysctl.conf + uci set network.mesh.ifname="bat0" + uci set network.wan.ifname="eth1" #eth1 because it is default in config file + uci set network.ethmesh.ifname="$SWITCHDEV" + ETH0MAC="w2ap" + fi + uci commit + /etc/init.d/network restart +fi + if [[ -n "$ETHMESHMAC" ]]; then if uci get network.ethmesh.macaddr then 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 c2d5890..26de8d5 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 @@ -5,7 +5,6 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then sed -i '/^.*# set via WebUI/d' /etc/network.mode echo "ETHMODE=\"${POST_mode}\" # set via WebUI" >> /etc/network.mode - cp /rom/etc/sysctl.conf /etc/sysctl.conf do_reboot=1 MSG='Port Modus geändert! Router startet neu...' fi @@ -67,12 +66,8 @@ fi Anschluss Modus: