Hi,
I've got a custom board with an ENC424J600 connected to an nRF52840. I started with nRF Connect v2.0.0 but I've since upgraded to the latest (v2.3.0-rc1) to see if it fixed my problem - which it didn't.
I made a custom zephyr "board" based on the nRF52840 devkit files and modified it as needed to add a the enc424j600 to SPI0. I got the http_client demo to connect to a simple unsecure server running on my PC (the TCPIP_Demo.jar app from Microchip) - so the hardware and the basics of adding the mac/phy to my project seems to be good.
My next step is to get it working with something out in the real world - like doing an http get from google or bouncing something off the tcpbin.com echo server. The problem is that when I try to do a DNS lookup with getaddrinfo() I get a "Could not allocate rx buffer" error. I've tried the http_get and the http_client examples with the same result. Fulll RTT output below:
00> [00:00:00.314,422] <inf> ethdrv: Link down 00> [00:00:00.314,483] <inf> ethdrv: ENC424J600 Initialized 00> [00:00:00.314,758] <inf> ethdrv: Not suspended 00> *** Booting Zephyr OS build v3.2.99-ncs2-rc1 *** 00> [00:00:00.315,032] <inf> net_config: Initializing network 00> [00:00:00.315,063] <inf> net_config: Waiting interface 1 (0x20001338) to be up... 00> [00:00:01.838,989] <inf> ethdrv: Link up 00> [00:00:01.839,233] <inf> ethdrv: 100Mbps 00> [00:00:01.839,233] <inf> ethdrv: full duplex 00> [00:00:01.840,179] <inf> net_config: Interface 1 (0x20001338) coming up 00> [00:00:01.846,527] <inf> net_config: IPv4 address: 192.168.137.2 00> [00:00:07.770,538] <err> ethdrv: Could not allocate rx buffer
It seems like the error is coming from a memory allocation attempt in mem_slab.c.
I've been trying to increase all of the memory sizes I can but either I haven't found the right one to increase, or maybe I'm just not setting them high enough. Here's what I've added so far - with no change in results: