diff --git a/package/network/services/hostapd/patches/600-ubus_support.patch b/package/network/services/hostapd/patches/600-ubus_support.patch
index 5375c935bd7c11173d647ca6d76bd6f380b0c461..1efe84ed70e60b9f8b71b12fffd55f661c8ab95c 100644
--- a/package/network/services/hostapd/patches/600-ubus_support.patch
+++ b/package/network/services/hostapd/patches/600-ubus_support.patch
@@ -41,7 +41,7 @@
  		HAPD_IFACE_DISABLED,
 --- /dev/null
 +++ b/src/ap/ubus.c
-@@ -0,0 +1,494 @@
+@@ -0,0 +1,511 @@
 +/*
 + * hostapd / ubus support
 + * Copyright (c) 2013, Felix Fietkau <nbd@openwrt.org>
@@ -343,6 +343,22 @@
 +	return 0;
 +}
 +
++static int
++hostapd_bss_update_beacon(struct ubus_context *ctx, struct ubus_object *obj,
++			struct ubus_request_data *req, const char *method,
++			struct blob_attr *msg)
++{
++	int rc;
++	struct hostapd_data *hapd = container_of(obj, struct hostapd_data, ubus.obj);
++
++	rc = ieee802_11_set_beacon(hapd);
++
++	if (rc != 0)
++		return UBUS_STATUS_NOT_SUPPORTED;
++
++	return 0;
++}
++
 +enum {
 +	CSA_FREQ,
 +	CSA_BCN_COUNT,
@@ -425,6 +441,7 @@
 +	UBUS_METHOD_NOARG("list_bans", hostapd_bss_list_bans),
 +	UBUS_METHOD_NOARG("wps_start", hostapd_bss_wps_start),
 +	UBUS_METHOD_NOARG("wps_cancel", hostapd_bss_wps_cancel),
++	UBUS_METHOD_NOARG("update_beacon", hostapd_bss_update_beacon),
 +#ifdef NEED_AP_MLME
 +	UBUS_METHOD("switch_chan", hostapd_switch_chan, csa_policy),
 +#endif
@@ -733,7 +750,7 @@
  	sta->capability = capab_info;
  	sta->listen_interval = listen_interval;
  
-@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data 
+@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data
  
  
  	if (stype == WLAN_FC_STYPE_PROBE_REQ) {
@@ -742,7 +759,7 @@
  		return 1;
  	}
  
-@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data 
+@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data
  	switch (stype) {
  	case WLAN_FC_STYPE_AUTH:
  		wpa_printf(MSG_DEBUG, "mgmt::auth");