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