raspberrypi/pico-examples

Pico-W to Pico-W STALL while sending UDP

marcos-diaz opened this issue · 2 comments

Steps to reproduce:

  • In the host Pico-W load Pico-W AP example.
  • In the second Pico-W load Pico-W UDP beacon example.
  • Run both Picos and make them connect to each other.
    • In the AP code change ap_name and ap_password.
    • Pass WIFI_SSID and WIFI_PASSWORD while compiling to match these.
  • For more chances of this bug appearing faster, decrease BEACON_INTERVAL_MS to 100 or even 10.

Expected results:

  • UDP packets keep being sent (and ignored), for as long as the Picos are running.

Actual results:

  • UDP packets are sent for a few seconds.
  • Eventually (at what seems to be completely random time), the sender Pico will start throwing errors such as:
STALL(0;45-45): timeout
[CYW43] send_ethernet failed: -1
Failed to send UDP packet! error=-12
  • The CYW43 becomes increasely unresponsive, until it completely stall, and never recovers.

Special notes:

  • Funny enough it seems these Picos do their work perfectly when connected to other 3rd-parties:
    • Pico-W as AP can receive a lot of small UDP packets/second from a Python script without issues.
    • Also Pico-W as a sender can send a lot of small UDP packets to a Python AP.
    • But when mutually connected they do not like each other.

I've closed this because you raised it against the pico-sdk