Replies: 3 comments 13 replies
-
Moved to an issue. This should work, because LWIP handles the routing tables just fine, but there is most likely an IRQ protection missing between the |
Beta Was this translation helpful? Give feedback.
-
I ran more test by just connection the "shutter" Pico W to my local wifi.. same code, just changed the SSID and password.
To double check that it was not something in my (very simple and short ) code, I did the same test with an ESP32 (WROOM-32), it never disconnected from my wifi and only missed 4 pings over the 25 hours test (yes 25 hours...) . Regarding interrupt protection, is there a thread lock or some atomic variables ? (I use std::atomic for variables access across cores and interrupts). |
Beta Was this translation helpful? Give feedback.
-
This has nothing to do with multiple Ethernet interfaces, I believe. I can reproduce it with a single W5500 or a CYW43. It's related to the
Have a PC on the network do Still looking into it, but after adding logging in the |
Beta Was this translation helpful? Give feedback.
-
Fisrt some background :
I have a system where a "rotator" Arduino Due controls an observatory dome and a "shutter" Arduino Due which control said dome shutter.
The "rotator" arduino due use a W5500 to connect to the local network and both Due communicate with each other using XBee modules:
Local network <----> [W5500/Rotator Due/XBee] <-----> [Xbee/Shutter Due]
I'm now working on replacing these with Raspberry Pi Pico W and want to use the WiFi connection to replace the XBees.
I ported the code to the Pico W. Core 0 is for communications (Ethernet, WiFi and serial) and Core 1 takes care of the motion (it drives
stepper motor using the AccelStepper library) :
Local network <----> [W5500/Pico W/WiFi] <-----> [WiFi/Pico W]
The problem(s):
When disabling WiFi on the "rotator", Ethernet works fine and all is good.
But as soon as I want to add WiFi problems starts and the WiFi connections between the 2 Pico W keeps failing.
It also seems to create some timeout on the W5500 side (pinging the "rotator" Pico W from a machine starts failing).
To try to figure out the issue I made 2 small test firmware that only use the ping function.
As far as I can tell the issue comes from the Pico W that also has the W5500 . After a bit of time it locks up in the wifi ping function.
I also try with just WiFi between the 2 Pico W. This is more stable but I see a lot of drops at the beginning and then latter on (not repeatable timing as far as I can see).
So the question is .. Am I doing something wrong or is this a "bug" and the Pico W can't do Ethernet and WiFi at the same time ?
The test code can be found there :
https://rti-zone-files.s3.amazonaws.com/test-rp2040.tgz
Thanks for any insight.
Rodolphe
Beta Was this translation helpful? Give feedback.
All reactions