diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index d53158396..7e6441e8a 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -193,6 +193,9 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s, if (ssid->ap_max_inactivity) bss->ap_max_inactivity = ssid->ap_max_inactivity; + if (ssid->dtim_period) + bss->dtim_period = ssid->dtim_period; + /* Select group cipher based on the enabled pairwise cipher suites */ pairwise = 0; if (bss->wpa & 1) diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index ce763b305..d3967cec3 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -1610,6 +1610,7 @@ static const struct parse_data ssid_fields[] = { { STR(ht_mcs) }, #endif /* CONFIG_HT_OVERRIDES */ { INT(ap_max_inactivity) }, + { INT(dtim_period) }, }; #undef OFFSET diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h index 80d438248..c35f7c3fe 100644 --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h @@ -499,6 +499,12 @@ struct wpa_ssid { * By default: 300 seconds. */ int ap_max_inactivity; + + /** + * dtim_period - DTIM period in Beacon intervals + * By default: 2 + */ + int dtim_period; }; #endif /* CONFIG_SSID_H */ diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf index 745dc5ba3..1ac91c987 100644 --- a/wpa_supplicant/wpa_supplicant.conf +++ b/wpa_supplicant/wpa_supplicant.conf @@ -687,6 +687,9 @@ fast_reauth=1 # default: 300 (i.e., 5 minutes) #ap_max_inactivity=300 +# DTIM period in Beacon intervals for AP mode (default: 2) +#dtim_period=2 + # Example blocks: # Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers