emac_dm9051: no mem for receive buffer

kesha.modhia
Posts: 44
Joined: Fri May 13, 2022 12:36 pm

emac_dm9051: no mem for receive buffer

Postby kesha.modhia » Tue Dec 05, 2023 9:30 am

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

ESP_ondrej
Posts: 210
Joined: Fri May 07, 2021 10:35 am

Re: emac_dm9051: no mem for receive buffer

Postby ESP_ondrej » Mon Dec 11, 2023 7:38 am

What ESP-IDF version do you use?

kesha.modhia
Posts: 44
Joined: Fri May 13, 2022 12:36 pm

Re: emac_dm9051: no mem for receive buffer

Postby kesha.modhia » Wed Dec 13, 2023 7:26 am

esp-idf 4.2 I am using.

ESP_ondrej
Posts: 210
Joined: Fri May 07, 2021 10:35 am

Re: emac_dm9051: no mem for receive buffer

Postby ESP_ondrej » Wed Dec 13, 2023 11:08 am

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.

Who is online

Users browsing this forum: Google [Bot] and 116 guests