diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c
index e9bd51f..51299f3 100644
--- a/wpa_supplicant/dbus/dbus_new.c
+++ b/wpa_supplicant/dbus/dbus_new.c
@@ -868,6 +868,72 @@ nomem:
 	dbus_message_unref(msg);
 }
 
+/**
+ * wpas_dbus_signal_sta - Send a station related event signal
+ * @wpa_s: %wpa_supplicant network interface data
+ * @sta: station address
+ * @sig_name: signal name - StaConnected or StaDisconnected
+ *
+ * Notify listeners about event related with station
+ */
+static void wpas_dbus_signal_sta(struct wpa_supplicant *wpa_s,
+				 const u8 *sta, const char *sig_name)
+{
+	struct wpas_dbus_priv *iface;
+	DBusMessage *msg;
+	char sta_mac[WPAS_DBUS_OBJECT_PATH_MAX];
+	char *dev_mac;
+
+	os_snprintf(sta_mac, WPAS_DBUS_OBJECT_PATH_MAX, MACSTR, MAC2STR(sta));
+	dev_mac = sta_mac;
+
+	iface = wpa_s->global->dbus;
+
+	/* Do nothing if the control interface is not turned on */
+	if (iface == NULL)
+		return;
+
+	msg = dbus_message_new_signal(wpa_s->dbus_new_path,
+				      WPAS_DBUS_NEW_IFACE_INTERFACE, sig_name);
+	if (msg == NULL)
+		return;
+
+	if (dbus_message_append_args(msg, DBUS_TYPE_STRING, &dev_mac,
+				     DBUS_TYPE_INVALID))
+		dbus_connection_send(iface->con, msg, NULL);
+	else
+		wpa_printf(MSG_ERROR, "dbus: Failed to construct signal");
+	dbus_message_unref(msg);
+
+	wpa_printf(MSG_DEBUG, "dbus: station mac address '%s' '%s'",
+		   sta_mac, sig_name);
+}
+
+/**
+ * wpas_dbus_signal_sta_connected - Send a station connected signal
+ * @wpa_s: %wpa_supplicant network interface data
+ * @sta: station address
+ *
+ * Notify listeners about connecting a new station
+ */
+void wpas_dbus_signal_sta_connected(struct wpa_supplicant *wpa_s,
+				 const u8 *sta)
+{
+	wpas_dbus_signal_sta(wpa_s, sta, "StaConnected");
+}
+
+/**
+ * wpas_dbus_signal_blob_removed - Send a station disconnected signal
+ * @wpa_s: %wpa_supplicant network interface data
+ * @sta: station address
+ *
+ * Notify listeners about disconnecting station
+ */
+void wpas_dbus_signal_sta_disconnected(struct wpa_supplicant *wpa_s,
+				   const u8 *sta)
+{
+	wpas_dbus_signal_sta(wpa_s, sta, "StaDisconnected");
+}
 
 #ifdef CONFIG_P2P
 
@@ -3017,6 +3083,18 @@ static const struct wpa_dbus_signal_desc wpas_dbus_interface_signals[] = {
 		  END_ARGS
 	  }
 	},
+	{ "StaConnected", WPAS_DBUS_NEW_IFACE_INTERFACE,
+	  {
+		  { "name", "s", ARG_OUT },
+		  END_ARGS
+	  }
+	},
+	{ "StaDisconnected", WPAS_DBUS_NEW_IFACE_INTERFACE,
+	  {
+		  { "name", "s", ARG_OUT },
+		  END_ARGS
+	  }
+	},
 	{ NULL, NULL, { END_ARGS } }
 };
 
diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h
index 363a7e5..6fd4730 100644
--- a/wpa_supplicant/dbus/dbus_new.h
+++ b/wpa_supplicant/dbus/dbus_new.h
@@ -222,6 +222,10 @@ void wpas_dbus_signal_preq(struct wpa_supplicant *wpa_s,
 			   const u8 *ie, size_t ie_len, u32 ssi_signal);
 void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
 				 const char *status, const char *parameter);
+void wpas_dbus_signal_sta_connected(struct wpa_supplicant *wpa_s,
+				const u8 *sta);
+void wpas_dbus_signal_sta_disconnected(struct wpa_supplicant *wpa_s,
+				const u8 *sta);
 
 #else /* CONFIG_CTRL_IFACE_DBUS_NEW */
 
@@ -493,6 +497,18 @@ static inline void wpas_dbus_signal_eap_status(struct wpa_supplicant *wpa_s,
 {
 }
 
+static inline
+void wpas_dbus_signal_sta_connected(struct wpa_supplicant *wpa_s,
+				const u8 *sta)
+{
+}
+
+static inline
+void wpas_dbus_signal_sta_disconnected(struct wpa_supplicant *wpa_s,
+				const u8 *sta)
+{
+}
+
 #endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
 
 #endif /* CTRL_IFACE_DBUS_H_NEW */
diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c
index ca6f7e7..8815f9b 100644
--- a/wpa_supplicant/notify.c
+++ b/wpa_supplicant/notify.c
@@ -547,6 +547,8 @@ static void wpas_notify_ap_sta_authorized(struct wpa_supplicant *wpa_s,
 	 */
 	wpas_dbus_signal_p2p_peer_joined(wpa_s, sta);
 #endif /* CONFIG_P2P */
+
+	wpas_dbus_signal_sta_connected(wpa_s, sta);
 }
 
 
@@ -566,6 +568,8 @@ static void wpas_notify_ap_sta_deauthorized(struct wpa_supplicant *wpa_s,
 	 */
 	wpas_dbus_signal_p2p_peer_disconnected(wpa_s, sta);
 #endif /* CONFIG_P2P */
+
+	wpas_dbus_signal_sta_disconnected(wpa_s, sta);
 }
 
 
