Connects to WiFi but cannot ping

Hi, I am testing with the example script WiFiS3 -> WiFiPing

It connects to my WiFi ok and prints the connection details to the serial monitor. It then tries to ping some remote addresses but each fails with a timeout:

SSID:
IP Address: 10.0.0.220
signal strength (RSSI):-74 dBm
Trying to ping github.com on IP: 140.82.121.4
Timeout on IP!
Make sure your WiFi firmware version is at least 0.5.0
Trying to ping host: www.google.com

I have been through a few iterations with issues like making sure I was connecting to a 2.4Ghz network (thanks ChatGPT for resolving that one). Then trying to update the firmware from inside the IDE which fails every time - eventually managed to get it done manually despite a lot of bad info around on this. Now on latest firmware 0.4.1, but it still doesn't work.

I will try other protocols like HTTP next, but I would really prefer to get ping working as this is meant to replace an existing server monitor app running on a windows server which has been working fine for years using pings but I want to retire it.

My R4 WiFi was still on 0.4.1 so I took the opportunity to try out the ping example. As I expected, it failed with a timeout. Once I upgraded my firmware to 0.5.0 the example worked fine and was able to ping github.com and www.google.com.

2 Likes

How come? Is it just ping or the complete network stack that's borked in 0.4.1?

Just ping.

"Borked" implies a broken capability. In this case it was that it had not been implemented yet. A ping capability was added in version 0.5.0 of the firmware:

and in the companion work released in version 1.3.0 of the Arduino UNO R4 Boards" platform:

2 Likes

As @ptillisch has already pointed out, ping support was added in the 0.5.0 firmware. Which is why I could take the opportunity to try the example out with my board with 0.4.1 firmware, see that it failed as expected (because the firmware didn't support it yet), then upgrade to 0.5.0 (where it was supported) and see that it worked.

Nothing to see here, folks.

1 Like

@ptillisch , Thanks very much for testing that, and pointing out there is a later firmware. I had thought I had got the latest when I updated it earlier today. I'll look again...

1 Like

@van_der_decken - sorry I tagged the wrong person before. I found the later firmware. In case anyone else needs this, you need the pre-release builds, as the IDE only lists the released builds of which the latest currently is 0.4.1. I downloaded 0.5.1 and manually flashed it. All works great now, thanks for your help.

Trying to ping github.com on IP: 140.82.121.4
Ping response time: 292 ms
Trying to ping host: www.google.com
Ping average response time: 33 ms

1 Like

Hmm... Looks odd for a local IP address from your router. What IP addresses do other WiFi clients like phones & laptops have on your network?

@PaulRB , It's fine - I have always used that 10.0.0.0/8. Apart from less typing it's a historical thing because my first office server was MS Small Business Server which was based on Windows NT 3.51. Incidentally I still use that server running in a VM and upgraded to Windows NT4 lol. Not connected to the net of course. I have other routers for phones etc using other local address ranges like 192.168.

2 Likes

Hi, where and how do you get 0.5.1 since the IDE only shows 0.4.1? I can't find it on GitHub. I need to use ping on my new Rev 4, like I do on my Rev 2 boards! Thanks!

And it's up to 0.5.2 now.

Thank you very much. I have not used GitHub yet, so it's going to be a learning curve. I will start tomorrow, lol !

I am getting stuck at the compile step. Using Git Bash, this is the error:
/arduino/update-firmware (main)
$ ./compile.sh
Error during build: Platform 'esp32-patched:esp32' not found: platform not installed
Platform esp32-patched:esp32 is not found in any known index
Maybe you need to add a 3rd party URL?

Damifino. I do the update manually because there isn't an rPi auto updater.

  1. Install esptool.py if not already done (pip3 install esptool).
  2. Download latest firmware from Releases ยท arduino/uno-r4-wifi-usb-bridge ยท GitHub
  3. Extract the bin file from the firmware subdirectory in the zip.
  4. Short bottom left and bottom centre pins on 3x2 header near USB connector before powering on.
  5. Remove jumper after applying power.
  6. Erase flash with: esptool.py --chip esp32s3 --port <your port> erase_flash
  7. Write flash with: esptool.py --chip esp32s3 --port <your port> write_flash -z 0 <extracted file.bin>

I downloaded the firmware and I installed esptool. When I run esptool.py --ch...etc, nothing happens. I looked in the esptool directory, and the esptool.py seems to be an empty file. 02/19/2025 11:23 AM 0 esptool.py

I appreciate the help

That's what works for me. Why it doesn't work you for, I have no idea.

Because I'm a total novice and doing something wrong, lol. At least you taught me how to get the .bin file. So I am really close now....