Dear all,

We are integrating an application using LwIP 1.41 on an LPC1788 microcontroller 
and LAN8720 PHY under FreeRTos (LPCOpeen framework) and have, well, 
difficulties. 

Narrowing the problem we ended up with a very basic test program. We started up 
with the TCPECHO demo, and modified it to simply send a continuous 
unidirectionnal flow on the socket as fast as possible (code here under). The 
code is working well, but after some hundred of frames transmitted the stack 
stops on an “unsent_oversize mismatch” assertion failed. Here under some 
traces. 

We tried to disable the check (TCP_OVERSIZED=0), the assert doesn’t fails but 
the stack hangs. Looking at the Ethernet trafic it seems that the same frame is 
resent several times when the bug appears. It seems that this problem was 
already experienced by other users but we were not able to find out a 
workaround or a clear explanation of the problem, which seems strange based on 
the simple configuration. 

Any HEEEEELP ? 

Thanks,
Robert


Test code : 

           while (1)
            {
                sprintf((char *)buffer, (const char *)"test Frame %ld\r\0", i);
                err = netconn_write(newconn, (void *) buffer, strlen((const 
char *)buffer), NETCONN_COPY);
                i++;
                if (err != ERR_OK)
                    printf("tcpecho: netconn_write: error \"%s\"\n", 
lwip_strerr(err));

            }

Some traces : 
...
pbuf_header: old 0x2000004c new 0x20000038 (20)
pbuf_header: old 0x20000038 new 0x2000002a (14)
pbuf_free(0x20000018)
pbuf_free: 0x20000018 has ref 1, ending here.
pbuf_alloc(length=1536)
pbuf_alloc(length=1536)
pbuf_alloc(length=1536)
pbuf_alloc(length=1536)
unsent_oversize mismatch (pcb vs. last_unsent):445 in file 
../LwIP/core/tcp_out.c


_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to