← index #18597Issue #16799
Off-topic · high · value 2.471
QUERY · ISSUE

WPA3 PSK on Raspberry Pi Pico 2 W (cyw43-driver)

openby pavel-perinaopened 2025-12-20updated 2026-03-09
bugport-rp2

Port, board and/or hardware

RPI_PICO2_W

MicroPython version

MicroPython v1.27.0 on 2025-12-09; Raspberry Pi Pico 2 W with RP2350

Reproduction

Prerequisites:

  • configure only WPA3-PSK on router/AP, disable other methods
  • modify ssid and password according to yours
import network
sta = network.WLAN(network.WLAN.IF_STA)
sta.active(True)
sta.scan()
# [ (b'WirelessNest2', b'\xd4\x01\xc3/Q\r', 5, -64, 5, 3 ]
sta.connect("WirelessNest2", "YOUR_PASSWORD_HERE") # EDIT THIS
print(sta.isconnected())
# False
print(sta.status())
# 1

Expected behaviour

Connects to wifi

Observed behaviour

Returns instantly, does not connect

Additional Information

  • Documentation of scan() result (security, hidden) is incomplete and board/wifi module specific. Raspberry Pico 2 W returns ..., 5, 3) whereas ESP32 returns ..., 6, False) - this is already in multiple open issues
  • My router is Mikrotik C52iG-5HaxD2HaxD
  • WiFi driver is 3rd party repo
  • WPA3 should be supported since 1.25.0, but does not work in 1.26.1 and 1.27.0 (only PSK tested)

Code of Conduct

Yes, I agree

CANDIDATE · ISSUE

Raspberry Pi Pico2 W - Wifi fails to start if CPU is overclocked

closedby chrisibopened 2025-02-23updated 2025-05-05
bugport-rp2

Port, board and/or hardware

RPI_PICO_2_W

MicroPython version

MicroPython v1.25.0-preview.307.g4364d9411 on 2025-02-23; Raspberry Pi Pico 2 W with RP2350

Reproduction

Save the following code onto the Pico 2 W and run it with either CPU_FREQ = 300_000_000 or CPU_FREQ = 150_000_000 uncommented.

When using the overclocked frequency, the following error is printed and the access point is not available to connect to: [CYW43] Failed to start CYW43

When using the default frequency the access point can be connected to and no errors are printed

import machine
import network
"""
When overclocked we get

[CYW43] Failed to start CYW43


When using default CPU frequency
the wifi starts fine
"""
CPU_FREQ = 300_000_000  # overclocked
#CPU_FREQ = 150_000_000  # default

machine.freq(CPU_FREQ)

wifi = network.WLAN(network.WLAN.IF_AP)
wifi.config(
    ssid="pico2w_ap",
    channel=10,
    security=network.WLAN.SEC_OPEN,
)
wifi.active(True)

Expected behaviour

WiFi should work if the CPU is overclocked

Observed behaviour

When the CPU is overclocked, the wireless card firmware does not appear to initialize correctly:

[CYW43] Failed to start CYW43

Additional Information

My testing setup has 2 I2C devices connected: an OLED display GP0 & GP1 and a battery-backed realtime clock on GP2 & GP3. The code above does not initialize these devices, so I don't think their presence should have any impact; it looks like simply changing the CPU frequency is enough.

Doing a little trial-and-error changing the frequencies in the script above it looks like 270MHz is the upper limit of what the wifi can handle. Is this a known limitation of the firmware?

Code of Conduct

Yes, I agree

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied