[RFC v3] Fixed Problems with Port mode changing
mayosemmel
mayosemmel at googlemail.com
Sa Okt 8 23:21:28 CEST 2016
Dieser Patch ist nun im Master.
Damit können wir meiner Meinung nach eine Beta machen...
Grüße Jan
Am Donnerstag, den 15.09.2016, 21:45 +0200 schrieb Jan Kraus:
> cleaned up config files (moved commands to script)
>
> Signed-off-by: Jan Kraus <mayosemmel at gmail.com>
> ---
> 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='<span class="green">Port Modus geändert! Router startet neu...</span>'
> fi
> @@ -67,12 +66,8 @@ fi
> <th style="width: 1em;">Anschluss Modus:</th>
> <td>
> <select name="mode">
> - <% if grep ETHMODE /etc/network.$(uci -q get board.model.name) | grep -q WAN ; then %>
> - <option value="WAN" <% [ "$ETHMODE" == "WAN" ] && echo -n selected %>>WAN</option>
> - <% fi %>
> - <% if grep ETHMODE /etc/network.$(uci -q get board.model.name) | grep -q CLIENT ; then %>
> - <option value="CLIENT" <% [ "$ETHMODE" == "CLIENT" ] && echo -n selected %>>Client</option>
> - <% fi %>
> + <option value="WAN" <% [ "$ETHMODE" == "WAN" ] && echo -n selected %>>WAN</option>
> + <option value="CLIENT" <% [ "$ETHMODE" == "CLIENT" ] && echo -n selected %>>Client</option>
> <option value="BATMAN" <% [ "$ETHMODE" == "BATMAN" ] && echo -n selected %>>BATMAN</option>
> </select>
> </td>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 473 bytes
Beschreibung: This is a digitally signed message part
URL : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20161008/185da6cc/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev