diff --git a/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk
new file mode 100644
index 0000000000..b7ab6cfec0
--- /dev/null
+++ b/packages/addons/addon-depends/dvb-tools-depends/blindscan-s2/package.mk
@@ -0,0 +1,33 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2017-present Team LibreELEC
+#
+# LibreELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# LibreELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LibreELEC. If not, see .
+################################################################################
+
+PKG_NAME="blindscan-s2"
+PKG_VERSION="94cb626"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://bitbucket.org/majortom/blindscan-s2"
+PKG_URL="https://github.com/persianpros/blindscan-s2/archive/$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_SECTION="tools"
+PKG_SHORTDESC="blindscan-s2 is a program to blindscan digital satellite signals"
+PKG_LONGDESC="blindscan-s2 is a program to blindscan digital satellite signals"
+PKG_AUTORECONF="no"
+
+makeinstall_target() {
+ :
+}
diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/package.mk b/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/package.mk
index 64c960282b..bea6bb468d 100644
--- a/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/package.mk
+++ b/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dvb-fe-tool"
-PKG_VERSION="1388a04"
+PKG_VERSION="326060c"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://linuxtv.org/"
diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/patches/dvb-fe-tool-01-add-libudev-depend.patch b/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/patches/dvb-fe-tool-01-add-libudev-depend.patch
deleted file mode 100644
index 36cd8f43b9..0000000000
--- a/packages/addons/addon-depends/dvb-tools-depends/dvb-fe-tool/patches/dvb-fe-tool-01-add-libudev-depend.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-taken from https://github.com/systemd/systemd/blob/v233/src/libudev/libudev.h
-
---- /dev/null
-+++ b/lib/libdvbv5/libudev.h
-@@ -0,0 +1,159 @@
-+/***
-+ This file is part of systemd.
-+
-+ Copyright 2008-2012 Kay Sievers
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+
-+ systemd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public License
-+ along with systemd; If not, see .
-+***/
-+
-+#ifndef _LIBUDEV_H_
-+#define _LIBUDEV_H_
-+
-+#include
-+#include
-+#include
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+struct udev;
-+struct udev *udev_ref(struct udev *udev);
-+struct udev *udev_unref(struct udev *udev);
-+struct udev *udev_new(void);
-+void udev_set_log_fn(struct udev *udev,
-+ void (*log_fn)(struct udev *udev,
-+ int priority, const char *file, int line, const char *fn,
-+ const char *format, va_list args)) __attribute__ ((deprecated));
-+int udev_get_log_priority(struct udev *udev) __attribute__ ((deprecated));
-+void udev_set_log_priority(struct udev *udev, int priority) __attribute__ ((deprecated));
-+void *udev_get_userdata(struct udev *udev);
-+void udev_set_userdata(struct udev *udev, void *userdata);
-+
-+struct udev_list_entry;
-+struct udev_list_entry *udev_list_entry_get_next(struct udev_list_entry *list_entry);
-+struct udev_list_entry *udev_list_entry_get_by_name(struct udev_list_entry *list_entry, const char *name);
-+const char *udev_list_entry_get_name(struct udev_list_entry *list_entry);
-+const char *udev_list_entry_get_value(struct udev_list_entry *list_entry);
-+
-+#define udev_list_entry_foreach(list_entry, first_entry) \
-+ for (list_entry = first_entry; \
-+ list_entry != NULL; \
-+ list_entry = udev_list_entry_get_next(list_entry))
-+
-+struct udev_device;
-+struct udev_device *udev_device_ref(struct udev_device *udev_device);
-+struct udev_device *udev_device_unref(struct udev_device *udev_device);
-+struct udev *udev_device_get_udev(struct udev_device *udev_device);
-+struct udev_device *udev_device_new_from_syspath(struct udev *udev, const char *syspath);
-+struct udev_device *udev_device_new_from_devnum(struct udev *udev, char type, dev_t devnum);
-+struct udev_device *udev_device_new_from_subsystem_sysname(struct udev *udev, const char *subsystem, const char *sysname);
-+struct udev_device *udev_device_new_from_device_id(struct udev *udev, const char *id);
-+struct udev_device *udev_device_new_from_environment(struct udev *udev);
-+
-+struct udev_device *udev_device_get_parent(struct udev_device *udev_device);
-+struct udev_device *udev_device_get_parent_with_subsystem_devtype(struct udev_device *udev_device,
-+ const char *subsystem, const char *devtype);
-+const char *udev_device_get_devpath(struct udev_device *udev_device);
-+const char *udev_device_get_subsystem(struct udev_device *udev_device);
-+const char *udev_device_get_devtype(struct udev_device *udev_device);
-+const char *udev_device_get_syspath(struct udev_device *udev_device);
-+const char *udev_device_get_sysname(struct udev_device *udev_device);
-+const char *udev_device_get_sysnum(struct udev_device *udev_device);
-+const char *udev_device_get_devnode(struct udev_device *udev_device);
-+int udev_device_get_is_initialized(struct udev_device *udev_device);
-+struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device);
-+struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device);
-+struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device);
-+struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device);
-+const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key);
-+const char *udev_device_get_driver(struct udev_device *udev_device);
-+dev_t udev_device_get_devnum(struct udev_device *udev_device);
-+const char *udev_device_get_action(struct udev_device *udev_device);
-+unsigned long long int udev_device_get_seqnum(struct udev_device *udev_device);
-+unsigned long long int udev_device_get_usec_since_initialized(struct udev_device *udev_device);
-+const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
-+int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
-+int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
-+
-+struct udev_monitor;
-+struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor);
-+struct udev_monitor *udev_monitor_unref(struct udev_monitor *udev_monitor);
-+struct udev *udev_monitor_get_udev(struct udev_monitor *udev_monitor);
-+
-+struct udev_monitor *udev_monitor_new_from_netlink(struct udev *udev, const char *name);
-+
-+int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor);
-+int udev_monitor_set_receive_buffer_size(struct udev_monitor *udev_monitor, int size);
-+int udev_monitor_get_fd(struct udev_monitor *udev_monitor);
-+struct udev_device *udev_monitor_receive_device(struct udev_monitor *udev_monitor);
-+
-+int udev_monitor_filter_add_match_subsystem_devtype(struct udev_monitor *udev_monitor,
-+ const char *subsystem, const char *devtype);
-+int udev_monitor_filter_add_match_tag(struct udev_monitor *udev_monitor, const char *tag);
-+int udev_monitor_filter_update(struct udev_monitor *udev_monitor);
-+int udev_monitor_filter_remove(struct udev_monitor *udev_monitor);
-+
-+struct udev_enumerate;
-+struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_enumerate);
-+struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate);
-+struct udev *udev_enumerate_get_udev(struct udev_enumerate *udev_enumerate);
-+struct udev_enumerate *udev_enumerate_new(struct udev *udev);
-+/* device properties filter */
-+int udev_enumerate_add_match_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem);
-+int udev_enumerate_add_nomatch_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem);
-+int udev_enumerate_add_match_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value);
-+int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value);
-+int udev_enumerate_add_match_property(struct udev_enumerate *udev_enumerate, const char *property, const char *value);
-+int udev_enumerate_add_match_sysname(struct udev_enumerate *udev_enumerate, const char *sysname);
-+int udev_enumerate_add_match_tag(struct udev_enumerate *udev_enumerate, const char *tag);
-+int udev_enumerate_add_match_parent(struct udev_enumerate *udev_enumerate, struct udev_device *parent);
-+int udev_enumerate_add_match_is_initialized(struct udev_enumerate *udev_enumerate);
-+int udev_enumerate_add_syspath(struct udev_enumerate *udev_enumerate, const char *syspath);
-+
-+int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate);
-+int udev_enumerate_scan_subsystems(struct udev_enumerate *udev_enumerate);
-+
-+struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enumerate *udev_enumerate);
-+
-+struct udev_queue;
-+struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue);
-+struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue);
-+struct udev *udev_queue_get_udev(struct udev_queue *udev_queue);
-+struct udev_queue *udev_queue_new(struct udev *udev);
-+unsigned long long int udev_queue_get_kernel_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated));
-+unsigned long long int udev_queue_get_udev_seqnum(struct udev_queue *udev_queue) __attribute__ ((deprecated));
-+int udev_queue_get_udev_is_active(struct udev_queue *udev_queue);
-+int udev_queue_get_queue_is_empty(struct udev_queue *udev_queue);
-+int udev_queue_get_seqnum_is_finished(struct udev_queue *udev_queue, unsigned long long int seqnum) __attribute__ ((deprecated));
-+int udev_queue_get_seqnum_sequence_is_finished(struct udev_queue *udev_queue,
-+ unsigned long long int start, unsigned long long int end) __attribute__ ((deprecated));
-+int udev_queue_get_fd(struct udev_queue *udev_queue);
-+int udev_queue_flush(struct udev_queue *udev_queue);
-+struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev_queue) __attribute__ ((deprecated));
-+
-+struct udev_hwdb;
-+struct udev_hwdb *udev_hwdb_new(struct udev *udev);
-+struct udev_hwdb *udev_hwdb_ref(struct udev_hwdb *hwdb);
-+struct udev_hwdb *udev_hwdb_unref(struct udev_hwdb *hwdb);
-+struct udev_list_entry *udev_hwdb_get_properties_list_entry(struct udev_hwdb *hwdb, const char *modalias, unsigned int flags);
-+
-+int udev_util_encode_string(const char *str, char *str_enc, size_t len);
-+
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
diff --git a/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk b/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk
new file mode 100644
index 0000000000..61df8b3983
--- /dev/null
+++ b/packages/addons/addon-depends/dvb-tools-depends/dvbsnoop/package.mk
@@ -0,0 +1,33 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2017-present Team LibreELEC
+#
+# LibreELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# LibreELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LibreELEC. If not, see .
+################################################################################
+
+PKG_NAME="dvbsnoop"
+PKG_VERSION="c1ec72f"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="http://dvbsnoop.sourceforge.net/"
+PKG_URL="https://github.com/persianpros/dvbsnoop/archive/$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_SECTION="tools"
+PKG_SHORTDESC="dvbsnoop is a DVB/MPEG stream analyzer program"
+PKG_LONGDESC="dvbsnoop is a DVB/MPEG stream analyzer program"
+PKG_AUTORECONF="yes"
+
+makeinstall_target() {
+ :
+}
diff --git a/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk b/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk
index 2487b475e8..5ee19d1769 100644
--- a/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk
+++ b/packages/addons/addon-depends/dvb-tools-depends/mumudvb/package.mk
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="mumudvb"
-PKG_VERSION="fa9ff6e"
+PKG_VERSION="b3c9ae7"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://mumudvb.net/"
diff --git a/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk
new file mode 100644
index 0000000000..4618922f92
--- /dev/null
+++ b/packages/addons/addon-depends/dvb-tools-depends/szap-s2/package.mk
@@ -0,0 +1,34 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2017-present Team LibreELEC
+#
+# LibreELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# LibreELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LibreELEC. If not, see .
+################################################################################
+
+PKG_NAME="szap-s2"
+PKG_VERSION="69ff358"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://bitbucket.org/updatelee/tune-s2"
+PKG_URL="https://bitbucket.org/CrazyCat/szap-s2/get/$PKG_VERSION.tar.gz"
+PKG_SOURCE_DIR="CrazyCat-${PKG_NAME}-${PKG_VERSION}*"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_SECTION="tools"
+PKG_SHORTDESC="szap-s2 is a simple zapping tool for the Linux DVB S2 API"
+PKG_LONGDESC="szap-s2 is a simple zapping tool for the Linux DVB S2 API"
+PKG_AUTORECONF="no"
+
+makeinstall_target() {
+ :
+}
diff --git a/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk b/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk
new file mode 100644
index 0000000000..6f975b5205
--- /dev/null
+++ b/packages/addons/addon-depends/dvb-tools-depends/tune-s2/package.mk
@@ -0,0 +1,34 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2017-present Team LibreELEC
+#
+# LibreELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# LibreELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LibreELEC. If not, see .
+################################################################################
+
+PKG_NAME="tune-s2"
+PKG_VERSION="60cc4aa"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://bitbucket.org/updatelee/tune-s2"
+PKG_URL="https://bitbucket.org/CrazyCat/tune-s2/get/$PKG_VERSION.tar.gz"
+PKG_SOURCE_DIR="CrazyCat-${PKG_NAME}-${PKG_VERSION}*"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_SECTION="tools"
+PKG_SHORTDESC="tune-s2 is a small linux app to be able to tune a dvb devices"
+PKG_LONGDESC="tune-s2 is a small linux app to be able to tune a dvb devices"
+PKG_AUTORECONF="no"
+
+makeinstall_target() {
+ :
+}
diff --git a/packages/addons/tools/dvb-tools/changelog.txt b/packages/addons/tools/dvb-tools/changelog.txt
index 6b34a84129..bfa71c7ec0 100644
--- a/packages/addons/tools/dvb-tools/changelog.txt
+++ b/packages/addons/tools/dvb-tools/changelog.txt
@@ -1,3 +1,11 @@
+103
+- added blindscan-s2
+- added dvbsnoop
+- added szap-s2
+- added tune-s2
+- updated dvb-fe-tool to 1.12.5
+- updated MuMuDVB to b3c9ae7
+
102
- added MuMuDVB
- updated w_scan to 20170107
diff --git a/packages/addons/tools/dvb-tools/package.mk b/packages/addons/tools/dvb-tools/package.mk
index 241ec29ebd..1f3f37aa79 100644
--- a/packages/addons/tools/dvb-tools/package.mk
+++ b/packages/addons/tools/dvb-tools/package.mk
@@ -26,7 +26,7 @@ PKG_URL=""
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="virtual"
PKG_SHORTDESC="DVB-Tools: is a bundle of dvb tools and programs"
-PKG_LONGDESC="This bundle currently includes dvb-apps, dvb-fe-tool, dvblast, mumudvb and w_scan."
+PKG_LONGDESC="This bundle currently includes blindscan-s2, dvb-apps, dvb-fe-tool, dvblast, dvbsnoop, mumudvb, szap-s2, tune-s2 and w_scan."
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
@@ -34,14 +34,22 @@ PKG_ADDON_NAME="DVB Tools"
PKG_ADDON_TYPE="xbmc.python.script"
PKG_DEPENDS_TARGET="toolchain \
+ blindscan-s2 \
dvb-apps \
dvb-fe-tool \
dvblast \
+ dvbsnoop \
mumudvb \
+ szap-s2 \
+ tune-s2 \
w_scan"
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/
+
+ # blindscan-s2
+ cp -P $(get_build_dir blindscan-s2)/blindscan-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin
+
# dvb-apps
cp -P $(get_build_dir dvb-apps)/util/dvbdate/dvbdate $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $(get_build_dir dvb-apps)/util/dvbnet/dvbnet $ADDON_BUILD/$PKG_ADDON_ID/bin
@@ -61,9 +69,18 @@ addon() {
# dvblast
cp -P $(get_build_dir dvblast)/dvblast $ADDON_BUILD/$PKG_ADDON_ID/bin
+ # dvbsnoop
+ cp -P $(get_build_dir dvbsnoop)/.$TARGET_NAME/src/dvbsnoop $ADDON_BUILD/$PKG_ADDON_ID/bin
+
# mumudvb
cp -P $(get_build_dir mumudvb)/.$TARGET_NAME/src/mumudvb $ADDON_BUILD/$PKG_ADDON_ID/bin
+ # szap-s2
+ cp -P $(get_build_dir szap-s2)/szap-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin
+
+ # tune-s2
+ cp -P $(get_build_dir tune-s2)/tune-s2 $ADDON_BUILD/$PKG_ADDON_ID/bin
+
# w_scan
cp -P $(get_build_dir w_scan)/.$TARGET_NAME/w_scan $ADDON_BUILD/$PKG_ADDON_ID/bin