diff --git a/package/gluon-mesh-batman-adv-core/Makefile b/package/gluon-mesh-batman-adv-core/Makefile
index 365ccbca74c4ac71f177f8ac82579ea66a0c49cb..7ae7c3050b9d6e21498b8cd56252f335af9fa7b7 100644
--- a/package/gluon-mesh-batman-adv-core/Makefile
+++ b/package/gluon-mesh-batman-adv-core/Makefile
@@ -12,7 +12,7 @@ define Package/gluon-mesh-batman-adv-core
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=Support for batman-adv meshing (core)
-  DEPENDS:=+gluon-core +libgluonutil +gluon-client-bridge +firewall +libiwinfo +batman-adv-visdata
+  DEPENDS:=+gluon-core +libgluonutil +gluon-client-bridge +firewall +libiwinfo
 endef
 
 define Build/Prepare
diff --git a/package/gluon-mesh-batman-adv-core/src/respondd.c b/package/gluon-mesh-batman-adv-core/src/respondd.c
index 7ffb94c110ab6e1ac8764761b8dbd5ced596b695..83f25e3038dbc4963784459a294e5fc9340303f9 100644
--- a/package/gluon-mesh-batman-adv-core/src/respondd.c
+++ b/package/gluon-mesh-batman-adv-core/src/respondd.c
@@ -468,7 +468,7 @@ static struct json_object * ifnames2addrs(struct json_object *interfaces) {
 }
 
 static struct json_object * get_batadv(void) {
-	FILE *f = fopen("/tmp/batman-adv-visdata/bat0/originators", "r");
+	FILE *f = fopen("/sys/kernel/debug/batman_adv/bat0/originators", "r");
 	if (!f)
 		return NULL;
 
diff --git a/package/gluon-respondd/files/usr/lib/autoupdater/abort.d/50gluon-respondd b/package/gluon-respondd/files/usr/lib/autoupdater/abort.d/50gluon-respondd
index 1a5e14e42e256c6a263e9626d590379e849c521a..d29af306ae3b7fd7cccd69423607e336b4a684ee 100755
--- a/package/gluon-respondd/files/usr/lib/autoupdater/abort.d/50gluon-respondd
+++ b/package/gluon-respondd/files/usr/lib/autoupdater/abort.d/50gluon-respondd
@@ -3,5 +3,4 @@
 . /lib/gluon/autoupdater/lib.sh
 
 
-start_enabled batman-adv-visdata
 start_enabled gluon-respondd
diff --git a/package/gluon-respondd/files/usr/lib/autoupdater/download.d/50gluon-respondd b/package/gluon-respondd/files/usr/lib/autoupdater/download.d/50gluon-respondd
index 05f56fae9eee94426b65b3dcced5cf930555dace..3edd5f1d694fe52803108227097f10edefeb850b 100755
--- a/package/gluon-respondd/files/usr/lib/autoupdater/download.d/50gluon-respondd
+++ b/package/gluon-respondd/files/usr/lib/autoupdater/download.d/50gluon-respondd
@@ -4,4 +4,3 @@
 
 
 stop gluon-respondd
-stop batman-adv-visdata
diff --git a/package/gluon-status-page-api/Makefile b/package/gluon-status-page-api/Makefile
index 17abab2979872b7acd861606a6abfda5d302dfad..174e2e85746366bb13029e12e34fd380531b401d 100644
--- a/package/gluon-status-page-api/Makefile
+++ b/package/gluon-status-page-api/Makefile
@@ -13,7 +13,7 @@ define Package/gluon-status-page-api
   SECTION:=gluon
   CATEGORY:=Gluon
   TITLE:=API for gluon-status-page
-  DEPENDS:=+gluon-core +uhttpd +sse-multiplex +batman-adv-visdata +gluon-neighbour-info +gluon-respondd +libiwinfo +libjson-c
+  DEPENDS:=+gluon-core +uhttpd +sse-multiplex +gluon-neighbour-info +gluon-respondd +libiwinfo +libjson-c
 endef
 
 define Build/Prepare
diff --git a/package/gluon-status-page-api/src/neighbours-batadv.c b/package/gluon-status-page-api/src/neighbours-batadv.c
index fb7be7769cf49a270e5631f6073e26beb876af0a..f0a484b2f30e7d10ede6082aa8d997f21961107d 100644
--- a/package/gluon-status-page-api/src/neighbours-batadv.c
+++ b/package/gluon-status-page-api/src/neighbours-batadv.c
@@ -12,7 +12,7 @@ static json_object *neighbours(void) {
 
   FILE *f;
 
-  f = fopen("/tmp/batman-adv-visdata/bat0/originators" , "r");
+  f = fopen("/sys/kernel/debug/batman_adv/bat0/originators" , "r");
 
   if (f == NULL)
     return NULL;
diff --git a/patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch b/patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch
deleted file mode 100644
index 48b720be6418b70a01ab80c83cb199d78ea1fb64..0000000000000000000000000000000000000000
--- a/patches/packages/routing/0004-alfred-use-batman-adv-visdata.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Mon, 14 Dec 2015 03:08:42 +0100
-Subject: alfred: use batman-adv-visdata
-
-diff --git a/alfred/Makefile b/alfred/Makefile
-index 504fddd..f356f55 100644
---- a/alfred/Makefile
-+++ b/alfred/Makefile
-@@ -28,7 +28,7 @@ define Package/alfred
-   SECTION:=net
-   CATEGORY:=Network
-   TITLE:=A.L.F.R.E.D. - Almighty Lightweight Fact Remote Exchange Daemon
--  DEPENDS:= +libc +kmod-ipv6 +librt \
-+  DEPENDS:= +libc +kmod-ipv6 +librt +batman-adv-visdata \
- 	  +ALFRED_NEEDS_lua:lua \
- 	  +ALFRED_NEEDS_libgps:libgps
- endef
-diff --git a/alfred/patches/0002-alfred-use-batman-adv-visdata.patch b/alfred/patches/0002-alfred-use-batman-adv-visdata.patch
-new file mode 100644
-index 0000000..a28b6a4
---- /dev/null
-+++ b/alfred/patches/0002-alfred-use-batman-adv-visdata.patch
-@@ -0,0 +1,60 @@
-+--- a/batadv_query.c
-++++ b/batadv_query.c
-+@@ -91,8 +91,10 @@ int ipv6_to_mac(const struct in6_addr *a
-+ int batadv_interface_check(const char *mesh_iface)
-+ {
-+ 	char *debugfs_mnt;
-++#if 0
-+ 	char full_path[MAX_PATH + 1];
-+ 	FILE *f;
-++#endif
-+ 
-+ 	debugfs_mnt = debugfs_mount(NULL);
-+ 	if (!debugfs_mnt) {
-+@@ -100,6 +102,7 @@ int batadv_interface_check(const char *m
-+ 		return -1;
-+ 	}
-+ 
-++#if 0
-+ 	debugfs_make_path(DEBUG_BATIF_PATH_FMT "/" DEBUG_TRANSTABLE_GLOBAL,
-+ 			  mesh_iface, full_path, sizeof(full_path));
-+ 	f = fopen(full_path, "r");
-+@@ -121,6 +124,7 @@ int batadv_interface_check(const char *m
-+ 		return -1;
-+ 	}
-+ 	fclose(f);
-++#endif
-+ 
-+ 	return 0;
-+ }
-+@@ -150,8 +154,7 @@ struct ether_addr *translate_mac(const c
-+ 	if (!debugfs_mnt)
-+ 		goto out;
-+ 
-+-	debugfs_make_path(DEBUG_BATIF_PATH_FMT "/" DEBUG_TRANSTABLE_GLOBAL,
-+-			  mesh_iface, full_path, sizeof(full_path));
-++	snprintf(full_path, sizeof(full_path), "/tmp/batman-adv-visdata/%s/transtable_global", mesh_iface);
-+ 
-+ 	f = fopen(full_path, "r");
-+ 	if (!f)
-+@@ -232,8 +235,7 @@ uint8_t get_tq(const char *mesh_iface, s
-+ 	if (!debugfs_mnt)
-+ 		goto out;
-+ 
-+-	debugfs_make_path(DEBUG_BATIF_PATH_FMT "/" DEBUG_ORIGINATORS,
-+-			  mesh_iface, full_path, sizeof(full_path));
-++	snprintf(full_path, sizeof(full_path), "/tmp/batman-adv-visdata/%s/originators", mesh_iface);
-+ 
-+ 	f = fopen(full_path, "r");
-+ 	if (!f)
-+--- a/vis/vis.c
-++++ b/vis/vis.c
-+@@ -325,7 +325,7 @@ static int parse_orig_list(struct global
-+ 	char path[1024];
-+ 	struct vis_list_entry *v_entry;
-+ 
-+-	snprintf(path, sizeof(path), "/sys/kernel/debug/batman_adv/%s/originators", globals->interface);
-++	snprintf(path, sizeof(path), "/tmp/batman-adv-visdata/%s/originators", globals->interface);
-+ 	fbuf = read_file(path);
-+ 	if (!fbuf)
-+ 		return -1;