The descriptions you have given leave too many
possibilities. Ethernet is very complex. There are a zillion
potential issues between the driver, the lwIP configuration, options, and
potential RTOS. Not much anyone can do for you without a lot more details
on what your setup is and some debugging data.
For example, do you have a console/uart setup to output
DEBUG strings? You really need that. Without that you are
blind. lwIP has a lot of stats and debug info that will help you figure
out what is going on inside lwIP. You will need to get fully aquainted
with the debug facilities of lwIP.
You mentioned before setting your pbuf size to 256
bytes. What is the size of your driver/DMA/MAC buffers? They should
probably be set the same to 256 bytes. Depending on how the driver is
writtem, it may or may not support mixed sizes and full fragmentation.
Just the driver alone is a really big Black Box full of potential
headaches.
Troubleshooting skills here are a really big plus.
Getting lwIP up and running is not trivial. You have to start at the
bottom and build your way up from there. I found it hard to get very
far on this kind of code until I developed enough understanding of what makes
Ethernet tic from top to bottom. There is a learning curve. You may
be on this longer than you expected. I sure have been.
Hope this helps.
Chris.