← index #16290Issue #16799
Off-topic · high · value 2.445
QUERY · ISSUE

[regression] WiFi stops working on with pico W

openby GM-Script-Writer-62850opened 2024-11-23updated 2025-03-03
bugport-rp2

Port, board and/or hardware

picow

MicroPython version

v1.24.0 (2024-10-25)

Reproduction

Connect to wifi and suddenly start getting connection aborted errors (103) when making outbound request

When this happens isconnected() returns true, my ubiquity logs shows the device is still connected and i am not able to load the diagnostic data over http and the pico does not see the connection attempt

Expected behaviour

Wifi works indefinitely

Observed behaviour

wifi stops working within 6 hours of uptime (could take less than 5 minutes)

  • Note that my AP and Pico W are less than 30cm apart

Additional Information

v1.23.0 (2024-06-02) .uf2 - no issues, it just works
v1.24.0 (2024-10-25) .uf2 - why is this not working

Archive.zip - my simple script
The PICO just sits around waiting for input to report to my server and periodically reports sensor data to my server

Related discussion: https://github.com/orgs/micropython/discussions/16288 - may have useful notes

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