STM32F4 Ethernet interrupt not triggering for up to 1500 ms after random period of time.
Hey,
After debugging for a long time I still haven't been able to find the cause of ethernet interrupt not triggering for up to 1500 ms.
What I'm doing is opening a socket on my STM32F4 + LAN8742A. I am running a script that sends an "heartbeat" every 50 ms from my machine, however after a random period of time (20 minutes to sometimes 2 hours) a few heartbeats fails to receive.
I've noticed by resetting a timer in HAL_ETH_IRQHandler that the IRQhandler doesn't get called during the time that the heartbeats fail to receive.
The error callback is not being called either.
What I've tried to fix this issue:
- Clean project with only TCP/IP + RTOS + CMSIS1
- Fixed the Physical configuration
- Checking for errors/dma errors.
- Increasing/decreasing NVIC priority
- Sending heartbeats from a different machine / microcontroller
- Disabling MMC interrupts
- Updating CubeMX + firmware
The issues occur on a Nucleo f429ZI as well as our custom board so I assume it's not something hardware related.
Any help/tips that would help finding the cause of this problem would be appreciated.
