Beta (was: [RFC v3] Fixed Problems with Port mode changing)

Tim Niemeyer tim at tn-x.org
So Okt 9 00:56:57 CEST 2016


Am Samstag, den 08.10.2016, 23:21 +0200 schrieb mayosemmel:
> Dieser Patch ist nun im Master.
> Damit können wir meiner Meinung nach eine Beta machen...
Richtig.. Das Build zur Beta liegt unter dev.freifunk-franken.de.

Wir müssen dort noch die Webserver-Tricks einbauen, damit das sysupgrade
funktioniert. Morgen werde ich auch noch ein Release-Letter schreiben.

Tim

> 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 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/20161009/2f1062d5/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev