diff --git a/ffpb/ffpb-debug/files/bin/ffpb-debug b/ffpb/ffpb-debug/files/bin/ffpb-debug index 7c2f83bd16fd1f8febc4f69fde523bcabeb096fa..ab97e488ce570091167132dba0970e1ea05f8ff9 100755 --- a/ffpb/ffpb-debug/files/bin/ffpb-debug +++ b/ffpb/ffpb-debug/files/bin/ffpb-debug @@ -58,7 +58,9 @@ else echo "Report number: " echo $code else - echo "Failed to send report :(" + echo "Failed to send report :( but storing the file and sending it later \o/" + mkdir -p /var/cache/ff/debug + gzip -c "$tf" > /var/cache/ff/debug/stored.ff-debug.gz fi #TODO: rm "$tf" fi diff --git a/ffpb/ffpb-debug/files/bin/ffpb-send-stored-debug b/ffpb/ffpb-debug/files/bin/ffpb-send-stored-debug new file mode 100755 index 0000000000000000000000000000000000000000..bd601d6b51968dfaa87ea713c843199471f7575c --- /dev/null +++ b/ffpb/ffpb-debug/files/bin/ffpb-send-stored-debug @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Stefan Kloepping <northalpha@c3pb.de> +# -- Do 29 Mai 21:21:55 2014 +# +stored_debug_file='/var/cache/ff/debug/stored.ff-debug.gz' + +#if file is not present, there is nothing to do +if [ ! -f "{$stored_debug_file}" ];then + exit 0 +fi + +#send stored debug data to server + +code=$(nc debugreport.paderborn.freifunk.net 1337 < "${stored_debug_file}") +if [ $? = 0 ]; then + echo "Report number: ${code}" > /var/cache/ff/debug/lastreport.code + rm -f -- "${stored_debug_file}" +fi diff --git a/ffpb/ffpb-debug/files/lib/gluon/cron/ffpb-debug b/ffpb/ffpb-debug/files/lib/gluon/cron/ffpb-debug new file mode 100644 index 0000000000000000000000000000000000000000..7770bbc9a7b80af45504b295d1451cb3554e7cd5 --- /dev/null +++ b/ffpb/ffpb-debug/files/lib/gluon/cron/ffpb-debug @@ -0,0 +1 @@ +*/15 * * * * /bin/ffpb-send-stored-debug diff --git a/ffpb/gluon-batman-on-wan/Makefile b/ffpb/gluon-batman-on-wan/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..dd26cad4e254ae247bcad606a03b181798675025 --- /dev/null +++ b/ffpb/gluon-batman-on-wan/Makefile @@ -0,0 +1,44 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME := gluon-batman-on-wan +PKG_VERSION := 2 +PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG_VERSION) + +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/gluon-batman-on-wan + SECTION:=gluon + CATEGORY:=Gluon + TITLE:=Option to enable mesh (batadv) on WAN port + DEPENDS:=+gluon-core +gluon-mesh-batman-adv +luci-lib-core +endef + +define Package/gluon-batman-on-wan/description + Gluon community wifi mesh firmware framework: + + This adds an interface named wan_mesh which will be part of bat0 + so nodes can be connected over batman-adv. + + The default option must be set using the site.conf option batman_on_wan to + either 0 (disabled) or 1 (enabled). +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/gluon-batman-on-wan/install + $(CP) ./files/* $(1)/ + + $(INSTALL_DIR) $(1)/lib/gluon +endef + +$(eval $(call BuildPackage,gluon-batman-on-wan)) diff --git a/ffpb/gluon-batman-on-wan/files/lib/gluon/upgrade/batman-on-wan/initial/020-batman-on-wan b/ffpb/gluon-batman-on-wan/files/lib/gluon/upgrade/batman-on-wan/initial/020-batman-on-wan new file mode 100644 index 0000000000000000000000000000000000000000..aa1711958f4be9a20485a3e3efe87cde0bc66413 --- /dev/null +++ b/ffpb/gluon-batman-on-wan/files/lib/gluon/upgrade/batman-on-wan/initial/020-batman-on-wan @@ -0,0 +1,19 @@ +#!/usr/bin/lua + +local site = require 'gluon.site_config' +local sysconfig = require 'gluon.sysconfig' +local uci = require 'luci.model.uci' + +local c = uci.cursor() + +c:section('network', 'interface', 'mesh_wan', + { + ifname = 'br-wan', + proto = 'batadv', + mesh = 'bat0', + auto = site.batman_on_wan, + } +) + +c:save('network') +c:commit('network') diff --git a/ffpb/gluon-luci-portconfig/Makefile b/ffpb/gluon-luci-portconfig/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..92468daa928c32eb25607cf56ec8924d9c4a65ed --- /dev/null +++ b/ffpb/gluon-luci-portconfig/Makefile @@ -0,0 +1,39 @@ +# Copyright (C) 2013 Nils Schneider <nils at nilsschneider.net> +# This is free software, licensed under the Apache 2.0 license. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=gluon-luci-portconfig +PKG_VERSION:=0.1 +PKG_RELEASE:=1 + +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/gluon-luci-portconfig + SECTION:=gluon + CATEGORY:=Gluon + TITLE:=Luci module for advanced ethernet port configuration + DEPENDS:=+gluon-luci-admin +gluon-batman-on-wan +endef + +define Package/gluon-luci-portconfig/description + Luci module for advanced ethernet port configuration +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/gluon-luci-portconfig/install + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,gluon-luci-portconfig)) diff --git a/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/controller/admin/portconfig.lua b/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/controller/admin/portconfig.lua new file mode 100644 index 0000000000000000000000000000000000000000..ff0e0af24cddaa76b9cd0833e3e28fdaf6f6021b --- /dev/null +++ b/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/controller/admin/portconfig.lua @@ -0,0 +1,20 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2013 Nils Schneider <nils@nilsschneider.net> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +module("luci.controller.admin.portconfig", package.seeall) + +function index() + entry({"admin", "portconfig"}, cbi("admin/portconfig"), _("Schnittstellen"), 20) +end + diff --git a/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua b/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua new file mode 100644 index 0000000000000000000000000000000000000000..9c9f6ffa138c1f4e58d7e6e5e59709c0a94d7c7e --- /dev/null +++ b/ffpb/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua @@ -0,0 +1,38 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2014 Nils Schneider <nils@nilsschneider.net> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +local uci = luci.model.uci.cursor() + +f = SimpleForm("portconfig") +f.template = "admin/expertmode" +f.submit = "Speichern" +f.reset = "Zurücksetzen" + +s = f:section(SimpleSection, nil, nil) + +o = s:option(Flag, "mesh_wan", "Mesh auf dem WAN-Port aktivieren") +o.default = uci:get_bool("network", "mesh_wan", "auto") and o.enabled or o.disabled +o.rmempty = false + +function f.handle(self, state, data) + if state == FORM_VALID then + uci:set("network", "mesh_wan", "auto", data.mesh_wan) + uci:save("network") + uci:commit("network") + end + + return true +end + +return f