我有一个奇怪的案例,我正在尝试理解它。我在我的一个特定项目中使用 ESP8266 板。有较小的板和较大的板,其上装有其他模块,是从不同的供应商购买的。我认为这没有多大作用,但仅供参考。
现在项目本身就涉及到ESP的softAP能力的使用。我的一个 PC 应用程序是为了在 ESP 处于 softAP 模式时与 ESP 连接和交互而构建的。我在两种类型的开发板上都使用了 ESP8266 Arduino 核心,并且我假设使用的底层 Espressif SDK 也是相同的。但是,当我在一种板类型上启动 SoftAP 时,它使用 AES 加密,而另一种板类型使用 TKIP 加密。我之所以知道这一点,是因为我已通过 Windows 连接到这两个设备,然后查看了它们的 Wi-Fi 配置文件。果然,其中一个的 ESP 芯片使用 AES,而另一个使用 TKIP。
我想确定的是:
在设置软 AP 时,有哪些选项可以更改 TKIP 板的行为并强制它们使用 AES?任何建议或指示(不是双关语)将不胜感激!
在工作中的一个项目中,我们花费了很多人月的时间将已经运行的 esp8266 项目从非 RTOS SDK 移植到 RTOS SDK,仅仅是因为旧 SDK 不支持最新的加密功能。
我不知道旧的 SDK 中是否提供了您想要的确切功能,但它可能根本不可行。
当我们想要在 RTOS-SDK 中禁用 TKIP 时,Espresif 建议我们编辑 SDK 中的文件:
components/wpa_supplicant/src/esp_supplicant/esp_hostap.c
的函数 hostap_init
中,更改行:
auth_conf->wpa_group = WPA_CIPHER_TKIP;
auth_conf->wpa_pairwise = WPA_CIPHER_CCMP | WPA_CIPHER_TKIP;
auth_conf->rsn_pairwise = WPA_CIPHER_CCMP | WPA_CIPHER_TKIP;
任何你想要的密码。我们有:
auth_conf->wpa_group = WPA_CIPHER_CCMP;
auth_conf->wpa_pairwise = WPA_CIPHER_CCMP;
auth_conf->rsn_pairwise = WPA_CIPHER_CCMP;
希望您可以在 RTOS-SDK 的源代码中看到足够的内容,以了解各种选项可能是什么,然后您可以查看您正在使用的 SDK 的源代码,找到看起来相同的东西(但遗憾的是它可能不在那里)。