PYBD SF6W WiFi Issues - [CYW43] HT not ready
So far seven of our PYBD SF6W devices have started to have problems with the wifi module. When setting the wifi module to be active(True) an error message is printed to the console and the wifi is unable to be used. I have 7 devices that now show this behaviour, that in the past have worked fine connecting to a wifi access point and downloading files over http.
I have run the same set of commands using rshell/repl on a number of versions of the firmware, including the latest unstable release. I found it produced extra output statements on the v1.12 firmware that might be more of a clue.
This issue is related to the forum post.
As well as the "[CYW43] HT not ready", messages I have also occasionally seen "[CYW43] F2 not ready".
Entering REPL. Use Control-X to exit.
>
MicroPython v1.12 on 2019-12-20; PYBD-SF6W with STM32F767IIK
Type "help()" for more information.
>>>
>>> import network
>>> sta_if = network.WLAN(network.STA_IF)
>>> sta_if.config(trace=1)
>>> sta_if.active()
False
>>> sta_if.active(True)
[CYW43] HT not ready
[CYW43] HT not ready
[CYW43] HT not ready
[CYW43] send_ethernet failed: -5
[CYW43] HT not ready
[CYW43] send_ethernet failed: -5
>>>
Entering REPL. Use Control-X to exit.
>
MicroPython v1.16-259-g86371781e on 2021-08-31; PYBD-SF6W with STM32F767IIK
Type "help()" for more information.
>>>
>>> import network
>>> sta_if = network.WLAN(network.STA_IF)
>>> sta_if.config(trace=1)
>>> sta_if.active()
False
>>> sta_if.active(True)
[CYW43] HT not ready
>>>
Is it possible that the firmware on the SoC WiFi chip has been corrupted? Is there a way to reflash this chip?
Update cyw43-driver to v1.1.0, and add WPA3 constants to network.WLAN for cyw43
Summary
This updates the cyw43-driver to the latest v1.1.0 version.
This is a minor release of cyw43-driver, some bugs have been fixed and some features have been added. Those things were all tested upstream for that driver.
A few configuration constants have been updated here to work with the new driver version (very minor changes).
And, now that cyw43-driver supports WPA3, the WPA3 security constants have been added to network.WLAN for that driver's bindings. These user-facing Python constants match the esp32 constant names.
Will address #16624 and fix #16482.
Testing
Tested this PR on PYBD_SF6 and RPI_PICO_W, running all available WLAN and BLE tests in this repo. There were no regressions.