mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 03:07:21 +02:00
fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event 2. cleanup in softAP for disconnecting connected station 3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
This commit is contained in:
committed by
wangtao@espressif.com
parent
411385cf8c
commit
c3d4270d79
@ -1016,7 +1016,7 @@ ieee80211_alloc_tx_buf = 0x40002108;
|
|||||||
/* ieee80211_send_nulldata = 0x40002110; */
|
/* ieee80211_send_nulldata = 0x40002110; */
|
||||||
/* ieee80211_setup_robust_mgmtframe = 0x40002114; */
|
/* ieee80211_setup_robust_mgmtframe = 0x40002114; */
|
||||||
ieee80211_encap_null_data = 0x4000211c;
|
ieee80211_encap_null_data = 0x4000211c;
|
||||||
ieee80211_send_deauth = 0x40002120;
|
ieee80211_send_deauth_no_bss = 0x40002120;
|
||||||
ieee80211_alloc_deauth = 0x40002124;
|
ieee80211_alloc_deauth = 0x40002124;
|
||||||
ieee80211_send_proberesp = 0x40002128;
|
ieee80211_send_proberesp = 0x40002128;
|
||||||
ieee80211_getcapinfo = 0x40002130;
|
ieee80211_getcapinfo = 0x40002130;
|
||||||
|
@ -246,7 +246,7 @@ static void wifi_event_handler(void* arg, esp_event_base_t event_base,
|
|||||||
}
|
}
|
||||||
case WIFI_EVENT_AP_STADISCONNECTED: {
|
case WIFI_EVENT_AP_STADISCONNECTED: {
|
||||||
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
||||||
BLUFI_INFO("station "MACSTR" leave, AID=%d", MAC2STR(event->mac), event->aid);
|
BLUFI_INFO("station "MACSTR" leave, AID=%d, reason=%d", MAC2STR(event->mac), event->aid, event->reason);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base,
|
|||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid);
|
||||||
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
||||||
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *)event_data;
|
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *)event_data;
|
||||||
ESP_LOGI(TAG, "station " MACSTR " leave, AID=%d",
|
ESP_LOGI(TAG, "station " MACSTR " leave, AID=%d, reason=%d",
|
||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid, event->reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ static void wifi_event_handler(void* arg, esp_event_base_t event_base,
|
|||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid);
|
||||||
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
||||||
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
||||||
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d",
|
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d, reason=%d",
|
||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid, event->reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,8 +93,8 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base,
|
|||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid);
|
||||||
} else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
} else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
||||||
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *) event_data;
|
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *) event_data;
|
||||||
ESP_LOGI(TAG_AP, "Station "MACSTR" left, AID=%d",
|
ESP_LOGI(TAG_AP, "Station "MACSTR" left, AID=%d, reason:%d",
|
||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid, event->reason);
|
||||||
} else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) {
|
} else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) {
|
||||||
esp_wifi_connect();
|
esp_wifi_connect();
|
||||||
ESP_LOGI(TAG_STA, "Station started");
|
ESP_LOGI(TAG_STA, "Station started");
|
||||||
@ -148,7 +148,7 @@ esp_netif_t *wifi_init_sta(void)
|
|||||||
.password = EXAMPLE_ESP_WIFI_STA_PASSWD,
|
.password = EXAMPLE_ESP_WIFI_STA_PASSWD,
|
||||||
.scan_method = WIFI_ALL_CHANNEL_SCAN,
|
.scan_method = WIFI_ALL_CHANNEL_SCAN,
|
||||||
.failure_retry_cnt = EXAMPLE_ESP_MAXIMUM_RETRY,
|
.failure_retry_cnt = EXAMPLE_ESP_MAXIMUM_RETRY,
|
||||||
/* Authmode threshold resets to WPA2 as default if password matches WPA2 standards (pasword len => 8).
|
/* Authmode threshold resets to WPA2 as default if password matches WPA2 standards (password len => 8).
|
||||||
* If you want to connect the device to deprecated WEP/WPA networks, Please set the threshold value
|
* If you want to connect the device to deprecated WEP/WPA networks, Please set the threshold value
|
||||||
* to WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK and set the password with length and format matching to
|
* to WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK and set the password with length and format matching to
|
||||||
* WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK standards.
|
* WIFI_AUTH_WEP/WIFI_AUTH_WPA_PSK standards.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||||
*/
|
*/
|
||||||
@ -62,8 +62,8 @@ static void wifi_event_handler(void* arg, esp_event_base_t event_base,
|
|||||||
{
|
{
|
||||||
ESP_LOGI(TAG, "WIFI_EVENT_AP_STADISCONNECTED");
|
ESP_LOGI(TAG, "WIFI_EVENT_AP_STADISCONNECTED");
|
||||||
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
|
||||||
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d",
|
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d, reason=%d",
|
||||||
MAC2STR(event->mac), event->aid);
|
MAC2STR(event->mac), event->aid, event->reason);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WIFI_EVENT_AP_STACONNECTED:
|
case WIFI_EVENT_AP_STACONNECTED:
|
||||||
|
@ -56,7 +56,7 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base,
|
|||||||
ESP_LOGI(TAG, "station "MACSTR" join, AID=%d", MAC2STR(event->mac), event->aid);
|
ESP_LOGI(TAG, "station "MACSTR" join, AID=%d", MAC2STR(event->mac), event->aid);
|
||||||
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
} else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
|
||||||
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *) event_data;
|
wifi_event_ap_stadisconnected_t *event = (wifi_event_ap_stadisconnected_t *) event_data;
|
||||||
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d", MAC2STR(event->mac), event->aid);
|
ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d, reason=%d", MAC2STR(event->mac), event->aid, event->reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user