diff -crB original/hostapd-2.10/hostapd/config_file.c changed/hostapd-2.10/hostapd/config_file.c
*** original/hostapd-2.10/hostapd/config_file.c	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/hostapd/config_file.c	2024-07-26 11:15:26.876545770 +0530
***************
*** 2353,2359 ****
  			       struct hostapd_bss_config *bss,
  			       const char *buf, char *pos, int line)
  {
! 	if (os_strcmp(buf, "interface") == 0) {
  		os_strlcpy(conf->bss[0]->iface, pos,
  			   sizeof(conf->bss[0]->iface));
  	} else if (os_strcmp(buf, "bridge") == 0) {
--- 2353,2361 ----
  			       struct hostapd_bss_config *bss,
  			       const char *buf, char *pos, int line)
  {
! 	if (os_strcmp(buf, "periodic_deauth") == 0) {
! 		conf->periodic_deauth = atoi(pos);
! 	} else if (os_strcmp(buf, "interface") == 0) {
  		os_strlcpy(conf->bss[0]->iface, pos,
  			   sizeof(conf->bss[0]->iface));
  	} else if (os_strcmp(buf, "bridge") == 0) {
diff -crB original/hostapd-2.10/src/ap/ap_config.h changed/hostapd-2.10/src/ap/ap_config.h
*** original/hostapd-2.10/src/ap/ap_config.h	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/src/ap/ap_config.h	2024-07-26 11:28:32.852533573 +0530
***************
*** 1100,1105 ****
--- 1100,1106 ----
  	unsigned int airtime_update_interval;
  #define AIRTIME_MODE_MAX (__AIRTIME_MODE_MAX - 1)
  #endif /* CONFIG_AIRTIME_POLICY */
+         int periodic_deauth;
  };
  
  
diff -crB original/hostapd-2.10/src/ap/ieee802_11.c changed/hostapd-2.10/src/ap/ieee802_11.c
*** original/hostapd-2.10/src/ap/ieee802_11.c	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/src/ap/ieee802_11.c	2024-07-26 11:03:16.940557096 +0530
***************
*** 5502,5508 ****
  		capab_info = le_to_host16(mgmt->u.assoc_req.capab_info);
  		listen_interval = le_to_host16(
  			mgmt->u.assoc_req.listen_interval);
! 		wpa_printf(MSG_DEBUG, "association request: STA=" MACSTR
  			   " capab_info=0x%02x listen_interval=%d "
  			   "seq_ctrl=0x%x%s",
  			   MAC2STR(mgmt->sa), capab_info, listen_interval,
--- 5502,5508 ----
  		capab_info = le_to_host16(mgmt->u.assoc_req.capab_info);
  		listen_interval = le_to_host16(
  			mgmt->u.assoc_req.listen_interval);
! 		wpa_printf(MSG_INFO, "association request: STA=" MACSTR
  			   " capab_info=0x%02x listen_interval=%d "
  			   "seq_ctrl=0x%x%s",
  			   MAC2STR(mgmt->sa), capab_info, listen_interval,
diff -crB original/hostapd-2.10/src/ap/sta_info.c changed/hostapd-2.10/src/ap/sta_info.c
*** original/hostapd-2.10/src/ap/sta_info.c	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/src/ap/sta_info.c	2024-07-26 11:30:06.828532115 +0530
***************
*** 1259,1264 ****
--- 1259,1276 ----
  	return psk->keyid;
  }
  
+ static int onetime_deauth_entry;
+ 
+ static void ap_send_deauth(void *eloop_ctx, void *timeout_ctx)
+ {
+         struct hostapd_data *hapd = eloop_ctx;
+         struct sta_info *sta = timeout_ctx;
+ 
+         ap_get_curtime();
+ 	hostapd_drv_sta_deauth(hapd, sta->addr, WLAN_REASON_UNSPECIFIED);
+ 
+         eloop_register_timeout(hapd->iconf->periodic_deauth, 0, ap_send_deauth, hapd, sta);
+ }
  
  void ap_sta_set_authorized(struct hostapd_data *hapd, struct sta_info *sta,
  			   int authorized)
***************
*** 1321,1327 ****
  
  		wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_CONNECTED "%s%s%s",
  			buf, ip_addr, keyid_buf);
! 
  		if (hapd->msg_ctx_parent &&
  		    hapd->msg_ctx_parent != hapd->msg_ctx)
  			wpa_msg_no_global(hapd->msg_ctx_parent, MSG_INFO,
--- 1333,1343 ----
  
  		wpa_msg(hapd->msg_ctx, MSG_INFO, AP_STA_CONNECTED "%s%s%s",
  			buf, ip_addr, keyid_buf);
!         if (!(onetime_deauth_entry)) {
!                 onetime_deauth_entry = 1;
!         	eloop_register_timeout(hapd->iconf->periodic_deauth, 0, ap_send_deauth, hapd, sta);
! 		return ;
! 	}
  		if (hapd->msg_ctx_parent &&
  		    hapd->msg_ctx_parent != hapd->msg_ctx)
  			wpa_msg_no_global(hapd->msg_ctx_parent, MSG_INFO,
diff -crB original/hostapd-2.10/src/utils/os.h changed/hostapd-2.10/src/utils/os.h
*** original/hostapd-2.10/src/utils/os.h	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/src/utils/os.h	2024-07-26 11:30:22.668531869 +0530
***************
*** 35,40 ****
--- 35,42 ----
   */
  int os_get_time(struct os_time *t);
  
+ void ap_get_curtime();
+ 
  /**
   * os_get_reltime - Get relative time (sec, usec)
   * @t: Pointer to buffer for the time
diff -crB original/hostapd-2.10/src/utils/os_unix.c changed/hostapd-2.10/src/utils/os_unix.c
*** original/hostapd-2.10/src/utils/os_unix.c	2022-01-17 02:21:29.000000000 +0530
--- changed/hostapd-2.10/src/utils/os_unix.c	2024-07-26 11:30:46.324531502 +0530
***************
*** 72,77 ****
--- 72,88 ----
  	return res;
  }
  
+ void ap_get_curtime()
+ {
+         struct timeval tv;
+         struct timezone tz;
+         struct tm *today;
+ 
+         gettimeofday(&tv, &tz);
+ 
+         today = localtime(&tv.tv_sec);
+ 
+ }
  
  int os_get_reltime(struct os_reltime *t)
  {
