diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 61db0383e..d09be6c92 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -1211,10 +1211,12 @@ static void wnm_bss_keep_alive(void *eloop_ctx, void *sock_ctx) if (wpa_s->wpa_state < WPA_ASSOCIATED) return; - wpa_printf(MSG_DEBUG, "WNM: Send keep-alive"); + wpa_printf(MSG_DEBUG, "WNM: Send keep-alive to AP " MACSTR, + MAC2STR(wpa_s->bssid)); /* TODO: could skip this if normal data traffic has been sent */ - /* TODO: send keep alive frame - better use some short unicast data - * frame that gets protected if PTK is set */ + /* TODO: Consider using some more appropriate data frame for this */ + if (wpa_s->l2) + l2_packet_send(wpa_s->l2, wpa_s->bssid, 0x0800, (u8 *) "", 0); #ifdef CONFIG_SME if (wpa_s->sme.bss_max_idle_period) {