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
6 changed files with 92 additions and 11 deletions
|
@ -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"
|
||||||
|
|
||||||
|
|
26
root_file_system/dir300/etc/config/nodewatcher
Normal file
26
root_file_system/dir300/etc/config/nodewatcher
Normal file
|
@ -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'
|
26
root_file_system/wr1043nd/etc/config/nodewatcher
Normal file
26
root_file_system/wr1043nd/etc/config/nodewatcher
Normal file
|
@ -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'
|
20
root_file_system/wr1043nd/etc/crontabs/root
Normal file
20
root_file_system/wr1043nd/etc/crontabs/root
Normal file
|
@ -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…
Add table
Reference in a new issue