I am trying to upgrade to the latest version of the espressif32 platform in ProjectIO. That would be v6.9.0, but any version after v5.2.0 and I get an error when I try to load my ESP32 web pages - HTTP error 404, page can’t be found.
What change was made after v5,2,0 that would prevent my SPIFFS stored web pages from loading and how can I fix it?
Thanks.
Oh, the rest of the ESP32 code is running fine, it is just the web pages that can’t be found.
That’s a broad range, the answer would be literally hundreds thousands of lines.
Espressif32 platform v5.2.0 used Arduino-ESP32 2.0.5, while the latest v6.9.0 uses 2.0.17.
3,118 files changed and over 428,000 lines changed, in fact.
It would be much easier if you we had the nonworking project, or a minimal example thereof, to check what’s going on. Of course, you can also do multiple things do debug the problem:
- reupload the filesystem that contains those HTML files
- check if you can mount the filesystem properly (check return codes)
- list and print all files of the filesystem (example)
- set log verbosity to maximum (docs)
- add prints in crucial points of the program or library that are searching for that file
- line-by-line debugging with a debugger (such as esp-prog)
For anyone who may come across the same or similar problem.
I found that the error I explained above only happens when trying to upgrade espressif32 while the MCU is connected to the project. After removing the ESP32 from the project, the update (to any version) worked OK.
After the espressif32 platform has been updated, OTA sketch updates work OK - even if the ESP32 is connected to the project. However, sketch updates via USB still don’t work if the ESP32 is connected to the project - not sure why this is when it worked fine back in espressif32 v3.5.0!
The developers obviously know that this is an issue because they give you this warning:
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
It’s a pity they haven’t fixed the issue.