Page 1 of 1

emac_dm9051: no mem for receive buffer

Posted: Tue Dec 05, 2023 9:30 am
by kesha.modhia
while using ethernet in esp32 wrover I module
in between in the running network suddenly i get the below given error

emac_dm9051: no mem for receive buffer

what does that mean? how do i handle the scenario ?
have set the below macro range
ETH_MAX_PAYLOAD_LEN 1500

and the rx tx buffer sizes are as given below

CONFIG_ETH_DMA_RX_BUFFER_NUM=5
CONFIG_ETH_DMA_TX_BUFFER_NUM=5



kindly let me know the route cause that can generate the error

Re: emac_dm9051: no mem for receive buffer

Posted: Mon Dec 11, 2023 7:38 am
by ESP_ondrej
What ESP-IDF version do you use?

Re: emac_dm9051: no mem for receive buffer

Posted: Wed Dec 13, 2023 7:26 am
by kesha.modhia
esp-idf 4.2 I am using.

Re: emac_dm9051: no mem for receive buffer

Posted: Wed Dec 13, 2023 11:08 am
by ESP_ondrej
This issue happens when your application consumes a lot of memory and if Ethernet messages are received with short interval. The size of packet doesn't matter since the driver always allocates 1500B. The driver was optimized in ESP-IDF v5.0 and above. I recently backported the optimization to v4.3 and v4.4 (see https://github.com/espressif/esp-idf/co ... cf549f76be). It will be present in next official release.