Message ID | 1468072031-16965-1-git-send-email-mayosemmel@gmail.com |
---|---|
State | Superseded, archived |
Headers | show |
diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile index ded9852..e790c82 100644 --- a/src/packages/fff/fff-sysupgrade/Makefile +++ b/src/packages/fff/fff-sysupgrade/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-sysupgrade -PKG_VERSION:=0.0.1 -PKG_RELEASE:=1 +PKG_VERSION:=0.0.2 +PKG_RELEASE:=2 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-sysupgrade @@ -13,7 +13,7 @@ define Package/fff-sysupgrade CATEGORY:=Freifunk TITLE:=Freifunk-Franken sysupgrade URL:=http://www.freifunk-franken.de - DEPENDS:=+fff-boardname + DEPENDS:=+fff-boardname +micrond endef define Package/fff-sysupgrade/description diff --git a/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade new file mode 100644 index 0000000..312972f --- /dev/null +++ b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade @@ -0,0 +1 @@ +*/5 * * * * /usr/sbin/copy_netmon_coordinates.sh \ No newline at end of file diff --git a/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh new file mode 100755 index 0000000..3e2c22f --- /dev/null +++ b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +delete_myself() +{ + echo "This Script will be deleted now!" + rm -f /usr/lib/micron.d/fff-sysupgrade + rm -f "$0" + exit 0 +} + +#Get Mac Address of br-mesh if already up +if ! mac=$( cat /sys/class/net/br-mesh/address ); then + echo "Interface br-mesh is not available!" + exit 1 +fi + +#Check if Coordinates are already set +if uci get system.@system[0].latitude && uci get system.@system[0].longitude; then + echo "Coordinates are already set." + delete_myself +fi + +#Get Router from Netmon Database +xml_data=$( wget -q -O - "http://fe80::ff:feee:1%br-mesh/api/rest/api.php?rquest=router&mac=${mac//:}" 2>&1) + +if [ -z "$xml_data" ]; then + echo "xml_data is not set" + exit 1 +elif echo "$xml_data"|grep "HTTP/1.1 404 Not Found" ;then + echo "This Router is not present in the Netmon Database." + delete_myself +fi + +#Reduce XML_DATA to Router only +xml_data=$( echo $xml_data |grep -o '<router>.*<\/router>' |sed -e 's/<user>.*<\/user>//g' |sed -e 's/<chipset>.*<\/chipset>//g' |sed -e 's/<chipset>.*<\/chipset>//g' ) + +#Get needed Variables +hostname=$( echo $xml_data |grep -o '<hostname>.*<\/hostname>'|sed -e 's/<\/\?hostname>//g' ) +description=$( echo $xml_data |grep -o '<description>.*<\/description>'|sed -e 's/<\/\?description>//g' ) +latitude=$( echo $xml_data |grep -o '<latitude>.*<\/latitude>'|sed -e 's/<\/\?latitude>//g' ) +longitude=$( echo $xml_data |grep -o '<longitude>.*<\/longitude>'|sed -e 's/<\/\?longitude>//g' ) + +uci set system.@system[0]=system +echo "Setting hostname $hostname" +uci set system.@system[0].hostname="$hostname" +echo "Setting description $description" +uci set system.@system[0].description="$description" +echo "Setting latitude $latitude" +uci set system.@system[0].latitude="$latitude" +echo "Setting longitude $longitude" +uci set system.@system[0].longitude="$longitude" +uci commit + +echo "Coordinates are now copied from Netmon. Router will be rebooted." +reboot +exit 0 \ No newline at end of file
Hi Ich habs nicht getestet, aber schaut soweit gut aus: Reviewed-by: Tim Niemeyer <tim@tn-x.org> Tim Am Samstag, den 09.07.2016, 15:47 +0200 schrieb Jan Kraus: > Signed-off-by: Jan Kraus <mayosemmel@gmail.com> > --- > src/packages/fff/fff-sysupgrade/Makefile | 6 +-- > .../files/usr/lib/micron.d/fff-sysupgrade | 1 + > .../files/usr/sbin/copy_netmon_coordinates.sh | 56 ++++++++++++++++++++++ > 3 files changed, 60 insertions(+), 3 deletions(-) > create mode 100644 src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade > create mode 100755 src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh > > diff --git a/src/packages/fff/fff-sysupgrade/Makefile b/src/packages/fff/fff-sysupgrade/Makefile > index ded9852..e790c82 100644 > --- a/src/packages/fff/fff-sysupgrade/Makefile > +++ b/src/packages/fff/fff-sysupgrade/Makefile > @@ -1,8 +1,8 @@ > include $(TOPDIR)/rules.mk > > PKG_NAME:=fff-sysupgrade > -PKG_VERSION:=0.0.1 > -PKG_RELEASE:=1 > +PKG_VERSION:=0.0.2 > +PKG_RELEASE:=2 > > PKG_BUILD_DIR:=$(BUILD_DIR)/fff-sysupgrade > > @@ -13,7 +13,7 @@ define Package/fff-sysupgrade > CATEGORY:=Freifunk > TITLE:=Freifunk-Franken sysupgrade > URL:=http://www.freifunk-franken.de > - DEPENDS:=+fff-boardname > + DEPENDS:=+fff-boardname +micrond > endef > > define Package/fff-sysupgrade/description > diff --git a/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade > new file mode 100644 > index 0000000..312972f > --- /dev/null > +++ b/src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade > @@ -0,0 +1 @@ > +*/5 * * * * /usr/sbin/copy_netmon_coordinates.sh > \ No newline at end of file > diff --git a/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh > new file mode 100755 > index 0000000..3e2c22f > --- /dev/null > +++ b/src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh > @@ -0,0 +1,56 @@ > +#!/bin/sh > + > +delete_myself() > +{ > + echo "This Script will be deleted now!" > + rm -f /usr/lib/micron.d/fff-sysupgrade > + rm -f "$0" > + exit 0 > +} > + > +#Get Mac Address of br-mesh if already up > +if ! mac=$( cat /sys/class/net/br-mesh/address ); then > + echo "Interface br-mesh is not available!" > + exit 1 > +fi > + > +#Check if Coordinates are already set > +if uci get system.@system[0].latitude && uci get system.@system[0].longitude; then > + echo "Coordinates are already set." > + delete_myself > +fi > + > +#Get Router from Netmon Database > +xml_data=$( wget -q -O - "http://fe80::ff:feee:1%br-mesh/api/rest/api.php?rquest=router&mac=${mac//:}" 2>&1) > + > +if [ -z "$xml_data" ]; then > + echo "xml_data is not set" > + exit 1 > +elif echo "$xml_data"|grep "HTTP/1.1 404 Not Found" ;then > + echo "This Router is not present in the Netmon Database." > + delete_myself > +fi > + > +#Reduce XML_DATA to Router only > +xml_data=$( echo $xml_data |grep -o '<router>.*<\/router>' |sed -e 's/<user>.*<\/user>//g' |sed -e 's/<chipset>.*<\/chipset>//g' |sed -e 's/<chipset>.*<\/chipset>//g' ) > + > +#Get needed Variables > +hostname=$( echo $xml_data |grep -o '<hostname>.*<\/hostname>'|sed -e 's/<\/\?hostname>//g' ) > +description=$( echo $xml_data |grep -o '<description>.*<\/description>'|sed -e 's/<\/\?description>//g' ) > +latitude=$( echo $xml_data |grep -o '<latitude>.*<\/latitude>'|sed -e 's/<\/\?latitude>//g' ) > +longitude=$( echo $xml_data |grep -o '<longitude>.*<\/longitude>'|sed -e 's/<\/\?longitude>//g' ) > + > +uci set system.@system[0]=system > +echo "Setting hostname $hostname" > +uci set system.@system[0].hostname="$hostname" > +echo "Setting description $description" > +uci set system.@system[0].description="$description" > +echo "Setting latitude $latitude" > +uci set system.@system[0].latitude="$latitude" > +echo "Setting longitude $longitude" > +uci set system.@system[0].longitude="$longitude" > +uci commit > + > +echo "Coordinates are now copied from Netmon. Router will be rebooted." > +reboot > +exit 0 > \ No newline at end of file > -- > 2.1.4 >
On 07/09/16 17:58, Tim Niemeyer wrote: > Hi > > Ich habs nicht getestet, aber schaut soweit gut aus: > Vorsichtig... Wir hatten das damals bei Freifunk Nordwest auch gemacht. Netmon liefert wohl über die API 0/0 als default wert zurrück was bei uns dazu geführt hat das einige 100 Router vor der Niegerianischen Küste lagen. vg Tarek
Hi, ich habe gerade mal versucht das zu reproduzieren. Wenn ich einen nicht zugeordneten Router per API suche bekomme ich einen Error 404. In welcher Situation tritt das Problem mit 0/0 denn auf? Grüße Jan Am Montag, den 11.07.2016, 11:11 +0200 schrieb Jan-Tarek Butt: > > On 07/09/16 17:58, Tim Niemeyer wrote: > > Hi > > > > Ich habs nicht getestet, aber schaut soweit gut aus: > > > Vorsichtig... > > Wir hatten das damals bei Freifunk Nordwest auch gemacht. > Netmon liefert wohl über die API 0/0 als default wert zurrück > was bei uns dazu geführt hat das einige 100 Router vor der > Niegerianischen Küste lagen. > > vg > Tarek > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Ich habe mal eike von Freifunk Nordwest dazu genommen er hat es damals gebaut und kann dazu sicherlich ein paar worte sagen. cheers Tarek On 07/14/16 11:30, mayosemmel wrote: > Hi, > > ich habe gerade mal versucht das zu reproduzieren. > Wenn ich einen nicht zugeordneten Router per API suche bekomme ich einen > Error 404. > In welcher Situation tritt das Problem mit 0/0 denn auf? > > Grüße Jan > > Am Montag, den 11.07.2016, 11:11 +0200 schrieb Jan-Tarek Butt: >> >> On 07/09/16 17:58, Tim Niemeyer wrote: >>> Hi >>> >>> Ich habs nicht getestet, aber schaut soweit gut aus: >>> >> Vorsichtig... >> >> Wir hatten das damals bei Freifunk Nordwest auch gemacht. >> Netmon liefert wohl über die API 0/0 als default wert zurrück >> was bei uns dazu geführt hat das einige 100 Router vor der >> Niegerianischen Küste lagen. >> >> vg >> Tarek >> >> -- >> franken-dev mailing list >> franken-dev@freifunk.net >> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net >
Signed-off-by: Jan Kraus <mayosemmel@gmail.com> --- src/packages/fff/fff-sysupgrade/Makefile | 6 +-- .../files/usr/lib/micron.d/fff-sysupgrade | 1 + .../files/usr/sbin/copy_netmon_coordinates.sh | 56 ++++++++++++++++++++++ 3 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 src/packages/fff/fff-sysupgrade/files/usr/lib/micron.d/fff-sysupgrade create mode 100755 src/packages/fff/fff-sysupgrade/files/usr/sbin/copy_netmon_coordinates.sh