From 4a6926eb6c2347b06d5b9eea3de2188f4320b5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Sat, 1 Oct 2022 15:00:08 +0200 Subject: [PATCH] [beken-72xx] Fix restarting AP with shorter password --- arduino/beken-72xx/libraries/WiFi/WiFiAP.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arduino/beken-72xx/libraries/WiFi/WiFiAP.cpp b/arduino/beken-72xx/libraries/WiFi/WiFiAP.cpp index fc3bf6f..c1111f7 100644 --- a/arduino/beken-72xx/libraries/WiFi/WiFiAP.cpp +++ b/arduino/beken-72xx/libraries/WiFi/WiFiAP.cpp @@ -10,6 +10,9 @@ bool WiFiClass::softAP(const char *ssid, const char *passphrase, int channel, bo LT_HEAP_I(); + // Beken SDK bug: bk_wlan_ap_init_adv() doesn't null-terminate the passphrase + memset(g_ap_param_ptr->key, '\0', 65); + strcpy(AP_CFG->wifi_ssid, ssid); if (passphrase) { strcpy(AP_CFG->wifi_key, passphrase); @@ -72,6 +75,9 @@ bool WiFiClass::softAPConfig(IPAddress localIP, IPAddress gateway, IPAddress sub } bool WiFiClass::softAPdisconnect(bool wifiOff) { + if (!(getMode() & WIFI_MODE_AP)) + // do not call SDK methods before even initializing WiFi first + return true; return bk_wlan_stop(BK_SOFT_AP) == kNoErr; }