-
Notifications
You must be signed in to change notification settings - Fork 7.6k
ESP32 + LAN8720 random reboots (arp_table[i].q == NULL) #6182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
could you please try with 2.0.2. 1.0.6 is quite old now :) |
hm. maybe i misunderstand something: |
Check this out: https://github.com/espressif/arduino-esp32/pull/5540/files#diff-63fe35f38f92e121494311c5010a4244d71d596a084875160cce6cd7f540fef5R82-R113 |
ok, i tried to do so. on compilation, it now looks like (see below). don't know if this is correct. but what i know is, that my application does not work anymore at all. from the network, i can still ping the lan8720 and get an answer, but from the esp32, i just get the information that ethernet cannot connect. is there anything else i need to change? Processing esp32dev (platform: https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream; board: esp32dev; framework: arduino)
|
with the platformio.ini modified to [env:esp32dev] the ethernet (with lan8720) does not connect anymore. |
ETH CONNECTION: STABILITY: QUESTION: the second change was adding as far as i understand, the whole framework and libraries used are now quite dynamic, i.e. may change from compilation to compilation, whenever any changes are done to the framework and libraries in the git. |
you can not do that currently with PlatformIO as far as I am aware. They need to provide proper support for 2.0.x first. You might be able to go into your |
@bongoo1 That this changes are working you have to delete the hidden folder |
You can try my wrapper library WebServer_WT32_ETH01, which takes care of the breaking changes in core v2.0.0+.
Check Important Notes |
Hello, can you please retest this on v2.0.3-rc1? |
@VojtechBartoska , what do you mean with "this"? in the mean time, i played around with the platform and platform_packages settings in the platformio.ini file, still not knowing which of the settings i really should use. whatever i do there, i always get hundreds of warnings i ignored so far, as i do not know if they have any relevance. |
@bongoo1 Take a look here please: #6044 (comment) by this I meant if you can retest your sketch which ends with an issue on v2.0.3-rc1. Probably you can do so after you solve PlatformIO workaround. |
hi @VojtechBartoska unfolrtunately, it cannot build the project with those settings. it results in c:/users/tinu/.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: final link failed: bad value what's going wrong? |
@bongoo1 Delete the hidden folder
|
@Jason2866 , where can i find the .platformio folder? i just see a folder .pio |
@Jason2866 , when pointing to the zip you mentioned, there remains only this warning: "C:\Users\tinu.platformio\packages\framework-arduinoespressif32\tools\sdk\esp32\include\config" wurde nicht gefunden. so this looks much better now, thanx! so does this still need this setting below? platform_packages = or do i need to change something? and is this zip expected to be something persistent or will this be removed once a newer version is available? |
@bongoo1 Your setup is bad. Just what i wrote. NOTHING!!! in In a few month there is for sure a official release from Platformio. So no need for workarounds anymore. |
@Jason2866 , looks like i just was not patient enough. in the meantime it also compiles when i remove the |
@bongoo1 can I consider this as solved? PlatformIO is also now with official support of Arduino ESP32 core v2.0.0. https://piolabs.com/blog/news/platformio-oss-april-2022-updates.html |
using the workaround to get the 2.0.0. based core helped in getting rid of the frequent random reboots so far. as there is an official release now for 2.0.0 now, i reconfigured the first one of my designs to use this one, and also added some functionality which is expected to do an automatic reboot once a week. |
@bongoo1 Can I consider this covered? |
@VojtechBartoska |
we will investigate this, adding this to our issue Roadmap |
As of today, Platformio does not offers Arduino Core for ESP32 newer than 2.0.17, making it impossible to fix this issue or moving ahead. For information about other tools and alternatives, please check esp32.com, the discussion page on this repo or the third party tools section on official documentation. |
Board
ESP32 Dev Module + LAN8720
Device Description
ESP32 Dev Module with LAN8720 attached to RMII and TFT display attached to SPI.
Hardware Configuration
no
Version
v1.0.6
IDE Name
platformIO
Operating System
windows10
Flash frequency
default
PSRAM enabled
no
Upload speed
115200
Description
my application uses the LAN8720 to connect to other ethernet devices. WiFi is not used.
my application is a TCP client to 5 devices. the 5 devices are talkers-only, i.e. there is only incoming traffic from them.
in addition to this, i run NTP using 1 UDP connection.
there is a second UDP connection i use for communication. on this UDP, i have outgoing packets, which are generated from the data i get over TCP. this UDP connection also has incoming traffic (very rarely) as i also use it to apply settings to my application.
my application also uses ping to check if all devices expected are available in the subnet.
so my total of ethernet connections is: 5x TCP, 2x UDP, 1x ICMP
i know that there is a limitation of having not more than 8 TCP connections when running ESP32+LAN8720.
what is the limitation when using TCP + UDP + ICMP? is it a total of 8 ethernet connections?
when running in the above confituration, i get a SW_CPU_RESET (see below) every few hours.
this looks to me like being some kind of resource issue, but i have no idea how to solve.
all my code is within the setup and the loop function. so i would assume that only core1 should be used. nevertheless, it looks like the reset is initiated from core0. this looks quite strange to me.
btw:
i first had a constellation with 5x TCP, 3x UDP, 1x ICMP, i.e. a total of 9 connections. the result was that i had the same crash (exactly the same crash message) already after about 10 minutes.
so if the limit is a total of 8 ethernet connections (i dont know if this is true), then probably this was the first time when all 9 connections were active at the same time.
as my actual setup is never able to use more than 8 ethernet connections (as far as i understand), i would not assume that it is ever possible to have more than 8 active connections. but the error message is the same
Sketch
Debug Message
Other Steps to Reproduce
with a maximum total of 8 ethernet connections, the crash occurs about 1-2 times a day, always immediately after calling the ping function (as this is probably the 8th ethernet connection. at least i assume that ping always opens and closes the connection, while the TCP and UDP connections are once opened and are then kept open until the crash happens). so there are always 7 connections with the ping adding/removing the 8th.
when having a maximum total of 9 ethernet connections. the crash may happen while program execution is anywhere in my code. this then happens about 6 times per hour.
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: