diff --git a/bbfdm/Makefile b/bbfdm/Makefile
index 7aa0fb9dd443b871b290be56485963faf828eb52..8afcb506550ec0e4d3ebbf121abfe3638bb7c3f9 100644
--- a/bbfdm/Makefile
+++ b/bbfdm/Makefile
@@ -5,13 +5,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bbfdm
-PKG_VERSION:=1.4.10
+PKG_VERSION:=1.4.11
 
 USE_LOCAL:=0
 ifneq ($(USE_LOCAL),1)
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
-PKG_SOURCE_VERSION:=7ecae3f6d146dc65d6a7362da1e28ee9de064860
+PKG_SOURCE_VERSION:=2358c7ce39d4770c77ca78f3a152adf0522d7387
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 PKG_MIRROR_HASH:=skip
 endif
diff --git a/bbfdm/files/etc/bbfdm/bbfdm_services.sh b/bbfdm/files/etc/bbfdm/bbfdm_services.sh
index 8f5d5a22aa6eb91df0e2258d337c80d7c7bb9cc8..003a48660261a31477bb8feaea38856e44fbceec 100755
--- a/bbfdm/files/etc/bbfdm/bbfdm_services.sh
+++ b/bbfdm/files/etc/bbfdm/bbfdm_services.sh
@@ -15,3 +15,33 @@ bbfdm_add_service()
 
 	ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path']}}}"
 }
+
+bbfdm_stop_service()
+{
+	local name
+
+	name="${1}"
+	if [ -z "${name}" ]; then
+		return 0;
+	fi
+
+	if ubus call service list '{"name":"bbfdm.services"}' |grep -q "bbfdm.$name"; then
+		ubus call service delete "{'name':'bbfdm.services','instance':'bbfdm.$name'}"
+	fi
+}
+
+usages()
+{
+	echo "Usages $0: <OPTIONS>..."
+	echo
+	echo "    -h    show help"
+	echo "    -k    micro-service name to stop"
+	echo
+}
+
+while getopts "s:k:h" opts; do
+	case "$opts" in
+		h) usages; exit 0;;
+		k) bbfdm_stop_service "${OPTARG}";;
+	esac
+done
diff --git a/bbfdm/files/etc/config/bbfdm b/bbfdm/files/etc/config/bbfdm
index 07d1a2c2f7d3b23dbab1924f8f32346555753ac5..cedc444f8612166c8c11baa9c4c1dff9b521cb94 100644
--- a/bbfdm/files/etc/config/bbfdm
+++ b/bbfdm/files/etc/config/bbfdm
@@ -4,4 +4,5 @@ config bbfdmd 'bbfdmd'
 	option loglevel '1'
 	option refresh_time '10'
 	option transaction_timeout '30'
+	option subprocess_level '2'
 
diff --git a/bbfdm/files/etc/init.d/bbfdmd b/bbfdm/files/etc/init.d/bbfdmd
index 0b7a11d912e5e99902c1354f0c665315a6b7812e..306b06a1daf19da4ab4bff53ddf25107291185df 100644
--- a/bbfdm/files/etc/init.d/bbfdmd
+++ b/bbfdm/files/etc/init.d/bbfdmd
@@ -28,7 +28,7 @@ validate_bbfdm_bbfdmd_section()
 configure_bbfdmd()
 {
 	local enabled debug sock update
-	local jlog jrefresh jtimeout
+	local jlog jrefresh jtimeout jlevel
 
 	update=0
 	config_load bbfdm
@@ -55,8 +55,13 @@ configure_bbfdmd()
 		update=1
 	fi
 
+	jlevel="$(jq '.daemon.config.subprocess_level' ${BBFDM_JSON_INPUT})"
+	if [ "\"${subprocess_level}\"" != "${jlevel}" ]; then
+		update=1
+	fi
+
 	if [ "${update}" -eq "1" ]; then
-		echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON}
+		echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} --arg level ${subprocess_level} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran, "subprocess_level": $level}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON}
 		mv ${BBFDM_TEMP_JSON} ${BBFDM_JSON_INPUT}
 	fi