这个错误提示表明,在 channel_bitmap
中配置的 5GHz Wi-Fi 通道无效。具体的错误信息是 "wifi: 5g bitmap contains only invalid channels= 0xff",这意味着 channel_bitmap
中的值 0xff
被认为是无效的,所有的 5GHz 通道都被标记为无效。
问题很可能出在如何定义或传递 5GHz 通道的设置。ESP32 的 channel_bitmap
应该正确地表示 2.4GHz 和 5GHz 的有效通道。
解决方法:
-
检查有效的通道范围:2.4GHz 通道一般在 1-13 之间(具体取决于地区),而 5GHz 通道可能有所不同。请确保使用的是有效的通道。
-
修改
channel_bitmap
设置 :你需要正确设置 5GHz 通道的channel_bitmap
。例如,如果你打算使用 36 频道作为 5GHz 通道,你需要在channel_bitmap
中做出相应的修改。
例如,下面是一个修正后的例子:
wifi_scan_config_t scan_cfg = {
.ssid = NULL,
.bssid = NULL,
.channel = 0,
.show_hidden = false, // 显示隐藏网络
.scan_type = WIFI_SCAN_TYPE_ACTIVE, // 主动扫描
.scan_time = {
.active = {
.min = 100,
.max = 200
}
},
.channel_bitmap = {
.ghz_2_channels = 0xFF, // 启用所有 2.4GHz 通道
.ghz_5_channels = 0x3F // 启用 5GHz 的通道 36、40、44、48
}
};
在这个例子中:
-
0xFF
启用所有 2.4GHz 通道。 -
0x3F
启用 5GHz 的 36、40、44 和 48 通道。
确保根据你的地区和需求选择有效的 5GHz 通道。如果你需要进一步的帮助,请告诉我!