[PATCH v3 06/14] fff-network/-support/-web: Nice setup of special-port devices
robert
rlanghammer at web.de
Sa Apr 27 21:13:24 CEST 2019
Hi Adrian,
zu dem Problem hab ich eine gute Lösung gefunden. Man kann mit "ubus
list network" feststellen ob /etc/init.d/network schon gelaufen ist.
Wenn nicht kommt ein Fehler.
Mann kann also das network restart davon abhängig machen. z.B
ubus list network && /etc/init.d/network restart
War etwas tricky das zu testen bevor das Netz an ist. Wollte schon den
Lötkolben anwerfen. Einfacher war dann ein init-testskript, das vor
network läuft.
Grüße
Robert
Am 23.04.19 um 10:38 schrieb mail at adrianschmutzler.de:
> Hallo,
>
> hier ist mir noch ein Problem aufgefallen:
>
> Um im WebUI gesetzte Ports für One-Port etc. upgradefest zu machen, verwende ich die Skripte in /usr/sbin (z.B. setoneport) und schreibe diese in die /etc/firstbootfff
>
> In diesen Skripten steht jeweils aber ein /etc/init.d/network restart, die /etc/firstbootfff wird aber in den uci-defaults aufgerufen. Dies würde dann dazu führen, dass das Netzwerk beim nächsten Upgrade zu früh gestartet wird.
>
> Ich sehe hier drei Lösungen:
> 1. Man wirft das /etc/init.d/network restart aus den Skripten in /usr/sbin raus und überlässt das dem User (ggf. per Echo darauf hinweisen). Die Skriptaufrufe können so im WebUI verbleiben.
> Diese Lösung wäre effektiv und einfach (und ist daher im Moment mein Favorit)
> 2. Man baut für die betroffenen Skripte nochmal eine kleine Funktion, die dann während uci-defaults aufgerufen werden kann. Die Funtionen kommen ins /etc/firstbootfff, die Skripte sind nur zum Aufruf während Laufzeit gedacht.
> (Nachteil: mehrfacher Code, include im /etc/firstbootfff nötig; Vorteil: Skriptnutzer in /usr/sbin muss nicht denken)
> 3. Man benutzt keine Funktionen und schreibt die relevanten paar Zeilen direkt in die /etc/firstbootfff (uci set dings, uci set bumms, uci commit)
> (Nachteil: man muss die bei jeder Änderung wieder irgendwie löschen (und dafür irgendwie matchen). D.h. wahrscheinlich alle Commands in eine Zeile ....)
>
> So richtig geil finde ich nichts davon, wir können es aber nicht so lassen wie im Moment in diesem Patch.
>
> Grüße
>
> Adrian
>
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>> Of Adrian Schmutzler
>> Sent: Montag, 22. April 2019 14:35
>> To: franken-dev at freifunk.net
>> Subject: [PATCH v3 06/14] fff-network/-support/-web: Nice setup of special-
>> port devices
>>
>> This patch:
>> - provides scripts to easily change port configuration on the
>> "special" devices
>> - provides a file to store upgrade-safe script lines run at
>> first boot (to be used for port adjustments)
>> - fixes the port page in WebUI
>> - fixes show_info
>>
>> With this patch, instead of specifying data in network.config and then have a
>> script to deal with it, we define a script /etc/firstbootfff where COMMANDS
>> can be stored. Thus, one can just make switch ports permanent by putting
>> the uci commands there.
>>
>> To keep the convenient setup of one-port (and other special) devices, we
>> implement script, e.g.
>> setoneport "WAN"
>> will set the port of a one-port device to WAN mode. Those scripts are used in
>> the WebUI and may also be implemented manually in the /etc/firstbootfff
>> file.
>>
>> This patch misses the selection of the current port mode in the WebUI. It
>> would have been too much additional code for this tiny feature.
>>
>> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
>>
>> ---
>>
>> This patch is built to reintroduce as much of the previous functionality as
>> possible. One could however consider removing the CPE and AR150 special
>> cases and leave only the real one-ports in the WebUI.
>>
>> Changes in v2:
>> - Removed some -q
>> - Changed another PORTORDER in show_info
>> - Renamed "twoport" to "cpev1"
>> - Add ui.portsetup in 10-setup-fff
>> - Restart network in scripts, no reboot necessary
>> - Make 99-fff-sysupgrade append instead of overwrite
>>
>> Changes in v3:
>> - Added variable port in setoneport
>> - Added uci commit fff at end of 22a-config-ports
>> - Use new generic names: vlan1 etc.
>> ---
>> .../fff-config/files/etc/uci-defaults/10-setup-fff | 3 +
>> .../files/etc/uci-defaults/22a-config-ports | 5 ++
>> .../fff/fff-network/files/usr/sbin/set2ndport | 30 +++++++++
>> .../fff/fff-network/files/usr/sbin/setcpev1 | 46 +++++++++++++
>> .../fff/fff-network/files/usr/sbin/setoneport | 24 +++++++
>> src/packages/fff/fff-support/Makefile | 2 +-
>> .../files/etc/uci-defaults/90-firstbootfff | 13 ++++
>> .../fff/fff-support/files/usr/sbin/show_info | 13 ++--
>> src/packages/fff/fff-sysupgrade/Makefile | 2 +-
>> .../files/etc/uci-defaults/99-fff-sysupgrade | 2 +-
>> src/packages/fff/fff-web/Makefile | 2 +-
>> .../fff/fff-web/files/www/ssl/cgi-bin/ports.html | 78 +++++++++-------------
>> 12 files changed, 162 insertions(+), 58 deletions(-) create mode 100755
>> src/packages/fff/fff-network/files/usr/sbin/set2ndport
>> create mode 100755 src/packages/fff/fff-network/files/usr/sbin/setcpev1
>> create mode 100755 src/packages/fff/fff-network/files/usr/sbin/setoneport
>> create mode 100644 src/packages/fff/fff-support/files/etc/uci-defaults/90-
>> firstbootfff
>>
>> diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
>> b/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
>> index 3014f50d..a63ff6a9 100644
>> --- a/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
>> +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
>> @@ -11,4 +11,7 @@ if ! uci -q get fff.system > /dev/null ; then
>> uci set "fff.system.hostname=FFF"
>> fi
>>
>> +uci set fff.ui=fff
>> +uci -q get fff.ui.portsetup > /dev/null || uci set "fff.ui.portsetup=default"
>> +
>> uci commit fff
>> diff --git a/src/packages/fff/fff-network/files/etc/uci-defaults/22a-config-
>> ports b/src/packages/fff/fff-network/files/etc/uci-defaults/22a-config-ports
>> index b8eaceab..cc7ab277 100644
>> --- a/src/packages/fff/fff-network/files/etc/uci-defaults/22a-config-ports
>> +++ b/src/packages/fff/fff-network/files/etc/uci-defaults/22a-config-por
>> +++ ts
>> @@ -21,11 +21,13 @@ case "$BOARD" in
>> # Default: LAN0: WAN, LAN1: CLIENT
>> setupSwitch "eth0" "0t 4" "0t" "0t 5"
>> setupWan "eth0.2"
>> + uci set "fff.ui.portsetup=cpev1"
>> ;;
>> gl-ar150)
>> # Default: CLIENT
>> setupSwitch "eth1" "0t 1" "0t"
>> setupWan "eth0"
>> + uci set "fff.ui.portsetup=2ndport"
>> ;;
>> tl-wdr3500-v1|\
>> tl-wr741nd-v2|\
>> @@ -85,5 +87,8 @@ case "$BOARD" in
>> ubnt-unifiac-lite|\
>> ubnt-unifiac-mesh)
>> setupOnePort "eth0" "CLIENT"
>> + uci set "fff.ui.portsetup=oneport"
>> ;;
>> esac
>> +
>> +uci commit fff
>> diff --git a/src/packages/fff/fff-network/files/usr/sbin/set2ndport
>> b/src/packages/fff/fff-network/files/usr/sbin/set2ndport
>> new file mode 100755
>> index 00000000..84aa5a2c
>> --- /dev/null
>> +++ b/src/packages/fff/fff-network/files/usr/sbin/set2ndport
>> @@ -0,0 +1,30 @@
>> +#!/bin/sh
>> +
>> +# This sets the port mode on second port without switch
>> +
>> +if ! [ "$(uci -q get fff.ui.portsetup)" = "2ndport" ] ; then
>> + echo "Wrong device. This is for two-port devices without switch
>> only!"
>> + exit 1
>> +fi
>> +
>> +LAN0MODE=$1
>> +
>> +CLIENT_PORTS="0t"
>> +BATMAN_PORTS="0t"
>> +
>> +if [ "$LAN0MODE" = "CLIENT" ] ; then
>> + CLIENT_PORTS="$CLIENT_PORTS 1"
>> +elif [ "$LAN0MODE" = "BATMAN" ] ; then
>> + BATMAN_PORTS="$BATMAN_PORTS 1"
>> +else
>> + echo "Wrong port mode. Choose one of: CLIENT, BATMAN"
>> + exit 1
>> +fi
>> +
>> +uci set "network.vlan1.ports=$CLIENT_PORTS"
>> +uci set "network.vlan3.ports=$BATMAN_PORTS"
>> +uci commit network
>> +
>> +/etc/init.d/network restart
>> +
>> +echo "Port updated successfully."
>> diff --git a/src/packages/fff/fff-network/files/usr/sbin/setcpev1
>> b/src/packages/fff/fff-network/files/usr/sbin/setcpev1
>> new file mode 100755
>> index 00000000..5ed9a987
>> --- /dev/null
>> +++ b/src/packages/fff/fff-network/files/usr/sbin/setcpev1
>> @@ -0,0 +1,46 @@
>> +#!/bin/sh
>> +
>> +# This sets the port mode on CPE210 v1 and CPE510 v1
>> +
>> +if ! [ "$(uci -q get fff.ui.portsetup)" = "cpev1" ] ; then
>> + echo "Wrong device. This is for CPE210 v1 or CPE510 v1 only!"
>> + exit 1
>> +fi
>> +
>> +LAN0MODE=$1
>> +LAN1MODE=$2
>> +
>> +CLIENT_PORTS="0t"
>> +WAN_PORTS="0t"
>> +BATMAN_PORTS="0t"
>> +
>> +if [ "$LAN0MODE" = "WAN" ] ; then
>> + WAN_PORTS="$WAN_PORTS 5"
>> +elif [ "$LAN0MODE" = "CLIENT" ] ; then
>> + CLIENT_PORTS="$CLIENT_PORTS 5"
>> +elif [ "$LAN0MODE" = "BATMAN" ] ; then
>> + BATMAN_PORTS="$BATMAN_PORTS 5"
>> +else
>> + echo "Wrong port mode for 1st port. Choose one of: WAN, CLIENT,
>> BATMAN"
>> + exit 1
>> +fi
>> +
>> +if [ "$LAN1MODE" = "WAN" ] ; then
>> + WAN_PORTS="$WAN_PORTS 4"
>> +elif [ "$LAN1MODE" = "CLIENT" ] ; then
>> + CLIENT_PORTS="$CLIENT_PORTS 4"
>> +elif [ "$LAN1MODE" = "BATMAN" ] ; then
>> + BATMAN_PORTS="$BATMAN_PORTS 4"
>> +else
>> + echo "Wrong port mode for 2nd port. Choose one of: WAN, CLIENT,
>> BATMAN"
>> + exit 1
>> +fi
>> +
>> +uci set "network.vlan1.ports=$CLIENT_PORTS"
>> +uci set "network.vlan2.ports=$WAN_PORTS"
>> +uci set "network.vlan3.ports=$BATMAN_PORTS"
>> +uci commit network
>> +
>> +/etc/init.d/network restart
>> +
>> +echo "Ports updated successfully."
>> diff --git a/src/packages/fff/fff-network/files/usr/sbin/setoneport
>> b/src/packages/fff/fff-network/files/usr/sbin/setoneport
>> new file mode 100755
>> index 00000000..37387827
>> --- /dev/null
>> +++ b/src/packages/fff/fff-network/files/usr/sbin/setoneport
>> @@ -0,0 +1,24 @@
>> +#!/bin/sh
>> +
>> +# This sets the port mode on one-port devices
>> +
>> +if ! [ "$(uci -q get fff.ui.portsetup)" = "oneport" ] ; then
>> + echo "Wrong device. This is for one-port devices only!"
>> + exit 1
>> +fi
>> +
>> +. /lib/functions/fff/networksetup
>> +
>> +ETHMODE=$1
>> +DEV=$2
>> +
>> +[ -n "$DEV" ] || DEV="eth0"
>> +
>> +if [ "$ETHMODE" = "WAN" ] || [ "$ETHMODE" = "CLIENT" ] || [ "$ETHMODE"
>> = "BATMAN" ]; then
>> + setupOnePort "$DEV" "$ETHMODE"
>> + /etc/init.d/network restart
>> + echo "Port updated successfully."
>> +else
>> + echo "Wrong port mode. Choose one of: WAN, CLIENT, BATMAN"
>> + exit 1
>> +fi
>> diff --git a/src/packages/fff/fff-support/Makefile b/src/packages/fff/fff-
>> support/Makefile
>> index 56e35740..2fc74b0c 100644
>> --- a/src/packages/fff/fff-support/Makefile
>> +++ b/src/packages/fff/fff-support/Makefile
>> @@ -1,7 +1,7 @@
>> include $(TOPDIR)/rules.mk
>>
>> PKG_NAME:=fff-support
>> -PKG_RELEASE:=2
>> +PKG_RELEASE:=3
>>
>> PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
>>
>> diff --git a/src/packages/fff/fff-support/files/etc/uci-defaults/90-firstbootfff
>> b/src/packages/fff/fff-support/files/etc/uci-defaults/90-firstbootfff
>> new file mode 100644
>> index 00000000..30c5ab12
>> --- /dev/null
>> +++ b/src/packages/fff/fff-support/files/etc/uci-defaults/90-firstbootff
>> +++ f
>> @@ -0,0 +1,13 @@
>> +#!/bin/sh
>> +# Copyright 2019 Adrian Schmutzler
>> +# License GPLv3
>> +
>> +LOCALUPGRADESCRIPT="/etc/firstbootfff"
>> +
>> +#add LOCALUPGRADESCRIPT to sysupgrade
>> +grep -q ^"${LOCALUPGRADESCRIPT}"$ /etc/sysupgrade.conf || echo
>> +"$LOCALUPGRADESCRIPT" >> /etc/sysupgrade.conf
>> +
>> +# process user commands
>> +[ -s "$LOCALCONFIGSCRIPT" ] && {
>> + sh /etc/firstbootfff
>> +}
>> diff --git a/src/packages/fff/fff-support/files/usr/sbin/show_info
>> b/src/packages/fff/fff-support/files/usr/sbin/show_info
>> index d7ec8247..fb7f7d25 100755
>> --- a/src/packages/fff/fff-support/files/usr/sbin/show_info
>> +++ b/src/packages/fff/fff-support/files/usr/sbin/show_info
>> @@ -3,6 +3,7 @@
>> . /etc/firmware_release
>> . /lib/functions/fff/evalhoodinfo
>> . /lib/functions/fff/evalbytes
>> +. /lib/functions/fff/portorder
>> . /lib/functions.sh # required for config_load and config_foreach
>>
>> board_name=$(uci -q get board.model.name) @@ -187,13 +188,9 @@ fi
>> echo "Download-Limit: $(uci -q get 'simple-tc.example.limit_ingress') kBit/s"
>> echo "Upload-Limit: $(uci -q get 'simple-tc.example.limit_egress') kBit/s"
>>
>> -if grep -q 'PORTORDER=' /etc/network.$board_name ; then
>> - portorder=$(awk -F= '/PORTORDER=/ { print $2 }'
>> /etc/network.$board_name | sed "s/\"//g")
>> -fi
>> -
>> echo ""
>> if swconfig list | grep -q switch0 ; then
>> - if [ -n "$portorder" ] ; then
>> + if [ -n "$PORTORDER" ] ; then
>> echo "-> SWITCH (tatsaechliche Portreihenfolge)"
>> else
>> echo "-> SWITCH (interne logische Portreihenfolge)"
>> @@ -218,7 +215,7 @@ if swconfig list | grep -q switch0 ; then
>> printf '%-10s%-5s%-13s%s\n' "WAN-Port: " "${link} " "- WAN "
>> "@ $speed"
>> fi
>>
>> - for internalport in $portorder
>> + for internalport in $PORTORDER
>> do
>> line=$(swconfig dev switch0 port "$internalport" show | tr -d
>> '\n' | tr -d '\t')
>> port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/') @@ -
>> 230,9 +227,7 @@ if swconfig list | grep -q switch0 ; then
>> swconfig dev switch0 show | grep "\t*link:" | while read line ; do
>> line=$(echo "$line" | tr -d '\n' | tr -d '\t')
>> port=$(echo "$line" | sed 's/.* port:\([^ ]*\) .*/\1/')
>> - if echo "$portorder" | grep -q "$port" ; then
>> - continue
>> - fi
>> + echo "$PORTORDER" | grep -q "$port" && continue
>> printf '%-10s' "Port #${port}: "
>> format_port "${line}"
>> done
>> diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-
>> sysupgrade/Makefile
>> index 0e6c08ec..0f2e6a1e 100644
>> --- a/src/packages/fff/fff-sysupgrade/Makefile
>> +++ b/src/packages/fff/fff-sysupgrade/Makefile
>> @@ -1,7 +1,7 @@
>> include $(TOPDIR)/rules.mk
>>
>> PKG_NAME:=fff-sysupgrade
>> -PKG_RELEASE:=10
>> +PKG_RELEASE:=11
>>
>> PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
>>
>> 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 f5783687..07f991e0 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-sysu
>> +++ pgrade
>> @@ -2,7 +2,7 @@
>> # Copyright 2017 Tim Niemeyer
>> # License GPLv3
>>
>> -cat > /etc/sysupgrade.conf <<-__EOF__
>> +cat >> /etc/sysupgrade.conf <<-__EOF__
>> /etc/shadow
>> /etc/dropbear/dropbear_dss_host_key
>> /etc/dropbear/dropbear_rsa_host_key
>> diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-
>> web/Makefile
>> index 9bb10f71..819644a5 100644
>> --- a/src/packages/fff/fff-web/Makefile
>> +++ b/src/packages/fff/fff-web/Makefile
>> @@ -1,7 +1,7 @@
>> include $(TOPDIR)/rules.mk
>>
>> PKG_NAME:=fff-web
>> -PKG_RELEASE:=7
>> +PKG_RELEASE:=8
>>
>> PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
>>
>> 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 01506fce..f990d4e4 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
>> @@ -2,22 +2,27 @@
>>
>> <%
>> board_name=$(uci -q get board.model.name)
>> +LOCALUPGRADESCRIPT="/etc/firstbootfff"
>> +
>> # write
>> if [ "$REQUEST_METHOD" = "POST" ] ; then
>> 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
>> + if [ "$(uci -q get fff.ui.portsetup)" = "oneport" ]; then
>> + setoneport "${POST_mode}"
>> + sed -i '/^setoneport.*/d' $LOCALUPGRADESCRIPT
>> + echo "setoneport \"${POST_mode}\" # set via
>> WebUI" >> $LOCALUPGRADESCRIPT
>> + elif [ "$(uci -q get fff.ui.portsetup)" = "2ndport" ]; then
>> + set2ndport "${POST_mode}"
>> + sed -i '/^set2ndport.*/d' $LOCALUPGRADESCRIPT
>> + echo "set2ndport \"${POST_mode}\" # set via
>> WebUI" >> $LOCALUPGRADESCRIPT
>> + fi
>> do_reboot=1
>> MSG='<span class="green">Port Modus geändert!
>> Router startet neu...</span>'
>> 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
>> + setcpev1 "${POST_mode0}" "${POST_mode1}"
>> + sed -i '/^setcpev1.*/d' $LOCALUPGRADESCRIPT
>> + echo "setcpev1 \"${POST_mode0}\" \"${POST_mode1}\" #
>> set via WebUI"
>> +>> $LOCALUPGRADESCRIPT
>> do_reboot=1
>> MSG='<span class="green">Port Modus geändert!
>> Router startet neu...</span>'
>> fi
>> @@ -108,11 +113,8 @@ format_port() {
>> echo "</td>"
>> fi
>>
>> - if grep -q 'PORTORDER='
>> /etc/network.$board_name ; then
>> - portorder=$(awk -F= '/PORTORDER=/
>> { print $2 }' /etc/network.$board_name | sed "s/\"//g")
>> - fi
>> - for internalport in $portorder
>> - do
>> + . /lib/functions/fff/portorder
>> + for internalport in $PORTORDER ; do
>> line=$(swconfig dev switch0 port
>> "$internalport" show | tr -d '\n' | tr -d '\t')
>> port=$(echo "$line" | sed 's/.*
>> port:\([^ ]*\) .*/\1/')
>> echo "<td class=\"swport\">"
>> @@ -120,16 +122,12 @@ format_port() {
>> format_port "${line}"
>> echo "</td>"
>> done
>> - if [ -n "$portorder" ] ; then
>> - echo "<td class=\"swport\"
>> style=\"width:4em\"></td>"
>> - fi
>> + [ -n "$PORTORDER" ] && echo "<td
>> class=\"swport\" style=\"width:4em\"></td>"
>>
>> swconfig dev switch0 show | grep "\t*link:" |
>> while read line ; do
>> line=$(echo "$line" | tr -d '\n' | tr -d
>> '\t')
>> port=$(echo "$line" | sed 's/.*
>> port:\([^ ]*\) .*/\1/')
>> - if echo "$portorder" | grep -q "$port" ;
>> then
>> - continue
>> - fi
>> + echo "$PORTORDER" | grep -q "$port"
>> && continue
>> echo "<td class=\"swport\">"
>> echo "<span class=\"port\">Port
>> #${port}</span><br />"
>> format_port "${line}"
>> @@ -141,7 +139,7 @@ format_port() {
>> <table>
>> <tr><td></td></tr>
>> <tr><td>
>> - <% if [ -n "$portorder" ] ; then %>
>> + <% if [ -n "$PORTORDER" ] ; then %>
>> Dies zeigt die tatsächliche Zuordnung
>> der Ports, wobei der WAN Port auf der linken Seite liegt. Die Nummerierung
>> entspricht der internen Zuordnung!<br />
>> <% else %>
>> Die Nummerierung und Reihenfolge der Ports
>> entspricht nicht notwendigerweise der der Netzwerkanschlüsse am
>> Router!<br /> @@ -152,12 +150,7 @@ format_port() {
>> </fieldset>
>> </td></tr>
>> <% fi %>
>> -<% if grep -q "ONE_PORT" "/etc/network.$board_name" || grep -q
>> "ETHPORT" "/etc/network.$board_name" ; then %>
>> - <%
>> - # Device has a port set by $ETHMODE
>> - . /etc/network.mode
>> - . /etc/network.config
>> - %>
>> +<% if [ "$(uci -q get fff.ui.portsetup)" = "oneport" ] || [ "$(uci -q
>> +get fff.ui.portsetup)" = "2ndport" ] ; then %>
>> <tr><td>
>> <fieldset>
>> <legend>Ethernet Anschluss</legend>
>> @@ -166,10 +159,10 @@ format_port() {
>> <th style="width:
>> 1em;">Anschluss Modus:</th>
>> <td>
>> <select name="mode">
>> - <option value="BATMAN" <%
>> [ "$ETHMODE" = "BATMAN" ] && echo -n 'selected="selected" '
>> %>>BATMAN</option>
>> - <option value="CLIENT" <% [
>> "$ETHMODE" = "CLIENT" ] && echo -n 'selected="selected" '
>> %>>CLIENT</option>
>> - <% if grep -q "ONE_PORT"
>> "/etc/network.$board_name" ; then %>
>> - <option value="WAN" <% [
>> "$ETHMODE" = "WAN" ] && echo -n 'selected="selected" '
>> %>>WAN</option>
>> + <option
>> value="BATMAN">BATMAN</option>
>> + <option
>> value="CLIENT">CLIENT</option>
>> + <% if [ "$(uci -q get
>> fff.ui.portsetup)" = "oneport" ] ; then %>
>> + <option
>> value="WAN">WAN</option>
>> <% fi %>
>> </select>
>> </td>
>> @@ -178,7 +171,7 @@ format_port() {
>> <tr><td colspan="2"></td></tr>
>> <tr><td colspan="2">
>> WAN: Knoten stellt über Ethernet
>> Anschluss Verbindung zum Internet her.<br />
>> - Client: Normale Clients stellen über
>> Ethernet Anschluss des Knotens Verbindung zum Freifunk Netz her.<br />
>> + CLIENT: Normale Clients stellen über
>> Ethernet Anschluss des
>> +Knotens Verbindung zum Freifunk Netz her.<br />
>> BATMAN: Knoten stellt über Ethernet
>> Anschluss Verbindung zu anderen MESH Knoten her.<br /><br />
>>
>> Wenn diese Einstellung verändert wird,
>> wird eine evtl. vorhandene manuelle Netzwerkkonfiguration in der @@ -
>> 189,12 +182,7 @@ format_port() {
>> </fieldset>
>> </td></tr>
>> <% 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
>> - %>
>> +<% if [ "$(uci -q get fff.ui.portsetup)" = "cpev1" ] ; then %>
>> <tr><td>
>> <fieldset>
>> <legend>Ethernet Anschlüsse</legend> @@ -207,16
>> +195,16 @@ format_port() {
>> <tr>
>> <td>
>> <select name="mode0">
>> - <option value="BATMAN" <%
>> [ "$LAN0MODE" = "BATMAN" ] && echo -n 'selected="selected" '
>> %>>BATMAN</option>
>> - <option value="CLIENT" <% [
>> "$LAN0MODE" = "CLIENT" ] && echo -n 'selected="selected" '
>> %>>CLIENT</option>
>> - <option value="WAN" <% [
>> "$LAN0MODE" = "WAN" ] && echo -n 'selected="selected" '
>> %>>WAN</option>
>> + <option
>> value="BATMAN">BATMAN</option>
>> + <option
>> value="CLIENT">CLIENT</option>
>> + <option
>> value="WAN">WAN</option>
>> </select>
>> </td>
>> <td>
>> <select name="mode1">
>> - <option value="BATMAN" <%
>> [ "$LAN1MODE" = "BATMAN" ] && echo -n 'selected="selected" '
>> %>>BATMAN</option>
>> - <option value="CLIENT" <% [
>> "$LAN1MODE" = "CLIENT" ] && echo -n 'selected="selected" '
>> %>>CLIENT</option>
>> - <option value="WAN" <% [
>> "$LAN1MODE" = "WAN" ] && echo -n 'selected="selected" '
>> %>>WAN</option>
>> + <option
>> value="BATMAN">BATMAN</option>
>> + <option
>> value="CLIENT">CLIENT</option>
>> + <option
>> value="WAN">WAN</option>
>> </select>
>> </td>
>> <td><input type="submit"
>> name="change_twoport" /></td> @@ -224,7 +212,7 @@ format_port() {
>> <tr><td colspan="3"></td></tr>
>> <tr><td colspan="3">
>> WAN: Knoten stellt über Ethernet
>> Anschluss Verbindung zum Internet her.<br />
>> - Client: Normale Clients stellen über
>> Ethernet Anschluss des Knotens Verbindung zum Freifunk Netz her.<br />
>> + CLIENT: Normale Clients stellen über
>> Ethernet Anschluss des
>> +Knotens Verbindung zum Freifunk Netz her.<br />
>> BATMAN: Knoten stellt über Ethernet
>> Anschluss Verbindung zu anderen MESH Knoten her.<br /><br />
>>
>> Wenn diese Einstellung verändert wird,
>> wird eine evtl. vorhandene manuelle Netzwerkkonfiguration in der
>> --
>> 2.11.0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 833 bytes
Beschreibung: OpenPGP digital signature
URL : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190427/d9e6426a/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev