-
I'm currently trying to get 10BASE-T1S connectivity on an ESP32 based platform. I've tried both ESP32C3 and ESP32S3, and in both cases a minimal setup behaves weirdly. First of there only seems to be around a 1 in 10 chance that zephyr actually "boots" correctly. In most cases it just falls back into a generic exception handler (at least on esp32s3, didn't get debugging working on esp32c3). In cases where it boots network connectivity is available for a few seconds (responding to pings etc), followed by a fatal exception (on esp32s3) or a load access fault (esp32c3). Both seem to happen inside of the lan865x_interrupt thread. Building the same project for a rp2040 instead results in a perfectly stable environment, running for hours without any issues. I've added some debug logging around the code of the lan865x and oa_tc6 driver and found out that in some cases the pointer to the tc6 object suddenly becomes just "4" instead of a normal memory location. The code then tries to use it and that results in the crash. Unfortunately that doesn't seem to be the only place where something like this happens. There is no custom code running, just spi entries in dts overlay and minimal prj.conf to enable networking and the shell. Does anybody have some idea on what might be happening here? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
Hi @lukas2511, can you paste your application, overlay & prj.conf as code? Btw, which zephyr version are you using? I have been working with lan856x with zephyr v3.6.0 & v3.7.0 and I didn't have any problems at all. |
Beta Was this translation helpful? Give feedback.
-
It seems that increasing CONFIG_ETH_LAN865X_IRQ_THREAD_STACK_SIZE fixes the issue... that took me way to long to find... |
Beta Was this translation helpful? Give feedback.
It seems that increasing CONFIG_ETH_LAN865X_IRQ_THREAD_STACK_SIZE fixes the issue... that took me way to long to find...