[RFC v3] Fixed Problems with Port mode changing

Alex Gutfried alexgutfried at gmail.com
So Okt 9 08:35:57 CEST 2016


Jihaaaaa :)

Am 08.10.2016 23:21 schrieb "mayosemmel" <mayosemmel at googlemail.com>:

> 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>
>
>
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20161009/32d571a6/attachment.html>


Mehr Informationen über die Mailingliste franken-dev