forked from freifunk-franken/firmware
Multiple client interfaces now possible in nodewatcher, fixed bug that nodewatcher does not send the number of clients, fixed bug that wlan0 is not added to mesh bridge on wr1043nd, prepare for firmware version 0.2
This commit is contained in:
parent
008db5c4d2
commit
d81c4195b5
|
@ -1,5 +1,5 @@
|
||||||
config 'script'
|
config 'script'
|
||||||
option 'version' '18'
|
option 'version' '19'
|
||||||
option 'error_level' '0'
|
option 'error_level' '0'
|
||||||
option 'logfile' '/var/log/nodewatcher.log'
|
option 'logfile' '/var/log/nodewatcher.log'
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
FIRMWARE_VERSION="0.1"
|
FIRMWARE_VERSION="0.2"
|
||||||
RELEASE_DATE="15.02.2010"
|
RELEASE_DATE="30.05.2011"
|
|
@ -19,6 +19,8 @@ if [ -f /etc/config/nodewatcher ];then
|
||||||
CRAWL_NICKNAME=`uci get nodewatcher.@crawl[0].nickname`
|
CRAWL_NICKNAME=`uci get nodewatcher.@crawl[0].nickname`
|
||||||
CRAWL_PASSWORD=`uci get nodewatcher.@crawl[0].password`
|
CRAWL_PASSWORD=`uci get nodewatcher.@crawl[0].password`
|
||||||
UPDATE_AUTOUPDATE=`uci get nodewatcher.@update[0].autoupdate`
|
UPDATE_AUTOUPDATE=`uci get nodewatcher.@update[0].autoupdate`
|
||||||
|
MESH_INTERFACE=`uci get nodewatcher.@network[0].mesh_interface`
|
||||||
|
CLIENT_INTERFACES=`uci get nodewatcher.@network[0].client_interfaces`
|
||||||
else
|
else
|
||||||
. $SCRIPT_DIR/nodewatcher_config
|
. $SCRIPT_DIR/nodewatcher_config
|
||||||
fi
|
fi
|
||||||
|
@ -30,6 +32,12 @@ fi
|
||||||
if [ -n $API_RETRY ]; then
|
if [ -n $API_RETRY ]; then
|
||||||
API_RETRY="3"
|
API_RETRY="3"
|
||||||
fi
|
fi
|
||||||
|
if [ -n $MESH_INTERFACE ]; then
|
||||||
|
MESH_INTERFACE="br-mesh"
|
||||||
|
fi
|
||||||
|
if [ -n $CLIENT_INTERFACES ]; then
|
||||||
|
CLIENT_INTERFACES="ath0"
|
||||||
|
fi
|
||||||
|
|
||||||
API_RETRY=$(($API_RETRY - 1))
|
API_RETRY=$(($API_RETRY - 1))
|
||||||
|
|
||||||
|
@ -102,7 +110,7 @@ update() {
|
||||||
echo "`date`: Suche neue Version" >> $logfile
|
echo "`date`: Suche neue Version" >> $logfile
|
||||||
fi
|
fi
|
||||||
netmon_api=`get_url`
|
netmon_api=`get_url`
|
||||||
command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=version"
|
command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=version&nodewatcher_version=$SCRIPT_VERSION"
|
||||||
ergebnis=`$command&sleep $API_TIMEOUT; kill $!`
|
ergebnis=`$command&sleep $API_TIMEOUT; kill $!`
|
||||||
return=`echo $ergebnis| cut '-d;' -f1`
|
return=`echo $ergebnis| cut '-d;' -f1`
|
||||||
version=`echo $ergebnis| cut '-d;' -f2`
|
version=`echo $ergebnis| cut '-d;' -f2`
|
||||||
|
@ -112,7 +120,7 @@ update() {
|
||||||
if [ $error_level -gt "1" ]; then
|
if [ $error_level -gt "1" ]; then
|
||||||
echo "`date`: Eine neue Version ist Verfügbar, script wird geupdated" >> $logfile
|
echo "`date`: Eine neue Version ist Verfügbar, script wird geupdated" >> $logfile
|
||||||
fi
|
fi
|
||||||
wget -q -O $SCRIPT_DIR/nodewatcher.sh http://$netmon_api/api_nodewatcher.php?section=update
|
wget -q -O $SCRIPT_DIR/nodewatcher.sh http://$netmon_api/api_nodewatcher.php?section=update&nodewatcher_version=$SCRIPT_VERSION
|
||||||
uci set nodewatcher.@script[0].version=$version
|
uci set nodewatcher.@script[0].version=$version
|
||||||
uci commit
|
uci commit
|
||||||
else
|
else
|
||||||
|
@ -398,13 +406,14 @@ crawl() {
|
||||||
mv /etc/bat-hosts.tmp /etc/bat-hosts
|
mv /etc/bat-hosts.tmp /etc/bat-hosts
|
||||||
|
|
||||||
#CLIENTS
|
#CLIENTS
|
||||||
MESHDEVICE='br-mesh'
|
SEDDEV=`brctl showstp $MESH_INTERFACE | egrep '\([0-9]\)' | sed -e "s/(//;s/)//" | awk '{ print "s/^ "$2"/"$1"/;" }'`
|
||||||
CLIENTDEVICE='ath0'
|
|
||||||
SEDDEV=`brctl showstp $MESHDEVICE | egrep '\([0-9]\)' | sed -e "s/(//;s/)//" | awk '{ print "s/^ "$2"/"$1"/;" }'`
|
for entry in $CLIENT_INTERFACES; do
|
||||||
CLIENT_MACS=`brctl showmacs $MESHDEVICE | sed -e "$SEDDEV" | awk '{if ($3 != "yes" && $1 == "ath0") print $2}'`
|
CLIENT_MACS=$CLIENT_MACS`brctl showmacs $MESH_INTERFACE | sed -e "$SEDDEV" | awk '{if ($3 != "yes" && $1 == "'"$entry"'") print $2}'`" "
|
||||||
|
done
|
||||||
|
|
||||||
i=0
|
i=0
|
||||||
for client in $CLIENT_MACS; do
|
for client in $CLIENT_MACS; do
|
||||||
# clients=$clients"clients[$i][mac_addr]=$client&"
|
|
||||||
i=`expr $i + 1` #Zähler um eins erhöhen
|
i=`expr $i + 1` #Zähler um eins erhöhen
|
||||||
done
|
done
|
||||||
client_count=$i
|
client_count=$i
|
||||||
|
@ -413,7 +422,7 @@ crawl() {
|
||||||
SYSTEM_DATA="status=online&hostname=$hostname&description=$description&location=$location&latitude=$latitude&longitude=$longitude&luciname=$luciname&luciversion=$luciversion&distname=$distname&distversion=$distversion&chipset=$chipset&cpu=$cpu&memory_total=$memory_total&memory_caching=$memory_caching&memory_buffering=$memory_buffering&memory_free=$memory_free&loadavg=$loadavg&processes=$processes&uptime=$uptime&idletime=$idletime&local_time=$local_time&community_essid=$community_essid&community_nickname=$community_nickname&community_email=$community_email&community_prefix=$community_prefix&batman_advanced_version=$batman_adv_version&kernel_version=$kernel_version&nodewatcher_version=$nodewatcher_version&firmware_version=$firmware_version"
|
SYSTEM_DATA="status=online&hostname=$hostname&description=$description&location=$location&latitude=$latitude&longitude=$longitude&luciname=$luciname&luciversion=$luciversion&distname=$distname&distversion=$distversion&chipset=$chipset&cpu=$cpu&memory_total=$memory_total&memory_caching=$memory_caching&memory_buffering=$memory_buffering&memory_free=$memory_free&loadavg=$loadavg&processes=$processes&uptime=$uptime&idletime=$idletime&local_time=$local_time&community_essid=$community_essid&community_nickname=$community_nickname&community_email=$community_email&community_prefix=$community_prefix&batman_advanced_version=$batman_adv_version&kernel_version=$kernel_version&nodewatcher_version=$nodewatcher_version&firmware_version=$firmware_version"
|
||||||
INTERFACE_DATA="$int"
|
INTERFACE_DATA="$int"
|
||||||
BATMAN_ADV_ORIGINATORS="$batman_adv_originators"
|
BATMAN_ADV_ORIGINATORS="$batman_adv_originators"
|
||||||
CLIENT_DATA="$client_count"
|
CLIENT_DATA="client_count=$client_count"
|
||||||
|
|
||||||
DATA="$AUTHENTIFICATION_DATA&$SYSTEM_DATA&$INTERFACE_DATA&$BATMAN_ADV_INTERFACES&$BATMAN_ADV_ORIGINATORS&$CLIENT_DATA"
|
DATA="$AUTHENTIFICATION_DATA&$SYSTEM_DATA&$INTERFACE_DATA&$BATMAN_ADV_INTERFACES&$BATMAN_ADV_ORIGINATORS&$CLIENT_DATA"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
config 'script'
|
||||||
|
option 'version' '19'
|
||||||
|
option 'error_level' '0'
|
||||||
|
option 'logfile' '/var/log/nodewatcher.log'
|
||||||
|
|
||||||
|
config 'api'
|
||||||
|
option 'ipv4_address' '1'
|
||||||
|
option 'ipv6_interface' 'br-mesh'
|
||||||
|
option 'ipv6_address' 'fe80::201:2ff:fe03:405'
|
||||||
|
option 'timeout' '3'
|
||||||
|
option 'retry' '3'
|
||||||
|
|
||||||
|
config 'update'
|
||||||
|
option 'autoupdate' '1'
|
||||||
|
|
||||||
|
config 'crawl'
|
||||||
|
option 'method' 'hash'
|
||||||
|
option 'nickname' '1'
|
||||||
|
option 'password' '1'
|
||||||
|
option 'router_id' '1'
|
||||||
|
option 'update_hash' '1'
|
||||||
|
option 'login_string' '1'
|
||||||
|
|
||||||
|
config 'network'
|
||||||
|
option 'mesh_interface' 'br-mesh'
|
||||||
|
option 'client_interfaces' 'ath0 eth0.1'
|
|
@ -0,0 +1,26 @@
|
||||||
|
config 'script'
|
||||||
|
option 'version' '19'
|
||||||
|
option 'error_level' '0'
|
||||||
|
option 'logfile' '/var/log/nodewatcher.log'
|
||||||
|
|
||||||
|
config 'api'
|
||||||
|
option 'ipv4_address' '1'
|
||||||
|
option 'ipv6_interface' 'br-mesh'
|
||||||
|
option 'ipv6_address' 'fe80::201:2ff:fe03:405'
|
||||||
|
option 'timeout' '3'
|
||||||
|
option 'retry' '3'
|
||||||
|
|
||||||
|
config 'update'
|
||||||
|
option 'autoupdate' '1'
|
||||||
|
|
||||||
|
config 'crawl'
|
||||||
|
option 'method' 'hash'
|
||||||
|
option 'nickname' '1'
|
||||||
|
option 'password' '1'
|
||||||
|
option 'router_id' '1'
|
||||||
|
option 'update_hash' '1'
|
||||||
|
option 'login_string' '1'
|
||||||
|
|
||||||
|
config 'network'
|
||||||
|
option 'mesh_interface' 'br-mesh'
|
||||||
|
option 'client_interfaces' 'wlan0 eth0.1'
|
|
@ -0,0 +1,20 @@
|
||||||
|
*/5 * * * * killall klogd
|
||||||
|
*/5 * * * * killall syslogd
|
||||||
|
*/5 * * * * killall logger
|
||||||
|
|
||||||
|
*/5 * * * * sh /etc/tincstart.sh
|
||||||
|
*/5 * * * * sh /etc/nodewatcher.sh
|
||||||
|
|
||||||
|
15 01 * * * rdate -s time.fu-berlin.de > /dev/null
|
||||||
|
|
||||||
|
#Enable zapp script if you are running a gateway
|
||||||
|
#*/1 * * * * /etc/init.d/zapp
|
||||||
|
|
||||||
|
*/5 * * * * killall -HUP dnsmasq
|
||||||
|
#* * * * * /usr/sbin/ff_olsr_test_gw
|
||||||
|
#*/5 * * * * /usr/sbin/ff_olsr_watchdog
|
||||||
|
#0 */4 * * * /usr/sbin/ff_rdate
|
||||||
|
#17 * * * * /usr/sbin/ff_mapupdate
|
||||||
|
|
||||||
|
#Fix only for WR1043ND becuase wlan0 is not added after bootup
|
||||||
|
*/5 * * * * brctl addif br-mesh wlan0
|
Loading…
Reference in New Issue